Streamlit: Jak edytować dane?

Problem:

Porównujesz dwa zbiory danych: przed i po migracji. Wkraczasz w fazę budowania zaufania i wiarygodności. Okazało się, że nie wszystkie dane są jednakowe. Niektóre wymagają dodatkowej analizy i poprawek, a niektóre wyglądają lepiej w zmigrowanym datasecie. Na tyle lepiej, że trzeba je przedstawić biznesowi i pokazać na przykładach, że po migracji wyniki są lepsze.
W jaki sposób opisać te dane?

Rozwiązanie:

Jednym z pomysłów na rozwiązanie może być Streamlit. Przy jego pomocy dodasz komentarze, które potem będą służyły jako:
1. Punkt do analizy i późniejszego ponownego sprawdzenia
2. Przedstawisz je biznesowi jako dowód na poprawę jakości danych.

Read More

SQL IN – dla dociekliwych

next level sql in

Wyrażenie IN w SQL’u pozwala uprościć przekazywanie do zapytania listy warunków.

Wyobraź sobie, że tabele z markami samochodów. Do głowy powinny Ci przyjść nazwy najbardziej popularnych producentów: Volvo, Tesla, Audi, Volkswagen, Ford, Toyota, Honda itd. Chciałbyś ograniczyć listę wyników tylko do trzech najbardziej popularnych w Polsce marek: Toyota, Volkswagen i Audi.

Read More

Dobre praktyki SQL: select * w produkcyjnym kodzie?

Jakie są dobre praktyki SQL? Co jest ważne, gdy zaczynasz pisać kod SQL?

Wyobraź sobie swoje pierwsze zapytanie zapytanie SQL albo pierwszy kod który ujrzy produkcyjne światło:

  • Jako świeżo mianowany data engineer: Na potrzeby projektu data.
  • Na potrzeby testowania i sprawdzania jakości danych.
  • Na potrzeby analizy i przygotowywania wymagań dla nowych zmian.
  • Niektóre dobre praktyki, na które warto zwrócić uwagę na początku. Poznanie ich pozwoli Ci pisać lepszy i bardziej odporny na zmiany kod. Będzie on też lepiej przystosowany do późniejszych zmian albo udostępnienia członkom zespołu.

  • SELECT * – czy to na pewno dobry pomysł
  • Aliasy – jak, kiedy dlaczego
  • Read More

    How to remove duplicates using window function?

    Removing duplicates, is a challenging task.

    Sometimes you need something special. Using DISTINCT/ GROUP BY / UNION is not enough.

    You need to remove duplicates is some other way: using window function:

    You can do it using following query:

    WITH loc_dim AS (
    SELECT 
      ROW_NUMBER() OVER (PARTITION BY u.Location ORDER BY u.Id) AS RowNumber, u.Location
    FROM dbo.Users u
    )
    SELECT loc.Location FROM loc_dim loc
    WHERE loc.RowNumber = 1

    If you would like to see how input data looks like. What is the expected result. When this approach might not be a good idea. Please continue reading.

    Read More