aikaleimat ovat liiketoiminnan analyysin kannalta ratkaisevia hyvin yksinkertaisesta syystä: ne kertovat, milloin asioita tapahtuu. Kuvittele yrittää selvittää trendejä tietosi, kuten kuukausittainen verkkoliikenne, tai neljännesvuosittaiset ansiot, tai päivittäinen tilausmäärä tietämättä, milloin tapahtumia tapahtui. Se olisi painajainen.
PostgreSQL tarjoaa erilaisia päivämääräfunktioita aikaleimojen manipulointiin. Erottaa hyödyllisiä päässä hämärtää, jaamme kuinka-tos useimmin käytetään Postgres päivämäärä toiminnot ja liiketoiminta-skenaarioita, joissa ne ovat käteviä.,
yleisimmin käytetään Postgres päivämäärä toiminnot ja liiketoiminta-skenaarioita, joissa ne ovat käteviä:
- Pyöristäminen aikaleimat kanssa DATE_TRUNC
- Löytää tapahtumia suhteessa hetkellä, NYT() ja CURRENT_DATE
- Eristäminen tunti-of-day-ja päivä-of-viikon-UUTE
- Lasketaan kulunut aika IÄN myötä
– Olemme tehneet tiedot kunkin esimerkin saatavilla Tilassa Julkinen Varasto. Kokeile kunkin päivämäärän funktio tilassa, kun työskentelet läpi nämä esimerkit. Tilaa tili Mode studiossa ja avaa Uusi raportti alkaa.,
Pyöristäminen aikaleimat kanssa DATE_TRUNC
DATE_TRUNC
funktio pyöristää aikaleiman arvo tietyn ajan, jonka avulla voit laskea tapahtumia. Voit pyöristää aikaleima seuraavat yksiköt aikaa:
- s
- millisekunnin
- toinen
- minuutin
- tuntia
- päivä
- viikko
- kuussa
- neljännes
- vuoden
- vuosikymmenen
- luvun
- vuosituhannen
DATE_TRUNC
syntaksi näyttää tältä: DATE_TRUNC('interval',timestamp)
.,
esimerkiksi SELECT DATE_TRUNC('day','2015-04-12 14:44:18')
palaa tulos 2015-04-12 00:00:00
.
tarkempi selitys DATE_TRUNC
(ja tulostettava viite voit pitää työpöydän ääressä!), tsekkaa tämä viesti.
miten verkkoliikenne on muuttunut ajan myötä?
Kokeilla DATE_TRUNC
itse kyselemällä taulukko modeanalytics.web_events, joka sisältää näytteen tiedot verkkosivuilla käynnit, mukaan lukien occurred_at
sarake. Vierailukuukauden voi eristää DATE_TRUNC
.,
palata määrä web-vierailut kuukausittain kanava, lisää channel
sarake ja a COUNT
ja SELECT
lausunto, sitten group by month
ja channel
. (Koska kuukauden ja kanava ovat kaksi ensimmäistä arvot SELECT
tiliotteen, voit GROUP BY 1,2
), kuten tämä:
Lopuksi, käytä ORDER BY 1,2
järjestää tulokset aikajärjestyksessä (kuukausittain) ja aakkosjärjestyksessä (kanavan).,
tilassa voit rakentaa viivakaavion kyselyn tulosten visualisoimiseksi.
– Tilassa Analytics
Löytää tapahtumia suhteessa hetkellä, NYT() ja CURRENT_DATE
NOW()
date-funktio palauttaa nykyisen aikaleima UTC (jos aikavyöhyke on määrittelemätön). Voit vähentää välein alkaen NOW()
vetää tapahtumia, jotka tapahtui viimeisen tunnin, viimeinen päivä, viimeinen viikko, jne.
Käynnissä SELECT NOW()
klo 9:00 suomen aikaa 11. lokakuuta, 2016 johtaisi 2016-10-11 09:00:00
.,
CURRENT_DATE
toiminto palauttaa nykyisen päivämäärän, ei koko aikaleima. Running SELECT CURRENT_DATE
klo 9.00 UTC 11.10.2016 palaisi 2016-10-11
.
Mitä tilauksia tehtiin viimeisen 12 tunnin aikana?
taulukon demo.tilaukset sisältää näytteen kirjaa kaikki tilaukset, mukaan lukien occurred_at
sarake aikaleima UTC.,
löytää tilaukset viimeisten 12 tuntia, käytä WHERE
lauseke palauttaa vain tilauksia, jotka on saatettu jälkeen tai tasan (>=
) nykyinen aikaleima (NOW()
) miinus välein 12 tuntia.,
SELECT * FROM demo.orders WHERE occurred_at >= NOW() - interval '12 hour'
– Tilassa Analytics
lisäksi hour
, voit käyttää mitä tahansa seuraavin väliajoin:
- menoa
- millisekuntia
- toinen
- minuutin
- tuntia
- päivä
- viikko
- kuussa
- vuoden
- vuosikymmenen
- luvun
- vuosituhannen
Voit myös yhdistää eri väliajoin sama ilme kuin tämä:interval '4 hours 3 minutes'
Mitä tilauksia tehtiin eilen?,
Voit käyttää saman pöydän löytää eilisen tilauksia yhdistämällä DATE_TRUNC
ja CURRENT_DATE
toiminnot.
Aloita käyttämällä DATE_TRUNC
funktio pyöristää teidän occurred_at
arvoja päivällä (koska haluamme tietää, jos jotain tapahtui eilen). Sitten käyttää WHERE
lauseke palauttaa vain arvot, jossa occurred_at
päivä on yhtä suuri kuin nykyinen päivämäärä (käyttäen CURRENT_DATE
toiminto) miinus välein yhden päivän.,
SELECT * FROM demo.orders WHERE DATE_TRUNC('day',occurred_at) = CURRENT_DATE - interval '1 day'
– Tilassa Analytics
Eristää tunti-of-day-ja päivä-of-viikon-UUTE
EXTRACT
päivämäärä-toiminnon avulla voit eristää osaaluetta, kuten vuosi tai tunnin päässä aikaleimat.
tässä syntaksi: EXTRACT(subfield FROM timestamp)
. Käynnissä EXTRACT(month FROM '2015-02-12')
palaa tulos 2
.
– Pitää muistaa, että vaikka esimerkiksi alle keskitytään osakentän tunnin (tunti-of-day), sinulla on monia muita erotinmerkkejä käytettävissänne vaihtelevat millennium
ja microsecond
., Voit katsoa kattavan listan saatavilla olevista alakentistä täältä.
kuinka monta tilausta tehdään päivän jokaisena tuntina?
yritys käynnissä täyttäminen keskus kannattaa henkilökunta lisää työntekijöitä, kun suurin osa tilauksista tulee. Selvittää, milloin tilaukset tehdään koko päivän, voit käyttää EXTRACT
toiminto ja hour
osakentän eristää tunti-of-päivä (0-23), jossa tilaus on tapahtunut.,
SELECT EXTRACT(hour from occurred_at) AS hour FROM demo.orders
Käyttö COUNT
toiminto tally tilauksia, ja sitten GROUP BY
tunti. (Koska tunti on ensimmäinen arvo SELECT
tiliotteen, voit GROUP BY 1
).
SELECT EXTRACT(hour from occurred_at) AS hour, COUNT(*) AS orders FROM demo.orders GROUP BY 1
Lopuksi, voit järjestää tulokset peräkkäin, käytä ORDER BY 1
.
SELECT EXTRACT(hour from occurred_at) AS hour, COUNT(*) AS orders FROM demo.orders GROUP BY 1 ORDER BY 1
Ja tässä ovat tulokset! Näyttää siltä, että se voisi auttaa saada lisää työntekijöitä kellon aikaisin aamulla ja noin lounasaikaan.,
Mode Analytics
What ’ s the average weekday order volume?
määrittää keskimääräinen määrä tilauksia, että se tapahtui arkipäivänä, käytä EXTRACT
ja dow
osakentän eristää päivä-of-viikon (alkaen 0-6, missä 0 on sunnuntai), jossa tilaus on tapahtunut.
SELECT EXTRACT(dow from occurred_at) AS dow FROM demo.orders
Seuraava, pyöreä, jotta aikaleimat päivältä DATE_TRUNC
., Kun COUNT
tilausten ryhmitelty dow
ja day
palaa määrä tilauksia joka päivä yhdessä vastaavat päivä-of-viikon.
SELECT EXTRACT(dow from occurred_at) AS dow, DATE_TRUNC('day',occurred_at) AS day, COUNT(id) AS orders FROM demo.orders GROUP BY 1,2
löytää keskimäärin arkipäivänä, jotta äänenvoimakkuutta, käytä edellisen kyselyn kuin alikysely (aliasing kuten a
). Ota keskimääräinen tilauksia (käyttäen AVG()
funktio), ja sitten käyttää WHERE
lauseke suodattaa pois lauantaisin ja sunnuntaisin.
Big Number-listat ovat hyviä aggregoitujen mittareiden näyttämiseen., Pitääksesi silmällä tilausmäärää, kerää tällaiset mittarit yhteen kojelautaan.
– Tilassa Analytics
Lasketaan kulunut aika IÄN
AGE
date-funktio laskee, kuinka kauan sitten sattui. Syntaksi on melko yksinkertainen: levitä AGE()
yksi aikaleima, ja kyselyn palaa aikaa sillä, että tapahtuma järjestettiin. Käynnissä SELECT AGE( '2010-01-01' )
tammikuun 1., 2011 palaisi tulos 1 years 0 months 0 days
.,
AGE()
voit myös määrittää, kuinka paljon aikaa kului kaksi tapahtumaa. Sen sijaan, että laitat yhden aikaleiman sulkeiden sisään, aseta molemmat aikaleimat (alkaen viimeisimmästä aikaleimasta) ja erottele ne pilkulla. Käynnissä SELECT AGE( '2012-12-01',
’2010-01-01’)
palaa 2 years 11 months 0 days
.
Huomaa, että tämä sovellus AGE
toiminto vastaa vähentämällä aikaleimat: SELECT '2012-12-01' - '2010-01-01'
.
kuinka vanha on asiakastili?,
Oletetaan, että myyntitiimisi haluaa personoida terveisiä sen perusteella, kuinka kauan asiakas on käyttänyt tuotettasi. Tilien luomisesta on kulunut paljon aikaa AGE
– funktion avulla.
taulukko modeanalytics.customer_accounts sisältää kirjaa otos asiakastilit. Valitse sarake tilin nimet (name
) ja soveltaa AGE()
toiminto-sarakkeen kellonajat näytetään, kun jokainen tili on luotu (created
).,
Mode Analytics
kuinka kauan käyttäjiltä kestää suorittaa profiilinsa kuukausittain keskimäärin?
taulukko modeanalytics.profilecreationevents sisältää näytteen tietoja käyttäjistä, jotka loivat profiilin, mukaan lukien alku-ja loppuvaiheen aikaleimat.
etsi keskimääräinen aika suorittaa profiili joka kuukausi, aloita etsimällä aika, joka kesti kunkin käyttäjän suorittaa profiilin sekä kuukausi, jossa profiilin luominen aloitettiin. Ensimmäinen kierros started_at
aikaleima kuukausittain käyttäen DATE_TRUNC
toiminto., Seuraava, löytää aikaa kulunut started_at
ja ended_at
kunkin profiilin käyttää AGE
toiminto.
Löytää keskiarvo kunkin kuukauden soveltamalla AVG
toiminto kulunut aika arvo (AGE
statement) ja ryhmittely kuussa.
palaa arvoja johdonmukaisesti yksikkö kartoittaa, soveltaa EXTRACT
toiminto ja aikakausi osakentän arvojen palata tuloksia kuin laskea sekuntia.
Mode Analytics
Suositeltava artikkelit
- Miten Hallita Anti Yhdistää ja Soveltaa Niitä Liiketoiminnan Ongelmia
- Ajattelun SQL vs Ajattelua Python
- DATE_TRUNC: SQL-Timestamp-Toiminnolla Voit Luottaa