Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Power Pivoti kuupäevatabelid on olulised andmete otsimisel ja arvutuste tegemisel aja lõikes. See artikkel sisaldab kuupäevatabelite põhjalikku seletust ja kirjeldab nende loomist Power Pivotis. Selles spikriteemas kirjeldatakse järgmist:

  • miks on kuupäevatabelid olulised andmete otsimisel ja arvutuste tegemisel kuupäeva ja kellaaja järgi;

  • Power Pivoti abil andmemudelisse kuupäevatabeli lisamine;

  • andmetabelis uute kuupäevaveergude (nt Aasta, Kuu ja Periood) loomine;

  • kuupäevatabelite ja faktitabelite vaheliste seoste loomine;

  • ajaga töötamine.

See artikkel on mõeldud Power Pivoti uutele kasutajatele. Kuid kasutaja peaks juba oskama andmeid importida, luua seoseid ning arvutuslikke veerge ja arvutuslikke mõõte.

Selles artiklis ei kirjeldata, kuidas kasutada DAX-i ajateabefunktsioone mõõduvalemites. Lisateavet DAX-i ajateabefunktsioonide abil mõõtude loomise kohta leiate teemast Ajateave Exceli lisandmoodulis Power Pivot.

Märkus.: Power Pivotis on nimetused „mõõt“ ja „arvutuslik väli“ sünonüümid. Kasutame selles artiklis läbivalt nimetust „mõõt“. Lisateavet leiate teemast Mõõdud Power Pivotis.

Sisukord

Kuupäevatabelite ülevaade

Andmete analüüsimine on peaaegu alati seotud andmete otsimise ja võrdlemisega kuupäevade ja kellaaegade lõikes. Näiteks soovite arvutada viimase finantskvartali müügisumma ja seda võrrelda muude kvartalite summadega või arvutada konto kuu lõpu saldo. Mõlemal juhul kasutate kuupäevi, et rühmitada ja koondada määratud ajavahemiku müügitehingud või saldod.

Power View’ aruanne

PivotTable-liigendtabel: kogumüük finantskvartalite lõikes

Kuupäevatabel võib sisaldada mitmel eri kujul kuupäevi ja kellaaegu. Näiteks sisaldavad kuupäevatabelid sageli veerge, nagu Finantsaasta, Kuu, Kvartal või Periood, mida saate PivotTable-liigendtabeli või Power View’ aruannete andmete tükeldamisel ja filtreerimisel väljaloendist väljadena valida.

Power View’ väljaloend

Power View’ väljaloend

Et kuupäevaveerud, nagu Aasta, Kuu ja Kvartal, kaasaksid kõik vastava vahemiku kuupäevad peab kuupäevatabelis vähemalt üks veerg sisaldama järjestikusi kuupäevi. See tähendab kuupäevatabeli selles veerus peab iga aasta iga päeva kohta olema üks rida.

Näiteks kui sirvimiseks soovitud andmetel on kuupäevad 1. veebruarist 2010 kuni 30. novembrini 2012 ja te teatate kalendriaastast, siis soovite kuupäevatabelit, mille kuupäevavahemik on vähemalt 1. jaanuar 2010 kuni 31. detsember 2012. Iga aasta peab teie kuupäevatabelis sisaldama iga aasta kõiki päevi. Kui värskendate andmeid regulaarselt uuemate andmetega, võiksite lõppkuupäeva käivitada aasta või kahe võrra, nii et te ei pea kuupäevatabelit aja möödudes värskendama.

Järjestikuste kuupäevadega kuupäevatabel

Järjestikuste kuupäevadega kuupäevatabel

Kui koostate aruande finantsaasta kohta, saate luua kuupäevatabeli, mis sisaldab iga finantsaasta jaoks külgnevaid kuupäevi. Näiteks kui teie finantsaasta algab 1. märtsil ja teil on andmeid finantsaastate 2010 kohta praeguse kuupäeva jooksul (nt 2013. aasta finantsaastal), saate luua kuupäevatabeli, mis algab 1.03.2009 ja sisaldab vähemalt iga finantsaasta iga päev kuni 2013. aasta finantsaasta viimase kuupäevani.

Kui koostate nii kalendri- kui ka finantsaasta aruandeid, siis pole vaja luua eraldi kuupäevatabeleid. Üks kuupäevatabel saab sisaldada kalendriaasta, finantsaasta ja isegi kolmeteistkümne neljanädalase perioodiga kalendri veerge. Oluline on, et kuupäevatabel sisaldaks kõikide kaasatud aastate järjestikusi kuupäevi.

Kuupäevatabeli lisamine andmemudelisse

Kuupäevatabeli andmemudelisse lisamiseks on mitu võimalust:

  • relatsioonandmebaasist või muust andmeallikast importimine;

  • kuupäevatabeli Excelis loomine ja Power Pivoti uude tabelisse kopeermine või lingi lisamine;

  • Importimine rakenduse Microsoft Azure turuplatsilt.

Käsitleme iga võimalust lähemalt.

Relatsioonandmebaasist importimine

Kui impordite osa andmetest või kõik andmed andmelaost või muud tüüpi relatsioonandmebaasist, siis tõenäoliselt on kuupäevatabelid ja nende seosed muude imporditavate andmetega juba olemas. Kuupäevad ja nende vorming vastab tõenäoliselt faktiandmete kuupäevadele ja kuupäevad algavad kauges minevikus ja lõpevad kauges tulevikus. Imporditav kuupäevatabel võib olla väga mahukas ja sisaldada pikemat kuupäevavahemiku kui see, mida vajate oma andmemudelis. Power Pivoti tabeli importimisviisardi täpsema filtreerimise suvandite abil saate valida ainult need kuupäevad ja veerud, mida teil tegelikult vaja on. See võib märgatavalt vähendada töövihiku mahtu ja suurendada jõudlust.

Tabeli importimisviisard

Dialoogiboks Tabeli importimisviisard

Enamikul juhtudest pole vaja luua lisaveerge, nagu Finantsaasta, Nädal, Kuu nimetus jne, kuna need on imporditud tabelis juba olemas. Mõnel juhul on siiski pärast kuupäevatabeli andmemudelisse importimist vaja luua täiendavaid kuupäevaveerge, sõltuvalt koostatavatest aruannetest. Õnneks on seda DAX-i abil lihtne teha. Kuupäevatabeli väljade loomist kirjeldame hiljem. Iga keskkond on erinev. Kui te pole kindel, kas andmeallikatel on seotud kuupäeva- või kalendritabel, siis pöörduge andmebaasi administraatori poole.

Kuupäevatabeli loomine Excelis

Saate kuupäevatabeli luua Excelis ja kopeerida selle seejärel andmemudeli uude tabelisse. Seda on väga lihtne teha ja see pakub suurt paindlikkust.

Kui loote kuupäevatabeli Excel, alustate ühest veerust, mille kuupäevade vahemik on külgnev. Seejärel saate Excel-töölehel luua täiendavaid veerge (nt Aasta, Kvartal, Kuu, Finantsaasta, Periood jne) Excel valemite abil või pärast tabeli kopeerimist andmemudelisse saate need luua arvutatud veergudena. Power Pivotis täiendavate kuupäevaveergude loomist kirjeldatakse selle artikli jaotises Uute kuupäevaveergude lisamine kuupäevatabelisse.

Õpetus: kuupäevatabeli loomine Excelis ja selle kopeerimine andmemudelisse

  1. Tippige Exceli tühja töölehe lahtrisse A1 kuupäevavahemikku märkiv veerupäise nimi. Tavaliselt on see näiteks Kuupäev, KuupäevKellaaeg või KuupäevVõti.

  2. Tippige lahtrisse A2 alguskuupäev. Näiteks 1.1.2010.

  3. Klõpsake täitepidet ja lohistage seda reanumbrini, mis sisaldab lõppkuupäeva. Näiteks 31.12.2016.

    Kuupäevaveerg Excelis

  4. Valige veeru Kuupäev kõik read (sh lahtris A1 olev päisenimi).

  5. Klõpsake jaotises Laadid nuppu Vorminda tabelina ja valige seejärel laad.

  6. Klõpsake dialoogiboksis Tabelina vormindamine nuppu OK.

    Kuupäevaveerg Power Pivotis

  7. Kopeerige kõik read, sh päis.

  8. Klõpsake Power Pivoti menüüs Avaleht nuppu Kleebi

  9. Tippige dialoogiboksi Kleepimise eelvaade väljale Tabeli nimi näiteks nimi Kuupäev või Kalender. Jätke ruut Kasuta esimest rida veerupäisena märgituks ja seejärel klõpsake nuppu OK.

    Kleepimise eelvaade

    Power Pivotis luuakse järgmine uus kuupäevatabel (selles näites on nimeks Kalender):

    Kuupäevatabel Power Pivotis

    Märkus.: Saate luua ka lingitud tabeli, kasutades nuppu Lisa andmemudelisse. Kuid see muudab töövihiku tarbetult mahukaks, kuna töövihikus on siis kuupäevatabeli kaks versiooni: üks Excelis, teine Power Pivotis.

Märkus.: Nimi date (kuupäev) on Power Pivoti märksõna. Kui panete Power Pivotis loodud tabeli nimeks Date (kuupäev), siis tuleb mistahes DAX-i valemites, mis sisaldavad argumendis tabeli nime, see ümbritseda ülakomadega . Kõik selles näites kasutatavad illustratsioonid ja valemid viitavad Power Pivotis loodud kuupäevatabelile nimega Kalender.

Nüüd on andmemudelis kuupäevatabel. Uusi kuupäevaveerge (nt Aasta, Kuu jne) saate lisada DAX-i abil.

Uute kuupäevaveergude lisamine kuupäevatabelile

Kuupäevatabel, milles on üks kuupäevaveerg, mis sisaldab iga aasta iga päeva jaoks eraldi rida, on oluline kuupäevavahemiku kõigi kuupäevade määramiseks. See on oluline ka faktitabeli ja kuupäevatabeli vahelise seose loomiseks. Kuid sellest ühest kuupäevaveerust, mis sisaldab iga päeva jaoks ühte rida, pole kasu PivotTable-liigendtabelis või Power View’ aruandes kuupäevade lõikes analüüsimisel. Kuupäevatabel peaks sisaldama veerge, mis aitavad andmeid koondada kuupäevavahemiku või kuupäevarühma alusel. Näiteks võite soovida summeerida müügisummad kuu või kvartali järgi või luua mõõdu, mis arvutab iga-aastase kasvu. Mõlemal neist juhtudest on kuupäevatabelis vaja aasta, kuu ja kvartali veerge, et saaksite vastava perioodi andmed koondada.

Kui importisid kuupäevatabelit relationaalsest andmeallikast, võib see juba sisaldada soovitud kuupäevaveerge. Mõnel juhul võite soovite osasid veerge muuta või luua täiendavaid kuupäevaveerge. See on eriti tõenäoline, kui lõite ise kuupäevatabeli Excelis ja kopeerisite selle andmemudelisse. Õnneks on Power Pivotis uute kuupäevaveergude loomine DAX-is kuupäeva- ja kellaajafunktsioonide abil üsna lihtne.

Näpunäide.: Kui te pole DAX-i veel kasutanud, siis hea võimalus õppimise alustamiseks on lugeda artiklit Lühijuhend: omandage DAX-i põhiteadmised 30 minutiga, mille leiate veebisaidilt Office.com.

DAX-i kuupäeva- ja kellaajafunktsioonid

Kui olete kunagi valemites töötanud kuupäeva- ja kellaajafunktsioonidega Excel on tõenäoline, et olete tuttav funktsioonidega Kuupäev ja kellaaeg. Kuigi need funktsioonid sarnanevad Exceli vastavate funktsioonidega, on ka mõned olulised erinevused.

  • DAX-i kuupäeva- ja kellaajafunktsioonid kasutavad kuupäeva ja kellaaja (datetime) andmetüüpi.

  • Need võivad võtta veerust pärit väärtusi argumendina.

  • Neid saab kasutada kuupäevaväärtuste tagastamiseks ja/või käsitsemiseks.

Neid funktsioone kasutatakse sageli kuupäevatabelis kohandatud kuupäevaveergude loomisel, seega on oluline neid mõista. Veergude loomiseks aasta, kvartali, finantskuu jne jaoks kasutame mitmeid neid funktsioone.

Märkus.: DAX-i kuupäeva- ja kellaajafunktsioonid pole samad mis ajateabefunktsioonid. Vt lisateavet teemast Ajateave Excel 2013 lisandmoodulis Power Pivot.

DAX sisaldab järgmisi kuupäeva- ja kellaajafunktsioone:

Valemites saate kasutada ka paljusid muid DAX-i funktsioone. Näiteks paljud siin kirjeldatud valemid kasutavad matemaatika- ja trigonomeetriafunktsioone(nt MOD ja TRUNC),loogikafunktsioone (nt IF)ja Tekstifunktsioone (nt FORMAT). Muude DAX-i funktsioonide kohta leiate lisateavet selle artikli jaotisest Lisaressursid.

Kalendriaasta valemite näited

Järgmised näited kirjeldavad valemeid, mida kasutatakse lisaveergude loomiseks kuupäevatabelis Kalender. Üks veerg (Kuupäev) on juba olemas ja see sisaldab järjestikkusi kuupäevi vahemikus 1.1.2010 kuni 31.12.2016.

Aasta

=YEAR([kuupäev])

Selles valemis tagastab funktsioon YEAR veeru Kuupäev väärtusest aasta. Kuna veeru Kuupäev andmetüüp on kuupäev ja kellaaeg, siis teab funktsioon YEAR, kuidas sellest tagastada aasta.

Veerg Aasta

Kuu

=MONTH([kuupäev])

Selles valemis, nagu ka funktsiooni YEAR puhul, saame kasutada funktsiooni MONTH, et tagastada veerust Kuupäev kuu väärtus.

Kuu veerg

Kvartal

=INT(([kuu]+2)/3)

Selles valemis kasutame funktsiooni INT, et tagastada kuupäevaväärtus täisarvuna. Funktsiooni INT jaoks määratud argument on veeru Kuu väärtus, lisage 2 ja seejärel jagage see kolmega, et saada meie kvartal, 1 läbi 4.

Kvartali veerg

Kuu nimetus

=FORMAT([kuupäev];"mmmm")

Selles valemis kasutame kuu nime toomiseks funktsiooni FORMAT, et teisendada arvväärtus veerust Kuupäev tekstiks. Määrame veeru Kuupäev esimese argumendina ja seejärel vormingu; soovime, et meie kuu nimi näitaks kõiki märke, seega kasutame sõna "mmmm". Meie tulem näeb välja selline:

Kuu nimetuse veerg

Kui soovime kasutada kuunimetuste lühendeid, siis kasutame vormingu argumendi väärtust „mmm”.

Nädalapäev

=FORMAT([kuupäev];"ddd")

Selles valemis kasutame funktsiooni FORMAT nädalapäeva toomiseks. Kuna soovime nädalapäeva lühendit, siis on vormingu argumendi väärtuseks „ddd”.

Nädalapäeva veerg
PivotTable-liigendtabeli näide

Kui teil on kuupäevade (nt Aasta, Kvartal, Kuu jne) jaoks väljad, saate neid kasutada PivotTable-liigendtabelis või aruandes. Järgmisel illustratsioonil on alale VÄÄRTUSED lisatud faktitabeli Müük väli Müügisumma ja alale READ dimensioonitabeli Kalender veerud Aasta ja Kvartal. Müügisumma on koondatud aasta ja kvartali põhjal.

PivotTable-liigendtabeli näide

Finantsaasta valemite näited

Finantsaasta

=IF([kuu]<= 6;[aasta];[aasta]+1)

Selles näites algab finantsaasta 1. juulil.

Kuupäevaväärtusest finantsaasta tuletamiseks pole funktsiooni, kuna finantsaasta algus- ja lõppkuupäevad erinevad sageli kalendriaasta omadest. Finantsaasta toomiseks kasutame esmalt funktsiooni IF, et testida, kas kuu väärtus on väiksem kui 6 või sellega võrdne. Teine argument määrab, et kui kuu väärtus on väiksem või võrdne kuuega, siis tagastatakse veerus Aasta olev väärtus. Kui ei, siis tagastatakse veerus Aasta olev väärtus ja sellele lisatakse 1.

Finantsaasta veerg

Teine võimalus finantsaasta lõpukuu väärtuse määramiseks on luua mõõt, mis lihtsalt määrab kuu. Näiteks FAL:=6. Siis saate kuu numbri asemel viidata mõõdu nimele. Näiteks =IF([kuu]<=[FAL];[aasta];[aasta]+1). See võimaldab suuremat paindlikkust, kui finantsaasta lõpukuule tuleb viidata mitmes valemis.

Finantskuu

=IF([kuu]<= 6; 6+[kuu]; [kuu]- 6)

Selles valemis on määratud, kui veeru [Kuu] väärtus on väiksem või võrdne kuuega, siis võetakse kuus ja lisatakse veeru Kuu väärtus. Muidu lahutatakse veeru [Kuu] väärtusest kuus.

Finantskuu veerg

Finantskvartal

=INT(([finantskuu]+2)/3)

Veeru Finantskvartal jaoks kasutatav valem sarnaneb kalendriaasta kvartali valemiga. Ainsaks erinevuseks on veeru [Kuu] asemel veeru [Finantskuu] kasutamine.

Finantskvartali veerg

Pühad või erikuupäevad

Võib-olla soovite lisada kuupäevaveeru, mis näitab, et teatud kuupäevad on riigipühad või muul põhjusel olulised. Näiteks võite soovida summeerida uusaastapäeva müügisummad, lisades PivotTable-liigendtabelisse riigipühade välja tükeldi või filtrina. Muul juhul võite soovida need kuupäevad muudest kuupäevaveergudest või mõõtudest välja jätta.

Pühade ja oluliste päevate kaasamine on küllaltki lihtne. Võite luua Excelis tabeli, mis sisaldab kaasatavaid kuupäevi. Seejärel saate tabeli kopeerida või kasutada nuppu Lisa andmemudelisse tabeli andmemudelisse lisamiseks lingitud tabelina. Tavaliselt pole vaja selle tabeli ja tabeli Kalender vahel luua seost. Kõik sellele viitavad valemid saavad väärtuste tagastamiseks kasutada funktsiooni LOOKUPVALUE.

Järgmine Excelis loodud näidistabel sisaldab kuupäevatabelisse lisatavaid pühasid.

Kuupäev

Püha

1.1.2010

uusaasta

02.04.2010

suur reede

24.12.2010

jõululaupäev

1.1.2011

uusaasta

22.04.2011

suur reede

24.12.2011

jõululaupäev

1.01.2012

uusaasta

06.04.2012

suur reede

24.12.2012

jõululaupäev

1.01.2013

uusaasta

29.03.2013

suur reede

24.12.2013

jõululaupäev

18.04.2014

suur reede

24.12.2014

jõululaupäev

01.01.2014

uusaasta

18.04.2014

suur reede

24.12.2014

jõululaupäev

01.01.2015

uusaasta

03.04.2014

suur reede

24.12.2015

jõululaupäev

1.1.2016

uusaasta

25.03.2016

suur reede

24.12.2016

Jõulud

Kuupäevatabelis loome veeru Püha ja kasutame järgmist valemit:

=LOOKUPVALUE(Pühad[Püha];Pühad[Kuupäev];Kalender[kuupäev])

Vaatame seda valemit lähemalt.

Kasutame funktsiooni LOOKUPVALUE tabeli Pühad veerust Püha väärtuste toomiseks. Esimeses argumendis määrame veeru, kus on meie tulemiväärtused. Määrame tabeli Pühad veeru Püha, kuna see sisaldab väärtusi, mida soovime tagastada.

=LOOKUPVALUE(Pühad[Püha];Pühad[Kuupäev];Kalender[kuupäev])

Seejärel määrame teise argumendi ehk otsinguveeru, mis sisaldab otsitavaid kuupäevi. Määrame järgmiselt tabeli Pühad veeru Kuupäev:

=LOOKUPVALUE(Pühad[Püha];Pühad[Kuupäev];Kalender[kuupäev])

Lõpuks määrame tabeli Kalender veeru, mis sisaldab kuupäevi, mida soovime otsida tabelist Pühad. See on loomulikult tabeli Kalender veerg Kuupäev.

=LOOKUPVALUE(Pühad[Püha];Pühad[Kuupäev];Kalender[kuupäev])

Veerg Püha tagastab püha nimetuse iga rea jaoks, mis sisaldab kuupäeva väärtust, mis vastab tabelis Pühad olevale kuupäevale.

Pühade tabel

Kohandatud kalender – kolmteist neljanädalast perioodi

Osad ettevõtted (nt jaekaubandus- või toitlustusettevõtted) kasutavad aruandluseks muid perioode (nt kolmeteistkümmet neljanädalast perioodi). Kolmeteistkümne neljanädalase perioodiga kalendri korral on iga periood 28 päeva, seega iga periood sisaldab nelja esmaspäeva, nelja teisipäeva, nelja kolmapäeva jne. Iga periood sisaldab sama arvu päevi ja tavaliselt satuvad pühad igal aastal samasse perioodi. Perioodi alguseks saab valida mistahes nädalapäeva. Sarnaselt kalendriaasta või finantsaasta kuupäevadega, saate kohandatud kuupäevadega veergude loomiseks kasutada DAX-i.

Alltoodud näidetes algab esimene täisperiood finantsaasta esimesel pühapäeval. Sel juhul algab finantsaasta 1.07.

Nädal

See väärtus annab meile nädalanumbri alates finantsaasta esimesest täisnädalast. Selles näites algab esimene täisnädal pühapäeval, seega algab tabeli Kalender esimese finantsaasta esimene täisnädal tegelikult 04.07.2010 ja jätkub tabeli Kalender viimase täisnädala jooksul. Kuigi see väärtus ise pole analüüsimisel kasulik, on vaja arvutada kasutamiseks muudes 28-päevastes perioodivalemites.

=INT(([kuupäev]-40356)/7)

Vaatame seda valemit lähemalt.

Kõigepealt loome valemi, mis tagastab veeru Kuupäev väärtused täisarvuna.

=INT([kuupäev])

Seejärel soovime üles otsida esimese finantsaasta esimese pühapäeva. Näeme, et see on 04.07.2010.

Nädala veerg

Nüüd lahutame sellest väärtusest arvu 40356 (see on eelmise finantsaasta viimase pühapäeva, 27.06.2010 täisarvuline väärtus), et saada tabeli Kalender algusest möödunud päevade arv:

=INT([kuupäev]-40356)

Seejärel jagame tulemi seitsmega (päevade arv nädalas):

=INT(([kuupäev]-40356)/7)

Tulem on järgmine:

Nädala veerg

Periood

Selle kohandatud kalendri periood sisaldab 28 päeva ja algab alati pühapäeval. See veerg tagastab perioodi numbri alates esimese finantsaasta esimesest pühapäevast.

=INT(([nädal]+3)/4)

Vaatame seda valemit lähemalt.

Kõigepealt loome valemi, mis tagastab veeru Nädal väärtused täisarvuna:

=INT([Nädal])

Seejärel lisame väärtusele kolme:

=INT([nädal]+3)

Jagame tulemi neljaga:

=INT(([nädal]+3)/4)

Tulem on järgmine:

Perioodi veerg

Perioodi finantsaasta

See väärtus tagastab perioodi finantsaasta.

=INT(([periood]+12)/13)+2010

Vaatame seda valemit lähemalt.

Kõigepealt loome valemi, mis tagastab veeru Periood väärtuse ja lisab arvu 12:

= ([periood]+12)

Jagame tulemi 13-ga, kuna finantsaastas on kolmteist 28-päevast perioodi:

=(([periood]+12)/13)

Lisame 2010, kuna see on tabeli esimene finantsaasta:

=(([periood]+12)/13)+2010

Viimasena kasutame funktsiooni INT, et eemaldada pärast 13-ga jagamist tulemist murdosa ja tagastada täisarv:

=INT(([periood]+12)/13)+2010

Tulem on järgmine:

Perioodi finantsaasta veerg

Finantsaasta periood

See väärtus tagastab perioodinumbri (1–13) alates iga finantsaasta esimesest täisperioodist (algab pühapäeval).

=IF(MOD([periood];13); MOD([periood];13);13)

See valem on veidi keerulisem, seega kirjeldame seda alguses lihtsamas keeles. See valem määrab: aasta perioodinumbri (1–13) saamiseks tuleb veeru [Periood] väärtus jagada 13-ga. Kui number 0, siis tagastatakse 13.

Kõigepealt loome valemi, mis tagastab veeru Periood väärtuse 13-ga jagamise jäägi. Modi (matemaatika- ja trigonomeetriafunktsioonid) saab kasutada nii:

=MOD([periood];13)

Tavaliselt annab see soovitud tulemi, v.a kui veerus Periood on väärtus 0, kuna need kuupäevad ei kuulu esimesse finantsaastasse (nt meie kuupäevade näidistabeli Kalender esimesed viis päeva). Lahenduseks saame kasutada funktsiooni IF. Tulemi 0 korral tagastatakse väärtus 13:

=IF(MOD([periood];13);MOD([periood];13);13)

Tulem on järgmine:

Perioodi finantsaasta veerg

PivotTable-liigendtabeli näide

Järgmisel illustratsioonil on PivtoTable-liigendtabeli alale Väärtused lisatud faktitabeli Müük väli Müügisumma ja alale READ kuupäevadimensiooni tabeli Kalender veerud PerioodiFinantsaasta ja FinantsaastaPeriood. Müügisumma on konteksti saamiseks koondatud finantsaasta ja finantsaasta 28-päevaste perioodide põhjal.

Finantsaasta PivotTable-liigendtabeli näide

Seosed

Kui olete andmemudelis loonud kuupäevatabeli ja hakkate otsima PivotTable-liigendtabelitest ja aruannetest andmeid ning andmeid koondama kuupäevadimensiooni tabeli veergude põhjal, tuleb tehinguandmetega faktitabeli ja kuupäevatabeli vahel luua seos.

Kuna seos tuleb luua kuupäevade põhjal, siis tuleb seos luua kindlasti veergude vahel, mille väärtuste andmetüüp on kuupäev ja kellaaeg (Kuupäev).

Faktitabeli iga kuupäevaväärtuse jaoks peab kuupäevatabeli seotud otsinguveerg sisaldama vastavaid väärtusi. Näiteks faktitabeli Müük reale (tehingukirje), mille väärtus veerus KuupäevVõti on 15.08.2012 00:00, peab olema vastav väärtus kuupäevatabeli (Kalender) seotud veerus Kuupäev. See on üks peamistest põhjustest, miks kuupäevatabeli kuupäevaveerg peab sisaldama järjestikkuste kuupäevade vahemikku, mis sisaldab faktitabeli mistahes kuupäeva.

Seosed skeemivaates

Märkus.: Kuigi mõlema tabeli kuupäevaveeru andmetüüp peab olema sama (Kuupäev), siis veergude vorming pole oluline.

Märkus.: Kui Power Pivot ei lase kahe tabeli vahel seost luua, siis ei pruugi kuupäevaväljad sisaldada sama täpsusastmega kuupäeva ja kellaaega. Sõltuvalt veeru vormingust võidakse väärtusi kuvada ühesuguselt, kuid olla talletatud erinevalt. Lugege lisaks ajaga töötamise kohta.

Märkus.: Vältige täisarvuliste asendusvõtmete kasutamist seostes. Kui impordite andmed relatsioonilisest andmeallikast, esitatakse kuupäeva ja kellaaja veerud sageli asendusvõtmega, mis on kordumatu kuupäeva tähistamiseks kasutatav täisarvuveerg. Power Pivotis peaks vältima seoste loomist täisarvuliste kuupäeva/kellaaja võtmetega ja kasutama võtmete asemel veerge, mis sisaldavad kordumatuid väärtusi andmetüübiga date. Kuigi asendusvõtmete kasutamist loetakse harilikes andmeladudes heaks tavaks, pole täisarvulisi võtmeid Power Pivotis vaja ja see võib raskendada PivotTable-liigendtabelites väärtuste rühmitamist erinevate kuupäevaperioodide kaupa.

Kui seose loomisel kuvatakse tüübilahknevuse tõrge, siis tõenäoliselt pole faktitabeli veeru andmetüüp kuupäev. See võib juhtuda, kui Power Pivot ei saa automaatselt teisendada mittekuupäeva (tavaliselt andmetüüp tekst) andmetüübiks kuupäev. Faktitabeli veergu saab ikkagi kasutada, kuid andmed tuleb teisendada DAX-i valemiga uues arvutuslikus veerus. Vt lisa Teksti andmetüübiga kuupäevade teisendamine kuupäeva andmetüübiga kuupäevadeks.

Mitu seost

Mõnel juhul võib olla vaja luua mitu seost või luua mitu kuupäevatabelit. Näiteks kui tabelis Müügi faktid on mitu kuupäevavälja (nt DateKey, ShipDate ja ReturnDate), võivad neil kõigil olla seosed tabeli Kalendri kuupäev väljaga Kuupäev, kuid ainult üks neist võib olla aktiivne seos. Sel juhul, kuna DateKey tähistab tehingu kuupäeva ja seega kõige olulisemat kuupäeva, on see kõige parem aktiivne seos. Teistel on passiivsed seosed.

Järgmine PivotTable-liigendtabel arvutab kogumüügi finantsaastate ja finantskvartalite lõikes. Mõõt Kogumüük (valem Kogumüük:=SUM([müügisumma])) paigutatakse alale VÄÄRTUSED ja kuupäevatabeli Kalender väljad Finantsaasta ja Finantskvartal alale READ.

PivotTable-liigendtabel: kogumüük finantskvartali järgi PivotTable-liigendtabeli väljaloend

See lihtne PivotTable-liigendtabel töötab õigesti, kuna soovime summeerida kogumüügi veerus KuupäevVõti oleva tehingu kuupäeva järgi. Mõõt Kogumüük kasutab veerus KuupäevVõti olevaid kuupäevi ja summeeritakse finantsaasta ja finantskvartali järgi, kuna tabeli Müük veeru KuupäevVõti ja kuupäevatabeli Kalender veeru Kuupäev vahel on seos.

Passiivsed seosed

Aga mis siis, kui soovime kogumüügi liita mitte tehingukuupäeva, vaid lähetuskuupäeva järgi? Vajame seost tabeli Müük veeru "Lähetuskuupäev" ja tabeli Kalender veeru Kuupäev vahel. Kui me seda seost ei loo, põhinevad meie liitmised alati tehingukuupäeval. Kuid meil võib olla mitu seost, kuigi ainult üks saab olla aktiivne ja kuna tehingukuupäev on kõige olulisem, saab see aktiivse seose tabeliga Kalender.

Sel juhul on lähetuskuupäeval passiivne seos, seega peab lähetuskuupäevade põhjal andmete liitmiseks loodud mõõtvalem määrama passiivse seose funktsiooni USERELATIONSHIP abil.

Kuna tabeli Müük veeru Tarnekuupäev ja tabeli Kalender veeru Kuupäev vahel on passiivne seos, saame luua mõõdu, mis summeerib kogumüügi tarnekuupäeva alusel. Kasutatava seose määrame järgmise valemiga.

Kogumüük tarnekuupäeva järgi:=CALCULATE(SUM(Müük[Müügisumma]); USERELATIONSHIP(Müük[Tarnekuupäev]; Kalender[Kuupäev]))

See valem määrab järgmise: arvutatakse veeru Müügisumma summa, kuid filtreeritakse tabeli Müük veeru Tarnekuupäev ja tabeli Kalender veeru Kuupäev vahelise seose alusel.

Kui loome nüüd PivotTable-liigendtabeli ja paneme alale VÄÄRTUSED mõõdu „Kogumüük tarnekuupäeva järgi“ ning alale READ veerud Finantsaasta ja Finantskvartal, siis on lõppsumma sama, kuid finantsaasta ja finantskvartali kõik muud summad on erinevad, kuna need põhinevad tarnekuupäeval, mitte tehingukuupäeval.

PivotTable-liigendtabel: kogumüük tarnekuupäeva järgi PivotTable-liigendtabeli väljaloend

Passiivsete seoste kasutamisel saate kasutada ainult ühte kuupäevatabelit, kuid mõõtude (nt Kogumüük tarnekuupäeva järgi) valemid peavad viitama passiivsele seosele. Teiseks võimaluseks on kasutada mitut kuupäevatabelit.

Mitu kuupäevatabelit

Teine võimalus faktitabeli mitme kuupäevaveeruga töötamiseks on luua mitu kuupäevatabelit ja luua nende vahel eraldi aktiivsed seosed. Vaatame uuesti tabelit Müük. Meil on kolm veergu kuupäevadega, mille järgi võime soovida andmeid koondada:

  • veerg KuupäevVõti – iga tehingu müügikuupäev;

  • veerg Tarnekuupäev – kuupäev ja kellaaeg, millal müüdud üksused saadeti kliendile välja;

  • Tagastamiskuupäev – kuupäev ja kellaaeg, millal üks või mitu üksust tagastati.

Pidage meeles, et tehingukuupäevaga väli DateKey on kõige olulisem. Enamiku liitmised põhinevad nendel kuupäevadel, seega soovime kindlasti selle ja tabeli Kalender veeru Kuupäev vahelist seost. Kui me ei soovi luua passiivseid seoseid tabeli Kalender väljade "Lähetuskuupäev" ja "Tagastuskuupäev" ja "Kuupäev" vahel, mistõttu on vaja erimõõtevalemeid, saame luua lähetuskuupäeva ja tagastuskuupäeva jaoks täiendavaid kuupäevatabeleid. Seejärel saame nende vahel luua aktiivseid seoseid.

Mitme kuupäevatabeliga seosed skeemivaates

Selles näites oleme loonud teise kuupäevatabeli nimega ShipCalendar. See tähendab muidugi ka täiendavate kuupäevaveergude loomist ja kuna need kuupäevaveerud asuvad teises kuupäevatabelis, soovime neile nimesid eristada tabeli Kalender samadest veergudest. Näiteks oleme loonud veerud nimega ShipYear, ShipMonth, ShipQuarter jne.

Kui loome PivotTable-liigendtabeli ja paneme alale VÄÄRTUSED mõõdu Kogumüük ning alale READ veerud TarneFinantsaasta ja TarneFinantskvartal, siis näeme samu tulemeid kui siis, kui lõime passiivse seose ja erilise arvutusliku välja „Kogumüük tarnekuupäeva järgi“.

Tarnekalendriga seotud PivotTable-liigendtabel: kogumüük tarnekuupäeva järgi PivotTable-liigendtabeli väljaloend

Mõlemat lähenemist tasub hoolikalt kaaluda. Ühe kuupäevatabeli ja mitme seose kasutamisel võib olla vaja luua erilisi mõõte, mis võimaldavad funktsiooni USERELATIONSHIP abil kasutada passiivseid seoseid. Teisalt võib mitme kuupäevatabeli loomine põhjustada segadust väljaloendis ja kui andmemudelis on rohkem tabeleid, siis on vaja ka rohkem mälu. Katsetage ja valige endale sobivaim variant.

Atribuut Kuupäevatabel

Atribuut Kuupäevatabel sisaldab metaandmeid, mida ajateabefunktsioonid (nt TOTALYTD, PREVIOUSMONTH ja DATESBETWEEN) vajavad õigesti töötamiseks. Kui arvutus kasutab mõnda neist funktsioonidest, siis teab Power Pivoti valemimootor, kust hankida vajalikud kuupäevad.

Hoiatus.: Kui see atribuut pole määratud, siis ei pruugi DAX-i ajateabefunktsioone kasutavad mõõdud tagastada õigeid tulemeid.

Kui määrate atribuudi Kuupäevatabel, siis määrate kuupäevatabeli ja selle kuupäevaveeru, mille andmetüüp on kuupäev (kuupäev ja kellaaeg).

Dialoogiboks Märgi kuupäeva tabelina

Õpetus: atribuudi Kuupäevatabel määramine

  1. Valige PowerPivoti aknas tabel Kalender.

  2. Klõpsake menüü Kujundus nuppu Märgi kuupäeva tabelina.

  3. Valige dialoogiboksis Märgi kuupäeva tabelina kordumatute väärtustega veerg ja andmetüüp kuupäev.

Ajaga töötamine

Kõik Exceli ja SQL Serveri kuupäevaväärtused, mille andmetüüp on kuupäev on tegelikult arvud. Selles arvus on numbrid, mis viitavad kellaajale. Enamikul juhtudest on iga rea kellaaeg kesköö. Kui faktitabeli Müük väljal KuupäevKellaaegVõti on väärtus 19.10.2010 00:00:00, tähendab see, et väärtused on päeva täpsusega. Kui välja KuupäevKellaaegVõti väärtused sisaldavad kellaaega (nt 19.10.2010 8:44:00), tähendab see, et väärtused on minuti täpsusega. Väärtused võivad olla ka tunni täpsusega või isegi sekundi täpsusega. Kellaajaväärtuse täpsusaste mõjutab oluliselt kuupäevatabeli loomist ja selle ning faktitabeli vahelisi seoseid.

Peate otsustama, kas soovite andmeid koondada päeva või kellaaja täpsusega. Teisisõnu võite soovida PivotTable-liigendtabeli aladel Read, Veerud või Filtrid kasutada kuupäevatabeli veerge, nagu Hommik, Pärastlõuna või Tund.

Märkus.: Väikseim ajaühik, mida DAX-i ajateabefunktsioonid saavad kasutada, on päev. Kui kellaajaväärtustega pole vaja töötada, siis tuleks vähendada andmete täpsust päevatasemele.

Kui kavatsete koondada andmeid kellaaja täpsusega, siis peab kuupäevatabelis olema kuupäevaveerg, mis sisaldab kellaaegu. See peab sisaldama kuupäevaveergu, milles on kuupäevavahemiku iga aasta iga päeva iga tunni (või isegi iga minuti) jaoks eraldi rida. Põhjuseks on see, et faktitabeli veeru KuupäevKellaaegVõti ja kuupäevatabeli kuupäevaveeru vahel seose loomiseks peavad need sisaldama samu väärtusi. Nagu võite arvata, siis paljude aastate kasutamisel on tegemist väga mahuka kuupäevatabeliga.

Enamikul juhtudest piisab siiski andmete koondamisest päeva tasemel. Teisisõnu kasutate PivotTable-liigendtabeli aladel Read, Veerud või Filtrid veerge, nagu Aasta, Kuu, Nädal või Nädalapäev. Sel juhul peab kuupäevatabeli kuupäevaveerg sisaldama vaid ühte rida aasta iga päeva kohta (nagu eelpool kirjeldatud).

Kui kuupäevaveerg sisaldab kellaaega, aga koondate andmeid ainult päeva täpsusega, siis võimalik, et faktitabeli ja kuupäevatabeli vahel seose loomiseks tuleb faktitabelit muuta ja luua uus veerg, mis kärbib kuupäevaveeru väärtused päevaväärtuseks. Teisisõnu teisendab väärtuse 19.10.2010 8:44:00 väärtuseks 19.10.2010 00:00:00. Seejärel saate luua seose uue veeru ja kuupäevatabeli kuupäevaveeru vahel, kuna väärtused on samad.

Vaatame näidet. Sellel pildil kuvatakse tabeli Müügi faktuuring veerg DateTimeKey. Kõik selle tabeli andmete liitmised peavad olema ainult päevatasemel, kasutades tabeli Kalendri kuupäev veerge (nt Aasta, Kuu, Kvartal jne). Väärtusesse kaasatud aeg pole oluline, vaid ainult tegelik kuupäev.

Veerg KuupäevKellaaegVõti

Kuna andmeid pole vaja analüüsida kellaajatasemel, siis ei pea kuupäevatabeli Kalender kuupäevaveerg sisaldama iga aasta iga päeva iga tunni iga minuti jaoks eraldi rida. Seega on kuupäevatabeli veerg Kuupäev järgmine:

Kuupäevaveerg Power Pivotis

Tabeli Müük veeru DateTimeKey ja tabeli Kalender veeru Kuupäev vahelise seose loomiseks saame luua tabeli Müük faktid uue arvutusliku veeru ja kasutada funktsiooni TRUNC, et kärpida kuupäeva- ja kellaajaväärtus veerus DateTimeKey kuupäevaväärtuseks, mis vastab tabeli Kalender veeru Kuupäev väärtustele. Valem näeb välja selline:

=TRUNC([KuupäevKellaaegVõti];0)

See loob uue veeru (millele panime nime KuupäevVõti), mille igal real on veerust KuupäevKellaaegVõti võetud kuupäev ja kellaaeg 00:00:00.

Veerg KuupäevVõti

Nüüd saame luua seose selle uue veeru (KuupäevVõti) ja tabeli Kalender veeru Kuupäev vahel.

Saame tabelis Müük luua sarnaselt arvutusliku veeru, mis vähendab veeru KuupäevKellaaegVõti aja täpsuse tunnitasemele. Sel juhul funktsioon TRUNC ei tööta, kuid saame kasutada muid DAX-i kuupäeva- ja kellaajafunktsioone väärtuse ekstraktimiseks ja uue väärtuse ühendamiseks tunni täpsusega. Saame kasutada järgmist valemit:

= DATE (YEAR([KuupäevKellaaegVõti]); MONTH([KuupäevKellaaegVõti]); DAY([KuupäevKellaaegVõti]) ) + TIME (HOUR([KuupäevKellaaegVõti]); 0; 0)

Uus veerg on järgmine:

Veerg KuupäevKellaaegVõti

Kui kuupäevatabeli veerg Kuupäev sisaldab tunni täpsusega väärtusi, siis saame nende vahel luua seose.

Kuupäevade muutmine lihtsamini kasutatavaks

Paljud kuupäevatabelis loodavad kuupäevaveerud on vajalikud muude väärtuste jaoks, kuid mitte eriti kasulikud analüüsimisel. Näiteks tabeli Müük väli KuupäevVõti, millele oleme kogu selle artikli jooksul viidanud, on oluline, kuna iga tehingu korral on salvestatud tehing toimunuks sellel kuupäeval ja kellaajal. Kuid analüüsi ja aruannete koostamise seisukohast pole see eriti kasulik, kuna me ei saa kasutada seda PivotTable-liigendtabeli ega aruande ridade, veergude ega filtrite alal.

Sarnaselt on meie tabeli Kalender veerg Kuupäev väga kasulik (lausa kriitilise tähtsusega), kuid seda ei saa kasutada PivotTable-liigendtabeli dimensioonina.

Et tabelid ja nende veerud oleksid võimalikult kasulikud ning, et PivotTable-liigendtabeli või Power View’ aruande väljaloendist oleks vajaliku leidmine lihtsam, tuleks klienttööriistade eest peita ebavajalikud veerud. Võimalik, et soovite peita ka osad tabelid. Ülalpool näidatud tabel Pühad sisaldab pühade kuupäevi, mis on olulised tabeli Kalender teatud veergude jaoks, kuid tabeli Pühad veerge Kuupäev ja Püha endid ei saa kasutada PivotTable-liigendtabeli väljadena. Väljaloendite lihtsustamiseks saate siin kohal peita kogu tabeli Pühad.

Kuupäevadega töötamisel tuleks jälgida ka nimetamise põhimõtteid. Power Pivoti tabelitele ja veergudele saate panna mistahes nimesid. Kuid arvestage, et kui annate töövihiku teiste jaoks ühiskasutusse, siis teeb kindlate nimetamise põhimõtete jälgimine tabelite ja kuupäevade tuvastamise lihtsamaks mitte ainult väljaloendites vaid ka Power Pivoti ja DAX-i valemites.

Pärast kuupäevatabeli loomist andmemudelis saate alustada meetmetega, mis aitavad teil oma andmeid kõige rohkem ära kasutada. Mõned võivad olla sama lihtsad kui praeguse aasta müügisummade summeerimine ja teised võivad olla keerukamad, kus peate filtreerima kindlal kordumatute kuupäevade vahemikul. Lisateavet leiate artikliTest Power Pivot jaAjateabe funktsioonid.

Lisa

Teksti andmetüübiga kuupäevade teisendamine kuupäeva andmetüübiga kuupäevadeks

Mõnikord võib tehinguandmetega faktitabel sisaldada kuupäevi, mille andmetüübiks on tekst. See tähendab, et kujul 2012-12-04T11:47:09 kuvatav kuupäev pole tegelikult kuupäev, vähemalt mitte sellist tüüpi kuupäev, mida Power Pivot mõistaks. See on tekst, mis kirjeldab kuupäeva. Faktitabeli kuupäevaveeru ja kuupäevatabeli kuupäevaveeru vahel seose loomiseks peab mõlema veeru andmetüüp olema kuupäev.

Tavaliselt kui proovite teksti andmetüübiga kuupäevi sisaldava veeru andmetüübiks muuta kuupäeva, siis oskab Power Pivot automaatselt kuupäevad tõlgendada ja teisendada tõeliseks kuupäeva andmetüübiks. Kui Power Pivot ei saa andmetüübi teisendatud, kuvatakse tüübilahknevuse tõrge.

Saate siiski kuupäevad teisendada tõelise kuupäeva andmetüübiks. Saate luua uue arvutusliku välja ja kasutada DAX-i valemit tekstistringidest aasta, kuu, päeva ja kellaaja sõelumiseks ning uuesti ühendamiseks kujul, mida Power Pivot saab lugeda tõelise kuupäevana.

Antud juhul oleme importinud Power Pivotisse faktitabeli Müük. See sisaldab veergu KuupäevKellaaeg. Väärtused on järgmisel kujul:

Faktitabeli veerg KuupäevKellaaeg

Kui vaatame Power Pivoti menüü Avaleht jaotise Vormindus välja Andmetüüp, siis näeme, et sellel on väärtus Tekst.

Väli Andmetüüp lindil

Me ei saa luua seost veeru KuupäevKellaaeg ja kuupäevatabeli veeru Kuupäev vahel, kuna andmetüübid on erinevad. Kui proovime andmetüübiks muuta Kuupäev, kuvatakse järgmine tüübilahknevuse tõrge:

Lahkenevuse tõrge

Antud juhul ei saanud Power Pivot teisendada andmetüübi tekst andmetüübiks kuupäev. Saame seda veergu ikkagi kasutada, kuid selle teisendamiseks tõelise kuupäeva andmetüübiks, tuleb luua uus veerg, mis sõelub teksti ja loob sellest väärtuse, millest Power Pivot saab teha kuupäeva andmetüübi.

Pidage meeles selle artikli varasema jaotise Ajaga töötamine soovitust: kui analüüs ei pea olema kellaaja täpsusega, tuleks faktitabeli kuupäevad teisendada päeva täpsusega väärtusteks. Seetõttu soovime, et uue veeru väärtused oleks päeva täpsusega (ei sisalda kellaaega). Järgmise valemiga saame teisenda veeru KuupäevKellaaeg väärtused kuupäeva andmetüübiks ja eemaldada kellaaja täpsustaseme:

=DATE(LEFT([KuupäevKellaaeg];4); MID([KuupäevKellaaeg];6;2); MID([KuupäevKellaaeg];9;2))

Sellega luuakse uus veerg (antud juhul veerg Kuupäev). Power Pivot isegi tuvastab, et väärtused on kuupäevad, ja määrab andmetüübiks automaatselt kuupäeva.

Faktitabeli veerg Kuupäev

Kui soovime säilitada kellaja täpsuse, siis tuleb lihtsalt valemit laiendada hõlmama tunde, minuteid ja sekundeid.

=DATE(LEFT([KuupäevKellaaeg];4); MID([KuupäevKellaaeg];6;2); MID([KuupäevKellaaeg];9;2))+

TIME(MID([KuupäevKellaaeg];12;2); MID([KuupäevKellaaeg];15;2); MID([KuupäevKellaaeg];18;2))

Nüüd kui veeru Kuupäev andmetüübiks on kuupäev, saame luua selle ja kuupäevatabeli kuupäevaveeru vahel seose.

Lisaressursid

Kuupäevad Power Pivotis

Arvutused Power Pivotis

Lühijuhend: omandage DAX-i põhiteadmised 30 minutiga

Andmeanalüüsi avaldiste viide

DAX-i ressursikeskus

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×