Valoda Data Analysis Expressions (DAX) pievienojumprogrammā Power Pivot
Applies ToExcel pakalpojumam Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

Sākumā data analysis Expressions (DAX) izklausās nedaudz biedējošas, bet neļaus jums apmuļķot nosaukumu. DAX pamatinformācija ir diezgan viegli saprotama. Vispirms — DAX nav programmēšanas valoda. DAX ir formulu valoda. DAX var izmantot, lai definētu pielāgotus aprēķinus aprēķinātajām kolonnām un mēram (dēvēti arī par aprēķinātajiem laukiem). DAX ietver dažas excel formulās izmantotās funkcijas un papildu funkcijas, kas paredzētas darbam ar relāciju datiem un dinamiskai apkopošanai.

INFORMĀCIJA PAR DAX formulām

DAX formulas ir ļoti līdzīgas Excel formulām. Lai to izveidotu, ierakstiet vienādības zīmi, pēc tam funkcijas nosaukumu vai izteiksmi, kā arī nepieciešamās vērtības vai argumentus. Tāpat kā Excel, DAX nodrošina dažādas funkcijas, kuras varat izmantot darbam ar virknēm, aprēķinu veikšanai, izmantojot datumus un laiku, vai nosacījuma vērtību aprēķināšanai.

Tomēr DAX formulas ir atšķirīgi šādos svarīgos veidos:

  • Ja vēlaties pielāgot aprēķinus pa rindām, DAX ietver funkcijas, kas ļauj izmantot pašreizējās rindas vērtību vai saistīto vērtību, lai veiktu aprēķinus, kas atšķiras atkarībā no konteksta.

  • DAX ietver funkcijas tipu, kas atgriež tabulu kā tās rezultātu, nevis vienu vērtību. Šīs funkcijas var izmantot, lai nodrošinātu ievadi citām funkcijām.

  • Laika informācijas funkcijas daX atļauj aprēķinus, izmantojot datumu diapazonus, un salīdziniet rezultātus paralēlās periodos.

Kur izmantot DAX formulas

Formulas programmā var Power Pivotcaprēķinātos bumos vai aprēķinātos fieldumos.

Aprēķinātās kolonnas

Aprēķinātā kolonna ir kolonna, ko pievienojat esošai tabulai Power Pivot kolonna. Tā vietā, lai ielīmētu vai importētu kolonnas vērtības, ir jāizveido DAX formula, kas definē kolonnu vērtības. Ja datu kolonnu Power Pivot iekļaut rakurstabulā (vai rakursdiagrammā), aprēķināto kolonnu var izmantot tāpat kā jebkuru citu datu kolonnu.

Aprēķināto kolonnu formulas ir līdzīgi programmā Excel izveidotajām formulām. Tomēr atšķirībā no programmas Excel dažādām tabulas rindām nevar izveidot citu formulu. tā vietā DAX formula tiek automātiski lietota visai kolonnai.

Ja kolonnā ir formula, vērtība tiek aprēķināta katrai rindai. Rezultāti tiek aprēķināti kolonnai, tiklīdz izveidojat formulu. Kolonnu vērtības tiek pārrēķinātas tikai tad, ja pamatā esošie dati tiek atsvaidzināti vai tiek izmantots manuālais pārrēķins.

Varat izveidot aprēķinātas kolonnas, kuru pamatā ir mēra un citas aprēķinātās kolonnas. Taču izvairieties no tā paša nosaukuma izmantošanas aprēķinātajā kolonnā un mērvienībā, jo tas var radīt mulsinot rezultātus. Atsaucoties uz kolonnu, vislabāk ir izmantot pilnu kolonnas atsauci, lai izvairītos no nejaušas mēra atsaukšanas.

Detalizētāku informāciju skatiet rakstā Aprēķinātās kolonnas līdzeklī Power Pivot.

Measures

Mērs ir formula, kas ir izveidota īpaši lietošanai rakurstabulā (vai rakursdiagrammā), kas Power Pivot datus. Mēra pamatā var būt standarta apkopošanas funkcijas, piemēram, COUNT vai SUM, vai arī varat definēt savu formulu, izmantojot DAX. Mērs tiek izmantots rakurstabulas apgabalā Vērtības. Ja aprēķinātos rezultātus vēlaties ievietot citā rakurstabulas apgabalā, tā vietā izmantojiet aprēķināto kolonnu.

Definējot formulu tiešam mēram, nekas nenotiek, kamēr mērs nav pievienots rakurstabulai. Pievienojot mērījumu, formula tiek novērtēta katrai šūnai rakurstabulas apgabalā Vērtības. Tā kā tiek izveidots rezultāts katrai rindu un kolonnu galveņu kombinācijai, mērvienības rezultāts var atšķirties katrā šūnā.

Izveidotā mēra definīcija tiek saglabāta kopā ar avota datu tabulu. Tas tiek rādīts rakurstabulas lauku sarakstā un ir pieejams visiem darbgrāmatas lietotājiem.

Detalizētāku informāciju skatiet sadaļā Mēra darbības līdzeklī Power Pivot.

Formulu izveide, izmantojot formulu joslu

Power Pivot, piemēram, Excel, nodrošina formulu joslu, lai būtu vieglāk izveidot un rediģēt formulas, kā arī automātiskās pabeigšanas funkcijas, lai samazinātu rakstīšanas un sintakses kļūdas.

Tabulas nosaukuma ievadīšana   Sāciet rakstīt tabulas nosaukumu. Formulas automātiskā pabeigšana nodrošina nolaižamo sarakstu, kurā ir derīgi nosaukumi, kas sākas ar šiem burtiem.

Lai ievadītu kolonnas nosaukumu   Ierakstiet iekavu un pēc tam pašreizējās tabulas kolonnu sarakstā izvēlieties kolonnu. Kolonnas no citas tabulas gadījumā sāciet rakstīt tabulas nosaukuma pirmos burtus un pēc tam automātiskās pabeigšanas nolaižamajā sarakstā izvēlieties kolonnu.

Papildinformāciju un detalizētu informāciju par formulu veidojiet skatiet rakstā Formulu izveide aprēķiniem līdzeklī Power Pivot.

Padomi par automātiskās pabeigšanas līdzekli

Varat izmantot formulu automātisko pabeigšanu esošas formulas vidū ar ligzdotām funkcijām. Tekstu, kas ir tieši pirms ievietošanas punkta, izmanto, lai parādītu vērtības nolaižamajā sarakstā, un viss teksts pēc ievietošanas punkta paliek nemainīts.

Konstantei izveidotie definētie nosaukumi netiek rādīti automātiskās pabeigšanas nolaižamajā sarakstā, bet tos joprojām var ierakstīt.

Power Pivot neskaita funkciju aizverošās iekavas un automātiski neatbilst iekavām. Pārliecinieties, vai katra funkcija ir sintakses secībā pareiza, vai arī nevarat saglabāt vai izmantot formulu. 

Vairāku funkciju izmantošana formulā

Varat ligzdot funkcijas, kas nozīmē, ka rezultāti no vienas funkcijas tiek lietoti kā citas funkcijas arguments. Aprēķinātās kolonnās varat ligzdot līdz 64 funkciju līmeņiem. Tomēr ligzdošana var apgrūtināt formulu veidojiet vai novērst tās problēmas.

Daudzas DAX funkcijas ir paredzētas lietošanai tikai kā ligzdotas funkcijas. Šīs funkcijas atgriež tabulu, kuru nevar tieši saglabāt kā rezultātu; tā ir jānodrošina kā tabulas funkcijas ievade. Piemēram, visām funkcijām SUMX, AVERAGEX un MINX kā pirmais arguments ir nepieciešama tabula.

Piezīme.: Daži funkciju ligzdošanas ierobežojumi pastāv mēra ietvaros, lai nodrošinātu, ka veiktspēju neietekmē daudzi aprēķini, kas nepieciešami atkarībā no kolonnām.

DAX funkciju un Excel funkciju salīdzināšana

DaX funkciju bibliotēkas pamatā ir programmas Excel funkciju bibliotēka, taču bibliotēkām ir daudz atšķirību. Šajā sadaļā apkopotas atšķirības un līdzības starp Excel funkcijām un DAX funkcijām.

  • Daudzām DAX funkcijām ir tāds pats nosaukums un vispārīga darbība kā Excel funkcijām, bet tās ir modificētas, lai varētu veikt dažādus ievades veidus, un dažos gadījumos var atgriezt citu datu tipu. Parasti DAX funkcijas nevar izmantot Excel formulā vai programmā Power Pivot Excel formulas, neveicot kādas izmaiņas.

  • DAX funkcijas kā atsauces nekad nepārņem šūnas atsauci vai diapazonu, bet DAX funkcijas kā atsauces funkciju veikšanai izmanto kolonnu vai tabulu.

  • DAX datuma un laika funkcijas atgriež datuma/laika datu tipu. Savukārt Programmas Excel datuma un laika funkcijas atgriež veselu skaitli, kas apzīmē datumu kā sērijas numuru.

  • Daudzas jaunās DAX funkcijas atgriež vērtību tabulu vai veic aprēķinus, par pamatu ņemot vērtību tabulu kā ievadi. Savukārt programmā Excel nav funkciju, kas atgriež tabulu, taču dažas funkcijas var darboties ar masīviem. Iespēja vienkārši izveidot atsauces uz pabeigtām tabulām un kolonnām ir jauns programmas Power Pivot.

  • DAX nodrošina jaunas uzmeklēšanas funkcijas, kas ir līdzīgas masīva un vektora uzmeklēšanas funkcijām programmā Excel. Tomēr DAX funkcijām ir nepieciešams izveidot relāciju starp tabulām.

  • Ir paredzams, ka kolonnas datiem vienmēr būs vienāds datu tips. Ja dati nav vienāds tips, DAX maina visu kolonnu uz datu tipu, kas vislabāk atbilst visām vērtībām.

DAX datu tipi

Varat importēt datus datu modelī Power Pivot no daudziem dažādiem datu avotiem, kas var atbalstīt dažādus datu tipus. Importējot vai ielādējot datus un pēc tam izmantojot datus aprēķinos vai rakurstabulās, dati tiek konvertēti par vienu no datu Power Pivot tipiem. Datu tipu sarakstu skatiet sadaļā Datu tipi datu modeļos.

Tabulas datu tips ir jauns DAX datu tips, kas tiek izmantots kā daudzu jaunu funkciju ievade vai izvade. Piemēram, funkcija FILTER tabulu paņem kā ievades un izvadi citu tabulu, kurā ir tikai filtra nosacījumiem atbilst rindas. Apvienojot tabulas funkcijas ar apkopošanas funkcijām, varat veikt sarežģītus aprēķinus dinamiski definētās datu kopās. Papildinformāciju skatiet rakstā Apkopojumi pievienojumdiagrammā Power Pivot.

Formulas un relāciju modelis

Logs Power Pivot ir apgabals, kur varat strādāt ar vairākām datu tabulām un savienot relāciju modelī esošās tabulas. Šajā datu modelī tabulas ir savienotas vienu ar otru ar relācijām, kas ļauj izveidot korelācijas ar kolonnām citās tabulās un veikt interesantākus aprēķinus. Piemēram, varat izveidot formulas, kas summē vērtības saistītai tabulai, un pēc tam saglabāt šo vērtību vienā šūnā. Vai arī, lai kontrolētu rindas no saistītās tabulas, varat lietot filtrus tabulām un kolonnām. Papildinformāciju skatiet sadaļā Relācijas starp tabulām datu modelī.

Tā kā tabulas var saistīt, izmantojot relācijas, jūsu rakurstabulās var būt iekļauti dati no vairākām kolonnām no dažādām tabulām.

Tomēr, tā kā formulas var strādāt ar veselām tabulām un kolonnām, aprēķini noformējiet citādi, nekā to darāt programmā Excel.

  • Parasti DAX formula kolonnā vienmēr tiek lietota visai kolonnas vērtību kopai (nekad tikai dažām rindām vai šūnām).

  • Tabulas Power Pivot vienmēr jābūt vienādam kolonnu skaitam katrā rindā, un visās kolonnas rindās ir jābūt vienādam datu tipam.

  • Ja tabulas ir savienotas ar relāciju, ir jānodrošina, lai abām kolonnām, kas tiek izmantotas kā atslēgas, būtu vērtības, kas ir saskaņotas, vairākumam gadījumu. Tā Power Pivot neievieš attiecinošo integritāti, atslēgas kolonnā var būt neatbilstības vērtības un joprojām var izveidot relāciju. Tomēr tukšu vai nesaskaņotu vērtību klātbūtne var ietekmēt formulu rezultātus un rakurstabulu izskatu. Papildinformāciju skatiet rakstā Uzmeklēšana Power Pivot formulās.

  • Saistot tabulas, izmantojot relācijas, jūs palielināt tvērumu vai tekstu c, kurā tiek novērtētas formulas. Piemēram, formulas rakurstabulā var ietekmēt jebkuri filtri vai kolonnu un rindu virsraksti rakurstabulā. Varat rakstīt formulas, kas manipulē ar kontekstu, bet konteksts arī var likt rezultātiem mainīties tā, kā to nav paredzat. Papildinformāciju skatiet rakstā DAX formulu konteksts.

Formulu rezultātu atjaunināšana

Datu r efress un pārrēķins ir divas atsevišķas, bet saistītas darbības, kas jums ir jāizprot, veidojot datu modeli, kurā ir sarežģītas formulas, liels datu apjoms vai dati, kas iegūti no ārējiem datu avotiem.

Datu atsvaidzināšana ir process, kurā darbgrāmatas dati tiek atjaunināti ar jauniem datiem no ārēja datu avota. Varat atsvaidzināt datus manuāli norādītajiem intervāliem. Vai, ja esat publicējis darbgrāmatu SharePoint vietnē, varat ieplānot automātisku atsvaidzināšanu no ārējiem avotiem.

Pārrēķins ir formulu rezultātu atjaunināšanas process, lai atspoguļotu visas pašu formulu izmaiņas un atspoguļotu šīs pamatā esošo datu izmaiņas. Pārrēķināšana var ietekmēt veiktspēju šādos veidos:

  • Ja izmantojat aprēķināto kolonnu, formulas rezultāts vienmēr ir jāpārrēķina visā kolonnā ikreiz, kad maināt formulu.

  • Mēriem formulas rezultāti netiek aprēķināti, kamēr mērs netiek ievietots rakurstabulas vai rakursdiagrammas kontekstā. Formula arī tiks pārrēķināta, kad maināt rindas vai kolonnas virsrakstu, kas ietekmē datu filtrus, vai manuāli atsvaidzinot rakurstabulu.

Problēmu novēršana saistībā ar formulām

Kļūdas, rakstot formulas

Ja, definējot formulu, tiek parādīts kļūdas ziņojums, formula var saturēt sintakses kļūdu,semantiskās kļūdas vai aprēķina kļūdu.

Sintakses kļūdas ir vieglāk novērst. Tajās parasti ir trūkstošas iekavas vai komats. Lai saņemtu palīdzību par atsevišķu funkciju sintaksi, skatiet DAX funkciju uzziņa.

Cita tipa kļūda rodas, ja sintakse ir pareiza, bet vērtība vai kolonna, uz kuru ir atsauce, nav saprotama formulas kontekstā. Šādas semantikas un aprēķinu kļūdas var izraisīt kāda no šīm problēmām:

  • Formula atsaucas uz esošu kolonnu, tabulu vai funkciju.

  • Formula šķiet pareiza, bet, kad datu programma ieneses datus, tie atrod tipa neatbilstību, un kāvērš kļūdu.

  • Formula nodod funkcijai nepareizu parametru skaitu vai tipu.

  • Formula atsaucas uz citu kolonnu, kurā ir kļūda, tāpēc tās vērtības ir nederīgas.

  • Formula atsaucas uz kolonnu, kas nav apstrādāta, kas nozīmē, ka tai ir metadati, bet nav faktisku datu, ko izmantot aprēķiniem.

Pirmo četru gadījumu DAX atzīmē visu kolonnu, kurā ir nederīga formula. Pēdējā gadījumā DAX pelēko kolonnu, lai norādītu, ka kolonna ir neapstrādātā stāvoklī.

Nepareizi vai neierasti rezultāti, kārtojot kolonnu vērtības vai to secību

Ja rangā vai sakārtojot kolonnu, kurā ir vērtība NAN (nevis skaitlis), iespējams, tiks radīti nepareizi vai neparedzēti rezultāti. Piemēram, ja aprēķins 0 dala ar 0, tiek atgriezts NAN rezultāts.

Tas ir tāpēc, ka formulas programma veic kārtošanu un vērtēšanu, salīdzinot skaitliskās vērtības. tomēr naN nevar salīdzināt ar citiem skaitļiem kolonnā.

Lai nodrošinātu pareizus rezultātus, varat izmantot nosacījuma priekšrakstus, izmantojot funkciju IF, lai pārbaudītu NaN vērtības un atgrieztu skaitlisku 0 vērtību.

Saderība ar analīzes pakalpojumu tabulārajiem modeļiem un directQuery režīmu

DaX formulas, kuras veidojat programmā Power Pivot ir pilnībā saderīgas ar analīzes pakalpojumu tabulveida modeļiem. Tomēr, ja savu datu Power Pivot uz analīzes pakalpojumu instanci un pēc tam izvietojat modeli režīmā DirectQuery, pastāv daži ierobežojumi.

  • Dažas DAX formulas var atgriezt atšķirīgus rezultātus, ja modelis tiek izvietots režīmā DirectQuery.

  • Dažas formulas var izraisīt validācijas kļūdas, izvietojot modeli directQuery režīmā, jo formulā ir DAX funkcija, kas netiek atbalstīta relācijas datu avotā.

Papildinformāciju skatiet rakstā Analīzes pakalpojumu tabulveida modelēšanas dokumentācija programmā SQL Server 2012 BooksOnline.

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.