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

Haluatko lisää harjoitusta?, Opi SQL ja Python käyttämällä reaalimaailman tietoja meidän ilmainen opetusohjelmia.

Suositeltava artikkelit

  • Miten Hallita Anti Yhdistää ja Soveltaa Niitä Liiketoiminnan Ongelmia
  • Ajattelun SQL vs Ajattelua Python
  • DATE_TRUNC: SQL-Timestamp-Toiminnolla Voit Luottaa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *