Aikatiedot Excelin PowerPivot‑apuohjelmassa

Käytetään kohteeseen
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Data Analysis Expressions (DAX) sisältää 35 funktiota tietojen keräämiseen ja vertailemiseen ajan kuluessa. Toisin kuin DAX-kielen päivämäärä- ja aikafunktiot, aikatietofunktiot eivät oikeastaan ole vastaavia Excelissä. Tämä johtuu siitä, että aikatietofunktiot käyttävät tietoja, jotka muuttuvat jatkuvasti Pivot-taulukoissa ja Power View -visualisoinneissa valitun kontekstin mukaan.

Jotta voit käyttää aikatietofunktioita, tietomalliin on sisällytettävä päivämäärätaulukko. Päivämäärätaulukossa on oltava sarake, jossa on yksi rivi kunkin tiedoissa näkyvän vuoden kullekin päivälle. Tätä saraketta pidetään päivämääräsarakkeena (vaikka sen voi nimetä haluamallasi tavalla). Monet aikatietofunktiot edellyttävät päivämääräsaraketta laskeakseen raportin kentiksi valittuja päivämääriä. Jos sinulla on esimerkiksi mittayksikkö, joka laskee vuosineljänneksen loppusaldon CLOSINGBALANCEQTR-funktiolla, Power Pivot tietää, milloin vuosineljänneksen todellinen loppu on, tarvitsee viitata päivämäärätaulukon päivämääräsarakkeeseen tietääkseen, milloin vuosineljännes todella alkaa ja päättyy. Lisätietoja päivämäärätaulukoista on artikkelissa Päivämäärätaulukoiden ymmärtäminen ja luominen Excelissä Power Pivotissa.

Funktiot

Yhden päivämäärän palauttavat funktiot

Tämän luokan funktiot palauttavat yhden päivämäärän. Tulosta voi sitten käyttää muiden funktioiden argumentteina.

Tämän luokan kaksi ensimmäistä funktiota palauttavat Date_Column ensimmäisen tai viimeisen päivämäärän nykyisessä kontekstissa. Tästä voi olla hyötyä, kun haluat löytää ensimmäisen tai viimeisen päivämäärän, jona tietyntyyppinen tapahtuma on suoritettu. Nämä funktiot käyttävät vain yhtä argumenttia, päivämäärätaulukon päivämääräsarakkeen nimeä.

Tämän luokan kaksi seuraavaa funktiota etsivät ensimmäisen tai viimeisen päivämäärän (tai myös minkä tahansa muun sarakearvon), jossa lausekkeen arvo ei ole tyhjä. Tätä käytetään useimmiten tilanteissa, joissa haluat saada viimeisimmän varastosumman etkä tiedä, milloin viimeinen varasto on otettu.

Kuusi muuta yksittäisen päivämäärän palauttavaa funktiota ovat funktiot, jotka palauttavat kuukauden, vuosineljänneksen tai vuoden ensimmäisen tai viimeisen päivämäärän nykyisessä laskentakontekstissa.

Päivämäärätaulukon palauttavat funktiot

On olemassa kuusitoista aikatietofunktiota, jotka palauttavat päivämäärätaulukon. Useimmiten näitä funktioita käytetään CALCULATE-funktion SetFilter-argumenttina. Kuten kaikki DAX-kielen aikatietofunktiot, kukin funktio käyttää päivämääräsaraketta yhtenä argumenttina.

Tämän luokan kahdeksan ensimmäistä funktiota alkavat päivämääräsarakkeella nykyisessä kontekstissa. Jos esimerkiksi käytät mittayksikköä Pivot-taulukossa, joko sarakeotsikoissa tai riviotsikoissa voi olla kuukausi tai vuosi. Nettovaikutus on, että päivämääräsarake on suodatettu sisältämään vain nykyisen kontekstin päivämäärät. Tästä nykyisestä kontekstista lähtien nämä kahdeksan funktiota laskevat edellisen (tai seuraavan) päivän, kuukauden, vuosineljänneksen tai vuoden ja palauttavat kyseiset päivämäärät yksisarakkeisena taulukkona. Edelliset-funktiot toimivat taaksepäin ensimmäisestä päivämäärästä nykyisessä kontekstissa, ja seuraava-funktiot siirtyvät eteenpäin nykyisen kontekstin viimeisestä päivämäärästä.

Seuraavat neljä funktiota tässä luokassa ovat samankaltaisia, mutta edellisen (tai seuraavan) jakson laskemisen sijaan ne laskevat ajanjakson päivämääräjoukon, joka on "kuukauden alusta" (tai vuosineljänneksestä tähän päivään tai vuoden alusta tai samalle ajanjaksolle edellisen vuoden alusta). Kaikki nämä funktiot suorittavat laskutoimituksensa nykyisen kontekstin viimeisen päivämäärän perusteella. Huomaa, että SAMEPERIODLASTYEAR edellyttää, että nykyinen konteksti sisältää peräkkäiset päivämäärät. Jos nykyinen konteksti ei ole peräkkäinen joukko päivämääriä, SAMEPERIODLASTYEAR palauttaa virheen.

Neljä viimeistä funktiota tässä luokassa ovat hieman monimutkaisempia ja myös hieman tehokkaampia. Näiden funktioiden avulla voidaan siirtyä nykyisessä tilanteessa olevista päivämääristä uuteen päivämääräjoukkoon.

  • DATEADD (Date_Column; Number_of_Intervals; väli)
  • DATESBETWEEN (Date_Column, Start_Date, End_Date)
  • DATESINPERIOD (Date_Column; Start_Date; Number_of_Intervals; väli)

DATESBETWEEN laskee määritetyn alkamis- ja päättymispäivämääräjoukon. Muut kolme funktiota siirtävät tietyn määrän aikavälejä nykyisestä kontekstista. Väli voi olla päivä, kuukausi, neljännesvuosi tai vuosi. Näiden funktioiden avulla on helppo siirtää laskutoimituksen aikaväliä seuraavilla tavoilla:

  • Siirry kaksi vuotta taaksepäin
  • Siirry kuukausi taaksepäin
  • Siirry kolme neljäsosaa eteenpäin
  • Siirry 14 päivää taaksepäin
  • Siirry 28 päivää eteenpäin

Kussakin tapauksessa riittää, että määrität vaihtovälin ja aikavälien määrän. Positiivinen väli siirtyy ajassa eteenpäin ja negatiivinen aikaväli taaksepäin. Aikaväli määritetään avainsanalla DAY, MONTH, QUARTER tai YEAR. Nämä avainsanat eivät ole merkkijonoja, joten niiden ei pitäisi olla lainausmerkeissä.

Funktiot, jotka arvioivat lausekkeita tietyllä aikavälillä

Tämä funktioluokka arvioi lausekkeen tietyn ajanjakson aikana. Voit tehdä saman käyttämällä CALCULATE-funktiota ja muita aikatietofunktioita. Esimerkiksi...

= TOTALMTD (lauseke, Date_Column [, SetFilter])

on täsmälleen sama kuin:

= CALCULATE (lauseke, DATESMTD (Date_Column)[, AsetaSuodatin])

Näiden aikatietofunktioiden käyttö on kuitenkin helpompaa, jos ne sopivat hyvin ratkaistavaan ongelmaan:

  • TOTALMTD (lauseke, Date_Column [, asetaSuodatin])
  • TOTALQTD (lauseke, Date_Column [, SetFilter])
  • TOTALYTD (lauseke, Date_Column [, asetaSuodatin] [,YE_Date]) *

Tähän luokkaan kuuluu myös joukko funktioita, jotka laskevat alku- ja loppusaldoja. Näiden funktioiden yhteydessä on tiettyjä käsitteitä, jotka sinun tulisi ymmärtää. Ensinnäkin, kuten saatat pitää itsestäänselvänä, minkä tahansa kauden alkusaldo on sama kuin edellisen kauden loppusaldo. Loppusaldo sisältää kaikki tiedot kauden loppuun asti, kun taas alkusaldo ei sisällä tietoja kuluvalta kaudelta.

Nämä funktiot palauttavat aina lausekkeen arvon arvioituna tiettynä ajankohtana. Tärkeää on aina kalenterijakson viimeinen mahdollinen päivämääräarvo. Alkusaldo perustuu edellisen jakson viimeiseen päivämäärään, kun taas loppusaldo perustuu kuluvan kauden viimeiseen päivämäärään. Nykyinen kausi määräytyy aina nykyisen päivämääräkontekstin viimeisen päivämäärän mukaan.

Lisäresursseja

Artikkelit: Päivämäärätaulukoiden ymmärtäminen ja luominen Excelin PowerPivotissa

Viite: Office.com:n DAX-funktioviittaus

Esimerkkejä: Tulostietojen mallinnus ja analysointi Microsoft PowerPivotilla Excelissä