Šajā sadaļā sniegtas saites uz piemēriem, kuros redzama DAX formulu lietošana šādos scenārijos.
-
Sarežģītu aprēķinu veikšana
-
Darbs ar tekstu un datumiem
-
Nosacījuma vērtības un kļūdu testēšana
-
Laika informācijas izmantošana
-
Vērtību vērtēšanas un salīdzināšana
Šajā rakstā
Darba sākšana
Apmeklējiet DAX resursu centra vikivietni, kur varat atrast visu veidu informāciju par DAX, tostarp emuārus, paraugus, baltās tāfeles un videoklipus, ko nodrošina nozares vadošie speciālisti un Microsoft.
Scenāriji: sarežģītu aprēķinu veikšana
DAX formulas var veikt sarežģītus aprēķinus ar pielāgotiem apkopojumiem, filtrēšanu un nosacījuma vērtību izmantošanu. Šajā sadaļā sniegti piemēri, kā sākt darbu ar pielāgotiem aprēķiniem.
Pielāgotu aprēķinu izveide rakurstabulai
Calculate un CALCULATETABLE ir jaudīgas, elastīgas funkcijas, kas noder aprēķināto lauku definē noteikšanai. Šīs funkcijas ļauj mainīt kontekstu, kurā aprēķini tiks veikti. Varat arī pielāgot apkopošanas vai matemātiskās darbības veidu. Piemērus skatiet nākamajās tēmās.
Filtra izmantošana formulai
Lielākajā daļā vietu, kur DAX funkcija izmanto tabulu kā argumentu, parasti var nodot filtrētā tabulā, vai nu izmantojot funkciju FILTER, nevis tabulas nosaukumu, vai arī norādot filtra izteiksmi kā vienu no funkcijas argumentiem. Šajās tēmās sniegti piemēri, kā izveidot filtrus un kā filtri ietekmē formulu rezultātus. Papildinformāciju skatiet rakstā Datu filtrēšana DAX formulās.
Funkcija FILTER ļauj norādīt filtrēšanas kritērijus, izmantojot izteiksmi, bet citas funkcijas ir īpaši paredzētas tukšo vērtību filtrēšanai.
Filtru selektīva noņemšana, lai izveidotu dinamisko attiecību
Izveidojot dinamiskus filtrus formulās, varat viegli atbildēt uz šādiem jautājumiem:
-
Kāda bija pašreizējā produkta pārdošanas daļa gada pārdošanas kopsummās?
-
Cik šī dalīšana ir ietekmējusi visu darbības gadu kopējo peļņu salīdzinājumā ar citām nodaļām?
Rakurstabulai lietotās formulas var ietekmēt rakurstabulas konteksts, bet kontekstu var mainīt tikai, pievienojot vai noņemot filtrus. Piemērā tēmā VISI ir parādīts, kā to paveikt. Lai uzzinātu pārdošanas apjomu attiecību konkrētam tālākpārdevējam pār visiem tālākpārdevējiem, izveidojiet rādītāju, kas aprēķina pašreizējā konteksta vērtību, dalīta ar vērtību kontekstam ALL.
Tēma ALLEXCEPT sniedz piemēru, kā selektīvi notīrīt formulas filtrus. Abos piemēros ir paskaidrots, kā rezultāti mainās atkarībā no rakurstabulas noformējuma.
Citus piemērus par to, kā aprēķināt attiecības un procentus, skatiet šādās tēmās:
Vērtības no ārējas cilpas izmantošana
DAX, ne tikai izmantojot vērtības no pašreizējā konteksta aprēķinos, var izmantot vērtību no iepriekšējās cilpas, izveidojot saistītu aprēķinu kopu. Šajā tēmā ir paskaidrots, kā izveidot formulu, kas atsaucas uz vērtību no ārējas cilpas. Funkcija EARLIER atbalsta līdz pat diviem ligzdoto cilpu līmeņiem.
Papildinformāciju par rindu kontekstu un saistītajām tabulām un to, kā šo jēdzienu izmantot formulās, skatiet rakstā DAX formulu konteksts.
Scenāriji: Darbs ar tekstu un datumiem
Šajā sadaļā sniegtas saites uz DAX atsauču tēmām, kas satur piemērus izplatītiem scenārijiem saistībā ar darbu ar tekstu, datuma un laika vērtību iz ieguvi un izveidi vai vērtību izveidi, pamatojoties uz nosacījumu.
Atslēgas kolonnas izveide, izmantojot konkatenāciju
Power Pivot neatļauj saliktās atslēgas; tāpēc, ja datu avotā ir kompozītatslē atslēgas, tās var būt jāapvieno vienā atslēgas kolonnā. Šajā tēmā ir viens piemērs, kā izveidot aprēķinātu kolonnu, pamatojoties uz salikto atslēgu.
Izveidojiet datumu, izmantojot datuma daļas, kas izvilktas no teksta datuma
Power Pivot darbam ar datumiem tiek izmantots SQL Server datuma/laika datu tips. tāpēc, ja jūsu ārējie dati satur atšķirīgus datumus, piemēram, ja datumi ir rakstīti reģionālajā datumu formātā, ko neatpazīst Power Pivot datu programma, vai jūsu datos izmantotas veselu skaitļu surrogate atslēgas — iespējams, vajadzēs izmantot DAX formulu, lai izvilktu datuma daļas un pēc tam izveidotu daļas derīgā datuma/laika attēlojumā.
Piemēram, ja jums ir datumu kolonna, kas attēlota kā vesels skaitlis un pēc tam importēta kā teksta virkne, varat pārvērst virkni par datuma/laika vērtību, izmantojot šādu formulu:
=DATE(RIGHT([Vērtība1],4),LEFT([Vērtība1],2),MID([Vērtība1],2))
Vērtība1 |
Rezultāts |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Šajās tēmās ir sniegta papildinformācija par funkcijām, kas tiek izmantotas datumu izvilkšanas un veidošanai.
Pielāgota datuma vai skaitļu formāta definē
Ja datos ir datumi vai skaitļi, kas netiek attēloti kādā no standarta Windows teksta formātiem, varat definēt pielāgotu formātu, lai nodrošinātu, ka vērtības tiek apstrādātas pareizi. Šos formātus izmanto, konvertējot vērtības par virknēm vai no virknēm. Tālāk minētajās tēmās ir norādīts arī detalizēts saraksts ar iepriekš definētiem formātiem, kas pieejami darbam ar datumiem un skaitļiem.
Datu tipu maiņa, izmantojot formulu
Šajā Power Pivot izvades datu tipu nosaka avota kolonnas, un jūs nevarat tieši norādīt rezultāta datu tipu, jo optimālo datu tipu nosaka Power Pivot. Tomēr jūs varat izmantot netiešas datu tipa pārveides, ko veikusi Power Pivot manipulēt ar izvades datu tipu.
-
Lai konvertētu datumu vai skaitļa virkni par skaitli, reiziniet ar 1,0. Piemēram, šī formula aprēķina pašreizējo datumu mīnus 3 dienas un pēc tam izvada atbilstošo veselo skaitli.
=(TODAY()-3)*1.0
-
Lai datuma, skaitļa vai valūtas vērtību konvertētu par virkni, savienojiet vērtību ar tukšu virkni. Piemēram, šī formula šodienas datumu atgriež kā virkni.
=""& TODAY()
Lai nodrošinātu konkrēta datu tipa atgriezi, var izmantot arī šādas funkcijas:
Reālo skaitļu pārvēršana par veseliem skaitļiem
-
Reālo skaitļu, veselo skaitļu vai datumu pārvēršana par virknēm
-
Virkņu pārvēršana par reāliem skaitļiem vai datumiem
Scenārijs: Nosacījuma vērtības un Kļūdu testēšana
Līdzīgi kā programmā Excel DAX ir funkcijas, kas ļauj pārbaudīt datu vērtības un atgriezt citu vērtību, pamatojoties uz nosacījumu. Piemēram, varat izveidot aprēķināto kolonnu, kas tālākpārdevējus ielīmē kā vēlamo vai vērtību atkarībā no gada pārdošanas apjoma. Funkcijas, kas pārbauda vērtības, ir noderīgas arī vērtību diapazona vai tipa pārbaudei, lai nepieļautu neparedzētu datu kļūdu apraušanu aprēķinos.
Vērtības izveide, pamatojoties uz nosacījumu
Varat izmantot ligzdotus nosacījumus IF, lai pārbaudītu vērtības un ģenerētu jaunas vērtības ar nosacījumu. Tālāk redzamajā tēmā ir daži vienkārši nosacījumapstrādes un nosacījuma vērtību piemēri:
Kļūdu pārbaude formulā
Atšķirībā no programmas Excel, nevarat izmantot derīgas vērtības vienā aprēķinātās kolonnas rindā un nederīgas vērtības citā rindā. T.i., ja jebkurā Power Pivot kolonnas daļā rodas kļūda, visa kolonna tiek atzīmēta ar kļūdu, lai vienmēr izlabotu formulu kļūdas, kas rada nederīgas vērtības.
Piemēram, ja izveidojat formulu, kas dala ar nulli, var iegūt bezgalības rezultātu vai kļūdu. Dažas formulas neizdosies arī tad, ja funkcija atrod tukšu vērtību, ja tā sagaida skaitlisku vērtību. Datu modeļa izstrādes laikā vislabāk kļūdu parādīšana ir atļauta, lai jūs varētu noklikšķināt uz ziņojuma un novērst problēmu. Tomēr, publicējot darbgrāmatas, vajadzētu iekļaut kļūdu apstrādi, lai nepieļautu neparedzētu vērtību neveiksmi veikt aprēķinus.
Lai izvairītos no kļūdu atgriešanas aprēķinātajā kolonnā, izmantojiet loģisko un informācijas funkciju kombināciju, lai pārbaudītu, vai nav kļūdu, un vienmēr atgrieztu derīgas vērtības. Tālāk redzamajā tēmā ir sniegti daži vienkārši piemēri, kā to izdarīt programmā DAX.
Scenāriji: laika informācijas izmantošana
DAX laika informācijas funkcijas ietver funkcijas, kas palīdz no datiem izgūt datumus vai datumu diapazonus. Pēc tam šos datumus vai datumu diapazonus var izmantot, lai aprēķinātu vērtības līdzīgos periodos. Laika informācijas funkcijas ietver arī funkcijas, kas darbojas ar standarta datumu intervāliem, lai varētu salīdzināt vērtības mēnešos, gados vai ceturkšņi. Varat arī izveidot formulu, kas salīdzina noteikta perioda pirmā un pēdējā datuma vērtības.
Visu laika informācijas funkciju sarakstu skatiet sadaļā Laika informācijas funkcijas (TIME Intelligence Functions — DAX). Padomus par to, kā efektīvi izmantot datumus un laiku, Power Pivot datu analīzē, skatiet rakstā Datumi līdzeklī Power Pivot.
Kumulatīvā pārdošanas apjoma aprēķināšana
Šajās tēmās ir sniegti piemēri, kā aprēķināt slēgšanas un sākuma atlikumu. Piemēros varat izveidot bilances atlikumu dažādos intervālos, piemēram, dienās, mēnešos, ceturkšņi vai gados.
Vērtību salīdzināšana laika gaitā
Tālāk ir sniegti piemēri, kā salīdzināt summas dažādos laika periodos. DAX atbalstītie noklusējuma laika periodi ir mēneši, ceturkšņi un gadi.
Vērtības aprēķināšana pielāgotā datumu diapazonā
Skatiet tālāk norādītās tēmas, lai uzzinātu pielāgotu datumu diapazonu izgūšanas piemērus, piemēram, pirmās 15 dienas pēc pārdošanas reklāmas sākuma.
Ja izmantojat laika informācijas funkcijas, lai izgūtu pielāgotu datumu kopu, šo datumu kopu varat izmantot kā ievadi funkcijā, kas veic aprēķinus, lai izveidotu pielāgotus apkopojumus dažādos laika periodos. Lai uzzinātu, kā to paveikt, skatiet tālāk norādīto tēmu.
-
Piezīme.: Ja nav jānorāda pielāgots datumu diapazons, bet strādājat ar standarta grāmatvedības vienībām, piemēram, mēnešiem, ceturkšņiem vai gadiem, ieteicams veikt aprēķinus, izmantojot šim nolūkam izstrādātas laika informācijas funkcijas, piemēram, TOTALQTD, TOTALMTD, TOTALQTD utt.
Scenāriji: vērtību vērtēšanas un salīdzināšana
Lai rādītu tikai augšējo n vienumu skaitu kolonnā vai rakurstabulā, ir pieejamas vairākas opcijas.
-
Programmā Excel līdzekļus varat izmantot, lai izveidotu augšējo filtru. Varat arī atlasīt vairākas augstākās vai zemākās vērtības rakurstabulā. Šīs sadaļas pirmajā daļā aprakstīts, kā filtrēt pirmos 10 vienumus rakurstabulā. Papildinformāciju skatiet Excel dokumentācijā.
-
Varat izveidot formulu, kas dinamiski nosaka vērtības un pēc tam filtrē pēc vērtēšanas vērtībām, vai arī izmantot vērtēšanas vērtību kā datu griezumu. Otrajā šīs sadaļas daļā aprakstīts, kā izveidot šo formulu un pēc tam izmantot šo vērtēšanu datu griezumā.
Katrai metodei ir priekšrocības un trūkumi.
-
Excel augšējo filtru ir viegli izmantot, bet filtrs ir paredzēts tikai rādīšanas nolūkiem. Ja rakurstabulas pamatā esošie dati mainās, jums ir manuāli jāatsvaidzina rakurstabula, lai redzētu izmaiņas. Ja jums ir nepieciešams dinamisks darbs ar vērtēšanu, varat izmantot DAX, lai izveidotu formulu, kas salīdzina vērtības ar citām vērtībām kolonnā.
-
DAX formula ir jaudīgāka. turklāt, pievienojot vērtēšanas vērtību datu griezumam, varat vienkārši noklikšķināt uz datu griezuma, lai mainītu redzamo augšējo vērtību skaitu. Tomēr aprēķini tiek dārgi, un šī metode var nebūt piemērota tabulām ar daudzām rindām.
Tikai desmit augšējo vienumu slaidrāde rakurstabulā
Augšējo vai apakšējo vērtību slaidrāde rakurstabulā
|
Vienumu dinamiska secība, izmantojot formulu
Šajā tēmā ir piemērs par to, kā izmantot DAX, lai izveidotu vērtēšanu, kas tiek glabāta aprēķinātajā kolonnā. Tā kā DAX formulas tiek aprēķinātas dinamiski, jūs vienmēr varat būt pārliecināts, ka vērtēšanas ir pareiza pat tad, ja pamatā esošie dati ir mainījušies. Tā kā formula tiek izmantota aprēķinātajā kolonnā, varat izmantot vērtēšanu datu griezumā un pēc tam atlasīt augšējās 5, augšējās 10 vai pat 100 lielākās vērtības.