A Futásösszegek kiszámítása SQL-Wagon segítségével

A Futásösszegek kiszámítása az SQL október 20, 2015 / Andy Granowitz

# sql

hány felhasználó csatlakozott az elmúlt 5 hónapban? Mi volt a teljes értékesítés a Q2-ben? Mennyi bevétel származott a márciusi regisztrációs kohorszból?

bár ezekre a kérdésekre egyetlen számmal lehet válaszolni, hasznos lehet egy futó teljes idő: hány egyedi felhasználó csatlakozott, vagy mennyi halmozott bevétel érkezett nap mint nap egy bizonyos időszak alatt.

általában az adatokat fokozatosan tárolják. Például itt van egy napi értékesítési táblázat:

Date Sales
10/1/2015 5
10/2/2015 3
10/3/2015 7
10/4/2015 8
10/5/2015 2
10/6/2015 3
10/7/2015 6

How do we generate the following table of cumulative sales over time? In SQL, there are two typical approaches: a self join or a window function.

Date Running Total of Sales
10/1/2015 5
10/2/2015 8
10/3/2015 15
10/4/2015 23
10/5/2015 25
10/6/2015 28
10/7/2015 34

A self join is a query that compares a table to itself. Ebben az esetben összehasonlítjuk az egyes dátumokat minden olyan dátummal, amely kisebb vagy egyenlő, hogy kiszámítsuk a futó teljes értéket. Konkrétan a sales összegét vesszük a második táblázatban minden sorban, amelynek dátuma kisebb vagy egyenlő az első táblázatból származó dátummal. Ez Postgres / Redshift szintaxis, de más SQL nyelvjárások nagyon hasonlóak.

Ez nem egy rossz megközelítés; ez egy szép kirakat, hogyan bővíthető SQL lehet használni csak selectfromjoin, és group by nyilatkozatok.

de ez egy csomó kódot egy egyszerű feladat. Próbáljunk ki egy ablak funkciót. Úgy tervezték, hogy kiszámítsa a metrikát egy sor sor felett. Esetünkben minden olyan sort szeretnénk összefoglalni, ahol a dátum kisebb vagy egyenlő az aktuális sor dátumával.

az ablak funkció szűrheti és rendezheti a sorkészletet a funkció futtatásához. Itt aorder by date rows unbounded preceding az összegfüggvényt csaksales – re korlátozza az aktuális sor időpontja előtt. Az ablakfunkciók hihetetlenül hasznosak az időalapú analitikai lekérdezésekhez; ha többet szeretne megtudni, a Postgres docs remek hely a kezdéshez.

a diagram létrehozásának utolsó lépése, amely diadalmasan megosztja csapattársaival, könnyen megvalósítható a Wagon segítségével. Ablak funkciók a győzelem!

A Wagon egy modern SQL szerkesztő az elemzők és mérnökök számára: lekérdezések írása, adatok megjelenítése, diagramok megosztása a csapattal. Regisztráció ingyen:

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük