Īsā pamācība: valodas DAX pamatfunkciju apguve 30 minūtēs

Svarīgi! :  Šis raksts ir mašīntulkots, skatiet atrunu. Lūdzu, skatiet šī raksta versiju angļu valodā šeit jūsu informācijai.

Sadaļa Īsā pamācība paredzēta jauniem programmas Excel pievienojumprogrammas Power Pivot lietotājiem vai tabulveida modeļu projektos, kas autorizēti programmā SQL Server Data Tools. Tā paredzēta, lai sniegtu ātru un vienkāršu ievadu valodas Data Analysis Expressions (DAX) lietošanā daudzu pamata datu modelēšanas un analīzes problēmu risināšanai. Šajā tēmā ietverta konceptuāla informācija, virkne uzdevumu un daži testi, kas izpildāmi jauniegūto zināšanu pārbaudei. Apgūstot šo tēmu, jums būs labas zināšanas par vairumu valodas DAX būtiskāko pamata koncepciju.

Kas ir valoda DAX?

Valoda DAX ir funkciju, operatoru un konstanšu kopa, kas var tikt ietverta formulā vai izteiksmē, lai aprēķinātu vai atgrieztu vienu vai vairākas vērtības. Vienkārši sakot, valoda DAX palīdz izveidot jaunu informāciju no modelī jau esošajiem datiem.

Kāpēc valoda DAX ir nozīmīga?

Ir viegli izveidot darbgrāmatu un importēt tajā kādus datus. Varat pat izveidot rakurstabulas vai rakursdiagrammas, kurās tiek attēlota svarīga informācija, neizmantojot valodas DAX formulas. Taču, ja nepieciešams analizēt nozīmīgus pārdošanas datus par vairākām preču kategorijām un dažādos datumu diapazonos? Vai arī nepieciešams kombinēt svarīgus krājumu datus no vairākām tabulām dažādos datu avotos? Valodas DAX formulas sniedz šādas un daudzas citas nozīmīgas iespējas. Informācija par to, kā izveidot efektīvas valodas DAX formulas, palīdzēs maksimāli izmantot datus. Iegūstot nepieciešamo informāciju, jūs varat sākt risināt reālas biznesa problēmas, kas ietekmē jūsu ieņēmumus. Tā ir biznesa informācija, kuru palīdzēs apgūt valoda DAX.

Priekšnosacījumi

Iespējams, ka jau zināt, kā izveidot formulas programmā Microsoft Excel. Šīs zināšanas būs noderīgas valodas DAX apguvē, taču, pat ja jums nav pieredzes darbā ar programmas Excel formulām, šeit aprakstītās koncepcijas palīdzēs jums sākt veidot valodas DAX formulas un uzreiz risināt reālas biznesa informācijas problēmas.

Mēs plānojam fokusu tieši uz izpratne par DAX formulu izmantot aprēķinos. Jums jau jau jāpārzina pamata jēdzieni aprēķināto kolonnu un mēru (tiek sauktas arī par aprēķinātajiem laukiem) abos gadījumos ir aprakstīti Power Pivot palīdzība. Jums jau arī jāpārzina Power Pivot programmā Excel autorēšanas vidē un rīki.

Parauga darbgrāmata

Valodu DAX var vislabāk apgūt, izveidojot dažas pamata formulas, izmantojot tās datu apstrādē un skatot, kādi ir rezultāti. Šeit sniegtajos piemēros un uzdevumos tiek izmantota darbgrāmata Contoso Sample DAX Formulas.xlsx. Darbgrāmatu var lejupielādēt šeit: http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Kad esat lejupielādējis darbgrāmatu datorā, atveriet to un pēc tam atveriet pievienojumprogrammas Power Pivot logu.

Darba sākšana

Valodas DAX apguve tiks organizēta, apgūstot trīs ļoti svarīgas pamata koncepcijas: sintakse, funkcijas un konteksts. Valodā DAX, protams, ir arī citas svarīgas koncepcijas, taču izpratne par šīm trīs koncepcijām nodrošinās vislabāko zināšanu pamatu, uz kura attīstīt valodas DAX prasmes.

Sintakse

Pirms pats izveidojat savas formulas, skatiet ieskatu valodas DAX formulu sintaksē. Sintaksē ir ietverti dažādi elementi, kas veido formulu, vai, vienkārši sakot, — tā ir veids, kā formula ir uzrakstīta. Tālāk sniegts piemērs ar vienkāršu valodas DAX formulu, kuru izmanto jaunu datu (vērtību) izveidošanai katrai aprēķinātās kolonnas Margin rindai tabulā FactSales (formulas teksta krāsas lietotas tikai paskaidrojošos nolūkos).

Aprēķinātās kolonnas formula

Šīs formulas sintaksē ietverti tālāk uzskaitītie elementi.

  1. Vienādības zīmes operators (=) norāda formulas sākumu, un, aprēķinot šo formulu, tiks atgriezts rezultāts vai vērtība. Visas formulas, kas aprēķina vērtību, sākas ar vienādības zīmi.

  2. Ar atsauci norādītajā kolonnā [SalesAmount] iekļautas vērtības, no kurām jāatņem. Atsauce uz kolonnu formulā vienmēr tiek ietverta iekavās []. Pretēji Excel formulām, kurās tiek ietverta atsauce uz šūnu, valodas DAX formulās vienmēr tiek ietverta atsauce uz kolonnu.

  3. Atņemšanas (-) matemātiskais operators.

  4. Ar atsauci norādītajā kolonnā [TotalCost] iekļautas vērtības, kuras jāatņem no kolonnas [SalesAmount] vērtībām.

Mēģinot lasīt valodas DAX formulu, parasti ir noderīgi sadalīt katru no elementiem valodā, kurā ikdienā domājat un runājat. Piemēram, formulu iespējams lasīt šādi:

, FactSales tabulas katras aprēķinātās kolonnas Margin rindas tiek aprēķināta (=) vērtība, atņemot (-) [ TotalCost ] vērtības no kolonnas [ SalesAmount ] kolonnas.

Arī tālāk aprakstītā cita tipa formula tiek izmantota pakalpojumā pasākums.

Aprēķinātās kolonnas formula

Šajā formulā ietverti tālāk uzskaitītie sintakses elementi.

  1. Pasākuma nosaukums, pārdošanas apjoma summa. Formulas pasākumus varat iekļaut pasākuma nosaukumu, kam seko kols, kam seko aprēķinu formulu.

  2. Vienādības zīmes operators (=) norāda aprēķina formulas sākumu. Kad formula tiks aprēķināta, tā atgriezīs rezultātu.

  3. Funkcija SUM summē visas kolonnas [SalesAmount] skaitliskās vērtības. Papildinformācija par funkcijām tiks sniegta vēlāk.

  4. Iekavās () ietverts viens vai vairāki argumenti. Visām funkcijām ir nepieciešams vismaz viens arguments. Arguments nodod vērtību funkcijai.

  5. Norādītā tabula FactSales.

  6. Ar atsauci norādītā kolonna [SalesAmount] tabulā FactSales. Izmantojot šo argumentu, funkcija SUM nosaka, kurā kolonnā ir jāveic SUM apkopojums.

Formulu iespējams lasīt šādi:

Par pasākuma ar nosaukumu Sum of Sales Amount, tiek aprēķināts (=) vērtību summu [ SalesAmount ] kolonnā FactSales tabula.

Kad ievietotas vērtības nomešanas zonas PivotTable lauku sarakstā, šis līdzeklis tiek aprēķināta un tiek atgriezta vērtībām, kas norādītas pēc katras šūnas rakurstabulā, piemēram, mobilajiem tālruņiem ASV.

Ņemiet vērā, ka šajā formulā atšķiras dažas lietas, salīdzinot ar aprēķinātajā kolonnā Margin izmantoto formulu. Īpaša uzmanība tika veltīta funkcijai SUM. Funkcijas ir jau gatavas formulas, kas vienkāršo sarežģītu aprēķinu un manipulāciju veikšanu ar skaitļiem, datumiem, laiku, tekstu u.c. Papildinformācija par funkcijām tiks sniegta vēlāk.

Atšķirībā no aprēķinātās kolonnas Margin iepriekš, redzat kolonnas [SalesAmount] bija pirms tabulas FactSales kolonnas pieder. To sauc par kolonnas pilnais nosaukums, ka tajā ir kolonnas nosaukums atbilstošai tabulas nosaukumu. Atsauce uz vienu un to pašu tabulu kolonnas nav jāveic tabulas nosaukums ir jāiekļauj formulā. Tas var padarīt garš formulas, kas atsaucas uz daudz kolonnu būtu īsāks un vieglāk lasāmas. Tomēr ir ieteicams vienmēr jāiekļauj tabulas nosaukums pasākuma formulās, pat ja vienā un tajā pašā tabulā.

Piezīme : Ja tabulas nosaukumā ir atstarpes, rezervēti atslēgvārdi vai neatļautas rakstzīmes, tabulas nosaukums ir jāietver vienpēdiņās. Tabulas nosaukums ir jāietver pēdiņās arī tad, ja tajā ir iekļauta jebkura rakstzīme, kas nav ANSI burtciparu rakstzīme, neatkarīgi no tā, vai jūsu lokalizācijā tiek atbalstīta šī rakstzīmju kopa.

Pareiza sintakse formulās ir ļoti nozīmīga. Ja sintakse nav pareiza, vairumā gadījumu tiks atgriezta sintakses kļūda. Pārējos gadījumos sintakse var būt pareiza, bet atgrieztās vērtības var nebūt gaidītās. Pievienojumprogrammā Power Pivot (un programmā SQL Server Data Tools) ir ietverts līdzeklis IntelliSense; to izmanto, lai izveidotu sintaktiski pareizas formulas, palīdzot atlasīt pareizos elementus.

Vienkāršas formulas izveide. Šis uzdevums palīdzēs labāk izprast formulas sintaksi un to, kā līdzeklis IntelliSense formulu joslā var jums palīdzēt.

Uzdevums: vienkāršas formulas izveide aprēķinātajai kolonnai

  1. Ja vēl neesat Power Pivot logu, programmā Excel, uz Power Pivot lenti, noklikšķiniet uz Power Pivot logu.

  2. Pievienojumprogrammas Power Pivot logā noklikšķiniet uz tabulas (cilnes) FactSales.

  3. Ritiniet līdz pēdējai kolonnai labajā pusē un pēc tam kolonnas virsrakstā noklikšķiniet uz Pievienot kolonnu.

  4. Formulu joslā noklikšķiniet modeļa noformētāja loga augšpusē.

    PowerPivot formulu josla

    Tagad kursors ir redzams formulu joslā. Formulu joslā tiek ievadīta aprēķinātās kolonnas vai aprēķinātā lauka formula.

    Īss apraksts par trīs pogām formulu joslas kreisajā pusē.

    Formulu josla

    Kad kursors ir aktīvs formulu joslā, tiek aktivizētas šīs trīs pogas. Pēdējā poga kreisajā pusē, X, ir vienkārši atcelšanas poga. Noklikšķiniet uz tās. Formulu joslā vairs nav redzams kursors, kā arī vairs nav redzama atcelšanas poga un kontrolzīmes poga. Vēlreiz noklikšķiniet formulu joslā. Tagad atcelšanas un kontrolzīmes pogas atkal ir redzamas. Tas nozīmē, ka varat sākt ievadīt formulu.

    Kontrolzīmes poga ir formulas pārbaudīšanas poga. Tā neveic darbības, kamēr nav ievadīta formula. Pie šīs pogas atgriezīsimies vēlāk.

    Noklikšķiniet uz pogas Fx . Redzēsit, ka parādās jauns dialoglodziņš; Dialoglodziņa Funkcijas ievietošana. Dialoglodziņa Funkcijas ievietošana ir vienkāršākais veids, kā sākt darbu, ievadot DAX formulu. Kad mēs izveidot izmēru nedaudz vēlāk, bet tagad, jums nav nepieciešams pievienot funkciju aprēķinātās kolonnas formulai formulai tiks pievienots funkciju. Doties uz priekšu un aizveriet dialoglodziņu Ievietot funkciju.

  5. Formulu joslā ievadiet vienādības zīmi =, pēc tam ievadiet sākuma iekavu [. Tiks parādīts neliels logs ar visām tabulas FactSales kolonnām. Tā ir līdzekļa IntelliSense darbība.

    Tā kā aprēķinātās kolonnas vienmēr tiek izveidotas aktīvajā tabulā, kurā atrodaties, pirms kolonnas nosaukuma nav jānorāda tabulas nosaukums. Ritiniet lejup un pēc tam veiciet dubultklikšķi uz kolonnas [SalesQuantity]. Varat arī ritināt līdz nepieciešamajam kolonnas nosaukumam un pēc tam nospiest tabulēšanas taustiņu.

    Tagad kursors ir aktīvs pa labi no [kolonnas SalesQuantity].

  6. Ievadiet atstarpi, pēc tam ievadiet atņemšanas operatoru - (mīnuszīmi) un tad ievadiet vēl vienu atstarpi.

  7. Tagad, ievadiet citu atverošā iekava [. Šajā laikā, atlasiet [kolonnaiReturnQuantity] un pēc tam nospiediet taustiņu Enter.

    Ja tiek parādīts kļūdas ziņojums, uzmanīgi pārbaudiet sintaksi. Ja nepieciešams, salīdziniet to ar iepriekš aprakstīto aprēķinātās kolonnas Margin formulu.

    Pēc tam, kad ir nospiests taustiņš Enter formulas pabeigšanai, statusa joslā pievienojumprogrammas Power Pivot loga apakšpusē tiek parādīts statuss Notiek aprēķināšana. Darbība notiek ātri, lai arī tikko tika aprēķinātas jaunas vērtības vairāk nekā trīs miljoniem rindu.

  8. Ar peles labo pogu noklikšķiniet uz kolonnas virsraksta un pārdēvējiet kolonnu NetSales.

Jūs esat izveidojis vienkāršu, bet ļoti efektīvu valodas DAX formulu. Formula NetSales aprēķina vērtību katrai tabulas FactSales rindai, atņemot kolonnas [ReturnQuantity] vērtību no kolonnas [SalesQuantity] vērtības. Ievērojiet, kā tas tika pateikts — katrai rindai. Tas ir pavisam neliels ieskats citā ļoti svarīgā valodas DAX koncepcijā — rindas konteksts. Informācija par rindas kontekstu tiks sniegta vēlāk.

Padoms : 

Kaut kas patiešām svarīgi, lai izprastu ierakstot operatoru DAX formulā nav datu tipu argumenti tiek izmantota. Piemēram, ja vēlaties, ierakstiet šo formulu, = 1 un 2, atgrieztā vērtība būtu teksta vērtību "12". Tas ir tāpēc, ka ir teksta konkatenācijas operators &. DAX interpretē šo formulu, lai lasītu: aprēķinātu rezultātu, ņemot vērā vērtību 1 tekstā un pievienojiet vērtību 2 kā tekstu. Tagad, ja vēlaties ievadīt = 1 + 2, DAX lasa kā šī formula: aprēķinātu rezultātu, ņemot vērā skaitliskā vērtība 1 un pievienojot skaitliskā vērtība 2. Protams, rezultāts ir "3" skaitliskā vērtība. DAX aprēķina iegūtās vērtības atkarībā no operatoru formulā nav pamatota uz izmantoto argumentā kolonnu datu tipu. Datu tipi valodā DAX ir ļoti svarīgi, bet neietilpst šajā īsajā pamācībā. Lai uzzinātu vairāk par datu tipiem un operatoru DAX formulās, skatiet rakstu uzziņas par DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) grāmatas Online.

Tagad izmēģināsim citu. Šajā laikā tiks izveidots izmēru, ierakstot formulu un izmantojot IntelliSense. Neuztraucieties pārāk daudz, ja nav pilnībā izprast formulu. Lai uzzinātu, kā izveidot formulu, izmantojot vairākus elementus kopā pareizā sintakse ir svarīgi.

Uzdevums: Mērs formulas izveide

  1. Tabulā FactSales noklikšķiniet uz jebkuras no tukšajām šūnām aprēķinu apgabalā. Tas ir tukšu šūnu apgabals tieši zem tabulas pievienojumprogrammas Power Pivot logā.

PowerPivot aprēķinu apgabals

  1. Formulu joslā ievadiet nosaukumu Previous Quarter Sales:.

  2. Ievadiet vienādības zīmi =, lai sāktu aprēķinu formulu.

  3. Ievadiet dažus pirmos burtus CAL un pēc tam veiciet dubultklikšķi uz izmantojamās funkcijas. Šajā formulā ir jāizmanto funkcija CALCULATE.

  4. Ievadiet atverošo apaļo iekavu (, lai sāktu argumentu padošanu funkcijai CALCULATE.

    Ievērojiet, ka pēc atverošās apaļās iekavas ievadīšanas līdzeklis IntelliSense parāda funkcijai CALCULATE nepieciešamos argumentus. Pie argumentiem atgriezīsimies mazliet vēlāk.

  5. Ievadiet dažus tabulas FactSales pirmos burtus un nolaižamajā sarakstā veiciet dubultklikšķi uz FactSales[pārdošanas].

  6. Ievadiet komatu (,), lai norādītu pirmo filtru, tad ievadiet PRE un veiciet dubultklikšķi uz funkcijas PREVIOUSQUARTER.

    Pēc funkcijas PREVIOUSQUARTER atlasīšanas tiek parādīta cita atverošā apaļā iekava, norādot, ka ir nepieciešams vēl viens arguments; šoreiz funkcijai PREVIOUSQUARTER.

  7. Ierakstiet pirmo Dim pirmos burtus un pēc tam veiciet dubultklikšķi uz DimDate[Datumaatslēga].

  8. Aizveriet abus argumentus, kas padoti funkcijai PREVIOUSQUARTER un funkcijai CALCULATE, ievadot divas aizverošās apaļās iekavas )).

    Tiek iegūta šāda formula:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Formulu joslā noklikšķiniet uz formulas pārbaudes pogas, lai validētu to. Ja tiek parādīts kļūdas ziņojums, pārbaudiet katru sintakses elementu.

Jūs to! Tikko izveidoto mērs, izmantojot DAX, un nav vienkārši vienu pēc tā. Šī formula veiciet ir kopējo pārdošanas apjomu aprēķināšana iepriekšējā ceturkšņa atkarībā no rakurstabulas vai rakursdiagrammas tiek lietoti filtri.

Tas bija ieskats vairākos nozīmīgos valodas DAX aspektos. Pirmkārt, šajā formulā ir ietvertas divas funkcijas. Ievērojiet, ka funkcija PREVIOUSQUARTER ir ligzdota kā arguments, kas padots funkcijai CALCULATE. Valodas DAX formulās var būt ietvertas līdz 64 ligzdotām funkcijām. Lai gan maz ticams, ka formulā varētu būt ietverts tik daudz ligzdotu formulu. Tādu formulu būtu ļoti sarežģīti izveidot un atkļūdot, kā arī tā, iespējams, nebūtu ļoti ātra.

Šajā formulā tika izmantoti arī filtri. Filtri precīzi nosaka to, kas tiks aprēķināts. Šajā gadījumā viens filtrs tika atlasīts kā arguments, kurš patiesībā ir cita funkcija. Papildinformācija par filtriem tiks sniegta vēlāk.

Šajā formulā tika izmantota funkcija CALCULATE. Šī ir viena no visefektīvākajām funkcijām valodā DAX. Autorizējot datu modeļus un veidojot daudz sarežģītākas formulas, jūs, visticamāk, izmantosit šo funkciju vairākkārt. Funkcija CALCULATE ir aplūkojama ārpus sadaļas Īsā pamācība, taču, pieaugot jūsu zināšanām par valodu DAX, pievērsiet īpašu uzmanību šai funkcijai.

Piezīme : Parasti, lai valodas DAX formulās izmantotu laika informācijas funkcijas, ir jānorāda unikāla datuma kolonna, izmantojot dialoglodziņu Atzīmēt kā datuma tabulu. Darbgrāmatā Contoso DAX Formula Samples.xlsx tabulas DimDate kolonna DateKey ir atlasīta kā unikāla datuma kolonna.

Papildinformācija

Jums var jautā: kas ir vienkāršākais var izveidot DAX formulu? Labi, atbilde uz šo ir "formula nav". Un tas ir precīzi, ko varat veikt, izmantojot standarta apkopojuma funkciju pakalpojumā pasākums. Gandrīz jebkuru datu modelis ir nepieciešams filtrēt un aprēķinātu apkopoti dati. Piemēram, funkciju SUM Sum of Sales Amount pasākuma redzējāt iepriekš tiek izmantoti, lai saskaitītu visus skaitļus šajā noteiktas kolonnas. DAX ietver vairākas citas funkcijas, kuras vērtības, kā arī apkopot. Varat automātiski izveidot formulas, izmantojot standarta apkopojumi, izmantojot līdzekli Automātiskā summa.

Papilduzdevums: Mērs formulas izveide, izmantojot līdzekli Automātiskā summa

  1. Tabulā FactSales ritiniet līdz kolonnai ReturnQuantity un pēc tam noklikšķiniet uz kolonnas virsraksta, lai atlasītu visu kolonnu.

  2. Cilnes Sākums lentē grupā aprēķini noklikšķiniet uz pogas Automātiskā summēšana.

Līdzeklis Automātiskā summa pievienojumprogrammā PowerPivot

  1. Noklikšķiniet uz lejupvērstās bultiņas blakus Automātiskā summa un pēc tam noklikšķiniet uz vidējo vērtību (paziņojumu citām standarta apkopojuma funkcijas, var var izmantot, pārāk).
    Uzreiz, ar nosaukumu Average ReturnQuantity tiek izveidota jauna pasākuma: seko formulu = AVERAGE([ReturnQuantity]).

Tas taču bija vienkārši? Protams, ne visas izveidojamās formulas būs tik vienkāršas. Taču līdzeklī Automātiskā summa var izveidot ātras un vienkāršas formulas, izmantojot standarta apkopošanas aprēķinus.

Šai informācijai vajadzētu sniegt labas zināšanas par valodas DAX formulās izmantoto sintaksi. Tika sniegta informācija arī par diviem ļoti noderīgiem līdzekļiem — IntelliSense un Automātiskā summa —lai palīdzētu izveidot ātras, vienkāršas un precīzas formulas. Protams, par sintaksi varētu vēl daudz uzzināt. Noderīgas vietas, kur iegūt papildinformāciju, ir valodas DAX uzziņas vai pakalpojums SQL Books Online.

Īsa zināšanu pārbaude par sintaksi

  1. Kādas darbības veic šī formulu joslas poga?
    Funkciju poga

  2. Kādās rakstzīmēs valodas DAX formulā vienmēr tiek ietverts kolonnas nosaukums?

  3. Kā jūs rakstāt šādu formulu:
    , DimProduct tabulu, katrai rindai UnitMargin aprēķinātās kolonnas aprēķināta vērtība, atņemot vienības kolonnas vērtības no UnitPrice kolonnas?

Atbildes tiek sniegtas šīs tēmas beigās.

Funkcijas

Funkcijas ir iepriekš definētas formulas, kuras veic aprēķinus, izmantojot konkrētas vērtības, dēvētas par argumentiem, noteiktā kārtībā vai pēc noteiktas struktūras. Arguments var būt citas funkcijas, cita formula, atsauces uz kolonnām, skaitļi, teksts, loģiskās vērtības, piemēram, TRUE vai FALSE, vai konstantes.

Valodā DAX ietvertas šādas funkciju kategorijas: datuma un laika, informācijas, loģiskās, matemātiskās, statistiskās, teksta un laika informācijas funkcijas. Ja esat strādājis ar funkcijām programmas Excel formulās, daudzas valodas DAX funkcijas šķitīs līdzīgas; tomēr valodas DAX funkcijas ir unikālas tālāk aprakstītajos veidos.

  • DAX funkcijā vienmēr ir atsauce uz veselu kolonnu vai tabulu. Ja vēlaties lietot tikai noteiktas tabulas vai kolonnas vērtības, varat pievienot formulai filtrus.

  • Ja nepieciešams pielāgot aprēķinus pa rindām, varat izmantot valodas DAX funkcijas, kas sniedz iespēju izmantot pašreizējās rindas vērtību vai saistīto vērtību kā argumentu, lai veiktu pēc konteksta atšķirīgus aprēķinus. Informācija par kontekstu tiks sniegta vēlāk.

  • Valodā DAX ir iekļautas daudzas funkcijas, kas atgriež tabulu, nevis vērtību. Tabula nav redzama, bet tiek izmantota, lai nodrošinātu citu funkciju ieejas datus. Piemēram, varat izgūt tabulu un pēc tam skaitīt tās atšķirīgās vērtības vai aprēķināt dinamiskas summas filtrētās tabulās vai kolonnās.

  • Valodā DAX iekļautas dažādas laika informācijas funkcijas. Izmantojot šīs funkcijas, varat definēt vai atlasīt datumu diapazonus, kā arī veikt uz tiem balstītus dinamiskus aprēķinus. Piemēram, varat salīdzināt summas paralēlos periodos.

Dažkārt ir sarežģīti noteikt, kuras funkcijas jāizmanto formulā. Pievienojumprogrammā Power Pivot un pakalpojuma SQL Server Data Tools tabulas modeļa noformētājā ir iekļauts līdzeklis Funkcijas ievietošana — tas ir dialoglodziņš, kas palīdz atlasīt funkcijas pēc kategorijas un sniedz īsu aprakstu par katru funkciju.

Funkcijas ievietošana

Jaunas formulas izveide ar iekļautu funkciju, kura jāatlasa, izmantojot līdzekli Funkcijas ievietošana:

Uzdevums: funkcijas pievienošana formulai, izmantojot līdzekli Funkcijas ievietošana

  1. Tabulā FactSales ritiniet līdz pēdējai kolonnai labajā pusē un pēc tam kolonnas virsrakstā noklikšķiniet uz Pievienot kolonnu.

  2. Formulu joslā ievadiet vienādības zīmi =.

  3. Noklikšķiniet uz pogas Funkcijas ievietošana. Funkcijas ievietošana Tiek atvērts dialoglodziņš Funkcijas ievietošana.

  4. Dialoglodziņā Funkcijas ievietošana noklikšķiniet uz saraksta lodziņa Atlasīt kategoriju. Pēc noklusējuma tiek atlasīta kategorija Visi vienumi, un visas kategorijas Visi vienumi funkcijas ir uzskaitītas zemāk. Tas ir liels skaits funkciju, tādēļ ir jāfiltrē funkcijas, lai varētu vieglāk atrast meklēto funkcijas tipu.

  5. Šajā formulā ir jāatgriež dati, kas jau pastāv citā tabulā. Tādēļ jāizmanto kategorijas Filtrs funkcija. Noklikšķiniet uz kategorijas Filtrs, pēc tam sarakstā Atlasīt funkciju ritiniet uz leju un veiciet dubultklikšķi uz funkcijas RELATED. Noklikšķiniet uz Labi, lai aizvērtu dialoglodziņu Funkcijas ievietošana.

  6. Lai atrastu un atlasītu kolonnu DimChannel[ChannelName], izmantojiet līdzekli IntelliSense.

  7. Aizveriet formulu un pēc tam nospiediet taustiņu Enter.

  8. Pēc tam, kad ir nospiests taustiņš Enter formulas pabeigšanai, statusa joslā pievienojumprogrammas Power Pivot loga apakšpusē tiek parādīts statuss Notiek aprēķināšana. Tagad ir redzams, ka ir izveidota jauna kolonna tabulā FactSales ar kanāla informāciju no tabulas DimChannel.

  9. Pārdēvējiet kolonnu Channel.

    Formulai būtu jāizskatās šādi: =RELATED(DimChannel[ChannelName])

Tika sniegta informācija par vēl vienu ļoti svarīgu funkciju valodā DAX — funkciju RELATED. Funkcija RELATED atgriež vērtības no citas tabulas. Funkciju RELATED varat izmantot, ja pastāv relācija starp tabulu, kurā pašreiz atrodaties, un tabulu, kurā iekļautas vērtības, ko vēlaties iegūt. Protams, funkcijai RELATED ir plašas izmantošanas iespējas. Šajā gadījumā varat iekļaut pārdošanas kanālu katrā tabulas FactSales pārdošanā. Tagad rakurstabulas lauku sarakstā varat nerādīt tabulu DimChannel, vienkāršojot navigāciju un skatot tikai vissvarīgāko nepieciešamo informāciju. Līdzīgi iepriekš aprakstītajai funkcijai CALCULATE, funkcija RELATED ir ļoti nozīmīga, un, visticamāk, jūs izmantosit to daudzkārt.

Kā redzams, funkcijas valodā DAX var palīdzēt izveidot ļoti efektīvas formulas. Tika sniegta tikai pamatinformācija par funkcijām. Uzlabojoties prasmēm valodā DAX, jūs veidosit formulas, izmantojot daudz dažādu funkciju. Viena no visnoderīgākajām vietām, lai iegūtu detalizētu informāciju par valodas DAX funkcijām, ir sadaļa Uzziņas par valodu Data Analysis Expressions (DAX).

Īsa zināšanu pārbaude par funkcijām

  1. Uz ko funkcijā vienmēr ir atsauce?

  2. Vai formulā var būt ietverta vairāk nekā viena funkcija?

  3. Kāda funkciju kategorija jāizmanto, lai savienotu divas teksta virknes vienā virknē?

Atbildes tiek sniegtas šīs tēmas beigās.

Konteksts

Konteksts ir viena no vissvarīgākajām valodas DAX koncepcijām, kas jāsaprot. Valodā DAX ir divi konteksta tipi: rindas konteksts un filtra konteksts. Vispirms tiks aplūkots rindas konteksts.

Rindas konteksts

Rindas kontekstu visvieglāk iedomāties kā pašreizējo rindu. Piemēram, vai atceraties iepriekš piemērā par sintaksi izmantoto aprēķināto kolonnu Margin? Formulā =[SalesAmount] - [TotalCost] tiek aprēķināta kolonnas Margin vērtība katrai tabulas rindai. Katras rindas vērtības tiek aprēķinātas no divu citu kolonnu — [SalesAmount] un [TotalCost] — vērtībām vienā rindā. Valodā DAX var aprēķināt katras kolonnas Margin rindas vērtības, jo tai ir konteksts: katrai rindai tiek ņemtas kolonnas [TotalCost] vērtības un atņemtas tās no kolonnas [SalesAmount] vērtībām.

Tālāk parādītajā atlasītajā šūnā pašreizējās rindas vērtība 49,54 $ tika aprēķināta, atņemot kolonnas [TotalCost] vērtību 51,54 $ no kolonnas [SalesAmount] vērtības 101,08 $.

Rindas konteksts pievienojumprogrammā PowerPivot

Rindas konteksts tikai neattiecas uz aprēķinātās kolonnas. Rindas konteksts attiecas arī ikreiz, kad formulā ir darblapas funkcija, kas tiek lietots filtrus, lai identificētu vienu rindu tabulā. Funkcijas piemēros būtībā rindas kontekstā, katrai rindai tabulu, kurā tā filtrēšana. Šī tipa rindas konteksts visbiežāk attiecas uz pasākumu.

Filtra konteksts

Filtra kontekstu saprast ir nedaudz grūtāk nekā rindas kontekstu. Vienkāršāk ir domāt par filtra kontekstu šādi: viens vai vairāki aprēķinā lietoti filtri, kas nosaka rezultātu vai vērtību.

Filtra konteksts neaizstāj rindas kontekstu; drīzāk to lieto papildus rindas kontekstam. Piemēram, lai turpinātu precīzi noteikt aprēķinā iekļaujamās vērtības, varat lietot filtra kontekstu, kas ne tikai norāda rindas kontekstu, bet arī norāda tikai noteiktu vērtību (filtru) šajā rindas kontekstā.

Filtra kontekstu var viegli aplūkot rakurstabulās. Piemēram, pievienojot parametru TotalCost apgabalam Vērtības un pēc tam pievienojot parametrus Gads un Reģions rindai vai kolonnām, tiek definēts filtra konteksts, kas atlasa datu apakškopu, balstoties uz norādīto gadu un reģionu.

Kāpēc ir nozīmīga DAX filtra konteksts? Tāpēc, kamēr filtra konteksts var lietot visvieglāk, pievienojot kolonnu un rindu etiķetes un datu griezumi rakurstabulā, filtra konteksts var lietot arī DAX formulā, definējot filtru, izmantojot funkcijas, piemēram, RELATED, filtrs, CALCULATE relāciju, kā arī citi mēri un kolonnas. Piemēram, tagad ieskatīsimies pasākuma nosaukums storesales kuram šādu formulu:

Formula

Šī formula acīmredzami ir daudz sarežģītāka par kādām no citām redzētajām formulām. Taču, lai formulu labāk saprastu, to var sadalīt — līdzīgi, kā tas darīts iepriekš ar citām formulām.

Šajā formulā ietverti tālāk uzskaitītie sintakses elementi.

  1. Pasākuma nosaukums storesales, kuram seko kols:.

  2. Vienādības zīmes operators (=) norāda formulas sākumu.

  3. Funkcija CALCULATE novērtē izteiksmi kā argumentu kontekstā, kas ir modificēts, izmantojot norādītos filtrus.

  4. Iekavās () ietverts viens vai vairāki argumenti.

  5. Pasākuma [Sales] vienā un tajā pašā tabulā kā izteiksmes. Pārdošanas mēra ir formulu: = SUM(FactSales[SalesAmount]).

  6. Komats (,) atdala katru filtru.

  7. Ar atsauci norādītā kolonna un noteiktā vērtība DimChannel[ChannelName] =”Store” kā filtrs.

Šī formula nodrošina tikai pārdošanas vērtības, kas definē pārdošanas mērs kā filtru, aprēķina tikai rindas kolonnā DimChannel [ChannelName] ar vērtību "Store", kā filtru.

Kā noprotat, spēja definēt filtra kontekstu formulās sniedz plašas un efektīvi izmantojamas iespējas. Spēja ietvert atsauci atsevišķi uz noteiktu vērtību saistītā tabulā ir tikai viens piemērs. Neuztraucieties, ja uzreiz pilnībā nesaprotat konteksta koncepciju. Veidojot savas formulas, jūs labāk sapratīsit kontekstu un tā nozīmību valodā DAX.

Īsa zināšanu pārbaude par kontekstu

  1. Kādi divi konteksta tipi pastāv?

  2. Kas ir filtra konteksts?

  3. Kas ir rindas konteksts?

Atbildes tiek sniegtas šīs tēmas beigās.

Kopsavilkums

Tagad, kad esat pamatzināšanas par svarīgāko koncepciju DAX, jūs varat sākt aprēķināto kolonnu un mēru DAX formulu izveidi savas piezīmes. DAX patiešām var būt nedaudz sarežģīta, lai uzzinātu, bet jums ir pieejami daudzi resursi. Pēc iepazīšanās ar šajā tēmā vairākas reizes, un eksperimentējot ar dažiem no savas formulas, jūs varat uzzināt vairāk par citu DAX koncepciju un formulas, kas var palīdzēt atrisināt biznesa problēmas. Ir daudz DAX resursu pieejama jums Power Pivot palīdzība, SQL Server grāmatas Online, tehniskie dokumenti un emuāriem no Microsoft, gan sākumā BI speciālistiem. DAX resursu centra Vikivietne (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) ir lieliska vieta, kur sākt. Valoda Data Analysis Expressions (DAX) atsauce ir arī lielisks resurss. Noteikti saglabājiet to savai izlasei.

Tehniskais dokuments Valoda DAX BI tabulveida modelī, kas pieejams lejupielādei (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x426), sniedz daudz detalizētāku ieskatu šeit aprakstītajās koncepcijās, kā arī sniedz informāciju par daudzām citām kompleksām koncepcijām un formulām. Šajā tehniskajā dokumentā tiek izmantota darbgrāmata Contoso Sample DAX Formulas.xlsx, kura jau ir jūsu rīcībā.

Atbildes uz īso pārbaužu jautājumiem

Sintakse:

  1. Atver līdzekli Funkcijas ievietošana.

  2. Iekavās [].

  3. =[UnitPrice] - [UnitCost]

Funkcijas:

  1. Uz tabulu un kolonnu.

  2. Jā. Formulā var būt ietvertas līdz 64 ligzdotām funkcijām.

  3. Teksta funkcijas.

Konteksts:

  1. Rindas konteksts un filtra konteksts.

  2. Viens vai vairāki filtri aprēķinā, kas nosaka atsevišķu vērtību.

  3. Pašreizējā rinda.

Piezīme : Mašīntulkošanas atruna. Šo rakstu ir tulkojusi datorsistēma bez cilvēka iejaukšanās. Microsoft piedāvā šos mašīntulkojumus, lai palīdzētu angliski nerunājošajiem lietotājiem izmanot saturu par Microsoft produktiem, pakalpojumiem un tehnoloģijām. Tā kā šis raksts ir mašīntulkots, tajā var būt leksikas, sintakses un gramatikas kļūdas.

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×