Applies To„Excel“, skirta „Microsoft 365“ „Excel 2024“ Excel 2021 Excel 2019 Excel 2016

Šis greitas pasirengimas darbui skirtas vartotojams, kurie pirmą kartą Power Pivot programoje "Excel" arba lentelės formos modelio projektai, sukurti NAUDOJANT "SQL Server" duomenų įrankius. Ji skirta greitai ir lengvai supažindinti, kaip galite naudoti duomenų analizės reiškinius (DAX), kad išspręstumėte kelias pagrindines duomenų modeliavimo ir analizės problemas. Šioje temoje pateikiama konceptuali informacija, užduočių, kurias galite atlikti, serija ir kelios viktorinos, kad būtų galima patikrinti, ką išmokote. Baigę šią temą turėtumėte gerai suprasti pagrindines DAX koncepcijas.

Kas yra DAX?

DAX yra funkcijų, operatorių ir konstantų rinkinys, kurį galima naudoti formulėje arba reiškinyje norint apskaičiuoti ir grąžinti vieną ar daugiau reikšmių. Dax padeda sukurti naują informaciją iš modelio duomenų.

Kodėl DAX yra toks svarbus?

Lengva sukurti darbaknygę ir importuoti į ją kai kuriuos duomenis. Netgi galite kurti "PivotTable" arba "PivotChart", kurios rodo svarbią informaciją nenaudodami DAX formulių. Tačiau ką daryti, jei reikia analizuoti kritinius pardavimo duomenis keliose produktų kategorijose ir skirtinguose datų diapazonuose? Arba jums reikia sujungti svarbius kelių lentelių atsargų duomenis skirtinguose duomenų šaltiniuose? DAX formulės taip pat suteikia šią galimybę ir daug kitų svarbių galimybių. Išmokite kurti efektyvias DAX formules, kad galėtumėte kuo geriau išnaudoti savo duomenis. Gavę reikiamą informaciją, galite pradėti spręsti realias verslo problemas, kurios turi įtakos jūsų apatinėje eilutėje. Tai verslo įžvalgos ir DAX padės jums ten patekti.

Būtinosios sąlygos

Galbūt jau žinote, kaip kurti formules programoje "Microsoft Excel". Šios žinios bus naudingos suprasti DAX, tačiau net jei neturite patirties naudodami "Excel" formules, čia aprašytos sąvokos padės jums iš karto pradėti kurti DAX formules ir spręsti realias BI problemas.

Daugiausia dėmesio skirsime DAX formulių, naudojamų skaičiavimuose, supratimui. Jau turėtumėte būti susipažinę su pagrindinėmis apskaičiuotojo stulpelio ir matų sąvokomis (dar vadinamomis apskaičiuotomis laukais), kurios abi aprašytos Power Pivot žinyne. Taip pat turėtumėte būti susipažinę su "Excel" kūrimo aplinkos ir įrankių Power Pivot.

Darbaknygės pavyzdys

Geriausias būdas sužinoti DAX – sukurti kelias pagrindines formules, naudoti jas su faktiniais duomenimis ir peržiūrėti rezultatus sau. Čia pateiktuose pavyzdžiuose ir užduotyse naudojamas "Contoso" DAX pavyzdys Formulas.xlsx darbaknygėje. Galite atsisiųsti darbaknygę iš http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Atsisiuntę darbaknygę į kompiuterį, atidarykite ją ir atidarykite Power Pivot langą.

Pradėkime!

DAX sukursime tris labai svarbias pagrindines sąvokas: sintaksę, funkcijas ir kontekstą. Žinoma, yra ir kitų svarbių DAX sąvokų, tačiau šių trijų sąvokų supratimas suteiks geriausią pagrindą, kuriuo remiantis galima tobulinti DAX įgūdžius.

Sintaksė

Prieš kurdami savo formules, pažvelkime į DAX formulės sintaksę. Sintaksė apima įvairius elementus, kurie sudaro formulę arba paprasčiausiai formulę. Pavyzdžiui, pažvelkime į paprastą DAX formulę, naudojamą kuriant naujus duomenis (reikšmes) kiekvienai apskaičiuojamojo stulpelio eilutei, pavadintai Paraštė, "FactSales" lentelėje: (formulės teksto spalvos skirtos tik iliustruoti)

Apskaičiuojamojo stulpelio formulė

Šios formulės sintaksėje yra šie elementai:

  1. Lygybės ženklo operatorius (=) nurodo formulės pradžią, o kai skaičiuojama ši formulė, ji pateiks rezultatą arba reikšmę. Visos formulės, kurios apskaičiuoja reikšmę, prasidės lygybės ženklu.

  2. Nurodomame stulpelyje [SalesAmount] yra reikšmės, iš kurių norime atimti. Stulpelio nuoroda formulėje visada yra laužtiniuose skliaustuose []. Skirtingai nei "Excel" formulėse, nurodančiose langelį, DAX formulė visada nurodo stulpelį.

  3. Atimties (-) matematinis operatorius.

  4. Nurodomame stulpelyje [TotalCost] yra reikšmės, kurias norime atimti iš reikšmių stulpelyje [SalesAmount].

Bandant suprasti, kaip skaityti DAX formulę, dažnai naudinga kiekvieną elementą suskirstyti į kalbą, kurią galvojate ir kalbate kiekvieną dieną. Pavyzdžiui, galite skaityti šią formulę kaip:

Lentelėje "FactSales" kiekvienai stulpelio Paraštė apskaičiuojamojo stulpelio eilutei skaičiuoti (=) reikšmę atimdami (-) stulpelio [TotalCost] reikšmes iš stulpelio [SalesAmount]reikšmių.

Pažvelkime į kito tipo formulę, naudojamą mate:

Apskaičiuojamojo stulpelio formulė

Šioje formulėje yra šie sintaksės elementai:

  1. Matų pavadinimas Pardavimo sumos suma. Matų formulėse gali būti mato pavadinimas, po kurio eina dvitaškis, o po to skaičiavimo formulė.

  2. Lygybės ženklo operatorius (=) nurodo skaičiavimo formulės pradžią. Skaičiuojant jis pateiks rezultatą.

  3. Funkcija SUM sudeda visus skaičius stulpelyje [SalesAmount]. Daugiau apie funkcijas sužinosite vėliau.

  4. Skliaustas () apgaubia vieną ar daugiau argumentų. Visoms funkcijoms būtinas bent vienas argumentas. Argumentas perduoda reikšmę funkcijai.

  5. Nurodyta lentelė "FactSales".

  6. Nurodytas stulpelis [SalesAmount] lentelėje "FactSales". Naudojant šį argumentą, funkcija SUM žino, kuriame stulpelyje agreguoti SUM.

Šią formulę galite skaityti kaip:

Matui , pavadintam Pardavimo sumos suma, apskaičiuokite (=) reikšmių SUM stulpelyje [SalesAmount], esančiame lentelėje "FactSales".

Įdėjus į reikšmių paskirstymo zoną "PivotTable" laukų sąraše, šis matas apskaičiuoja ir grąžina reikšmes, apibrėžtas kiekviename "PivotTable" langelyje, pvz., JAV mobiliuosiuose telefonuose.

Atkreipkite dėmesį, kad šioje formulėje yra keletas dalykų, kurie skiriasi nuo formulės, kurią naudojome stulpelyje Paraštė. Visų pirma pristatėme funkciją SUM. Funkcijos yra iš anksto parašytos formulės, padedančios lengviau atlikti sudėtingus skaičiavimus ir manipuliavimą skaičiais, datomis, laiku, tekstu ir kt. Daugiau apie funkcijas sužinosite vėliau.

Skirtingai nei anksčiau stulpelyje Paraštė, matote, kad prieš stulpelį [SalesAmount] buvo lentelė "FactSales", kuriai priklauso stulpelis. Tai vadinama visiškai apibrėžtu stulpelio pavadinimu, nes jame yra prieš lentelės pavadinimą pateiktas stulpelio pavadinimas. Toje pačioje lentelėje nurodyti stulpeliai nereikalauja, kad į formulę būtų įtrauktas lentelės pavadinimas. Dėl to ilgas formules, nurodančias daugelį stulpelių, gali būti trumpesnės ir lengviau skaitončios. Tačiau naudinga visada į matų formules įtraukti lentelės pavadinimą, net jei jis yra toje pačioje lentelėje.

Pastaba: Jei lentelės pavadinime yra tarpų, rezervuotųjų raktažodžių arba neleistinų simbolių, lentelės pavadinimą turite rašyti viengubose kabutėse. Taip pat lentelių pavadinimus turite rašyti kabutėse, jei pavadinime yra simbolių už ANSI raidinių ir skaitinių simbolių diapazono ribų, neatsižvelgiant į tai, ar jūsų lokalė palaiko simbolių rinkinį, ar ne.

Labai svarbu, kad formulių sintaksė būtų teisinga. Daugeliu atvejų, jei sintaksė neteisinga, bus pateikta sintaksės klaida. Kitais atvejais sintaksė gali būti teisinga, bet pateiktos reikšmės gali būti ne to, ko tikitės. Power Pivot (ir "SQL Server Data Tools") yra "IntelliSense"; funkcija, naudojama sintaksiškai teisingoms formulėms kurti, padedanti pasirinkti tinkamus elementus.

Sukurkime paprastą formulę. Ši užduotis padės jums geriau suprasti formulės sintaksę ir kaip "IntelliSense" funkcija formulės juostoje gali jums padėti.

Užduotis: paprastos apskaičiuoto stulpelio formulės kūrimas

  1. Jei dar nesate Power Pivot lange, programos "Excel" juostelės Power Pivot spustelėkite Power Pivot langas.

  2. Lange Power Pivot spustelėkite lentelę "FactSales " (skirtukas).

  3. Slinkite į dešinįjį stulpelį, tada stulpelio antraštėje spustelėkite Įtraukti stulpelį.

  4. Spustelėkite formulės juostą modelio dizaino įrankio lango viršuje.

    „PowerPivot“ formulės juosta

    Dabar žymiklis rodomas formulės juostoje. Formulės juostoje galite įvesti apskaičiuojamojo stulpelio arba apskaičiuotojo lauko formulę.

    Akimirką žiūrėkime į tris mygtukus, esančius į kairę nuo formulės juostos.

    Formula bar

    Kai žymiklis aktyvus formulės juostoje, šie trys mygtukai tampa aktyvūs. Kairiausias mygtukas X yra tiesiog atšaukimo mygtukas. Pirmyn ir spustelėkite ją. Žymiklis neberodomas formulės juostoje, o atšaukimo mygtukas ir varnelės mygtukas neberodomi. Eikite į priekį ir dar kartą spustelėkite formulės juostą. Atšaukimo mygtukas ir varnelės mygtukas dabar bus vėl rodomas. Tai reiškia, kad esate pasirengę pradėti įvesti formulę.

    Žymės mygtukas yra formulės tikrinimo mygtukas. Kol neįvesite formulės, daug nedarysite. Mes sugrįšime prie jos šiek tiek vėliau.

    Spustelėkite mygtuką Fx . Pamatysite, kad rodomas naujas dialogo langas; dialogo langas Įterpti funkciją. Dialogo langas Įterpti funkciją yra paprasčiausias būdas pradėti įvesti DAX formulę. Kai sukursime matą šiek tiek vėliau, į formulę įtrauksime funkciją, tačiau dabar jums nereikia įtraukti funkcijos į apskaičiuojamojo stulpelio formulę. Eikite į priekį ir uždarykite dialogo langą Įterpti funkciją.

  5. Formulės juostoje įveskite lygybės ženklą =, tada įveskite atidaromą laužtinį skliaustą [. Pamatysite mažą langą su visais stulpeliais lentelėje "FactSales". Tai "IntelliSense" veiksmas.

    Apskaičiuoti stulpeliai visada sukuriami aktyvioje lentelėje, kurioje esate, todėl prieš stulpelio pavadinimą nereikia nurodyti lentelės pavadinimo. Eikite į priekį ir slinkite žemyn, tada dukart spustelėkite [SalesQuantity]. Taip pat galite slinkti iki norimo stulpelio pavadinimo ir paspausti tabuliavimo klavišą.

    Dabar žymiklis aktyvus į dešinę nuo [SalesQuantity]..

  6. Įveskite tarpą, tada įveskite atimties operatorių – (minuso ženklą), tada įveskite kitą tarpą.

  7. Dabar įveskite kitą atidaromasis skliaustas [. Šį kartą pasirinkite stulpelį [ReturnQuantity], tada paspauskite Enter.

    Jei gaunate klaidos pranešimą, atidžiai pažvelkite į sintaksę. Jei reikia, palyginkite ją su formule stulpelyje Paraštė, aprašytame anksčiau.

    Kai paspaudžiate "Enter", kad užbaigtumėte formulę, būsenos juostoje, Power Pivot lango apačioje, rodomas žodis Skaičiavimas . Jis greitai eina, net jei tiesiog skaičiuojate naujas reikšmes daugiau nei trims milijonams eilučių.

  8. Dešiniuoju pelės mygtuku spustelėkite stulpelio antraštę ir pervardykite stulpelį NetSales.

Štai ir viskas! Ką tik sukūrėte paprastą, bet labai galingą DAX formulę. Kiekvienos lentelės "FactSales" eilutės "NetSales" formulė apskaičiuoja reikšmę atimdama stulpelio [ReturnQuantity] reikšmę iš stulpelio [SalesQuantity] reikšmės. Atkreipkite dėmesį, kaip mes ką tik pasakė: "Kiekvienoje eilutėje". Tai dar vienos labai svarbios DAX koncepcijos žvilgsnis; eilutės kontekstas. Daugiau apie eilutės kontekstą sužinosite vėliau.

Kažkas labai svarbu suprasti, kai į DAX formulę įvedate operatorių, yra duomenų tipas argumentuose, kuriuos naudojate. Pavyzdžiui, jei reikėtų įvesti šią formulę, = 1 & 2, grąžinta reikšmė būtų tekstinė reikšmė "12". Taip yra todėl, kad ampersendo (&) operatorius skirtas teksto sujungimo funkcijai. DAX interpretuoja šią formulę taip: apskaičiuoti rezultatą imant reikšmę 1 kaip tekstą ir pridėti reikšmę 2 kaip tekstą. Dabar, jei buvote įvedę = 1 + 2, DAX šią formulę perskaitys kaip: Apskaičiuokite rezultatą paėmidami skaitinę reikšmę 1 ir įtraukdami skaitinę reikšmę 2. Rezultatas, žinoma, yra "3", skaitinė reikšmė. DAX apskaičiuoja gautas reikšmes pagal formulės operatorių, o ne pagal argumente naudojamų stulpelių duomenų tipą. DAX duomenų tipai yra labai svarbūs, bet nepatenka į šio greito pasirengimo darbui aprėptį. Norėdami sužinoti daugiau apie DAX formulių duomenų tipus ir operatorius, žr. DAX nuoroda (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) "Books Online".

Pabandykime kitą. Šį kartą sukursite matą įvesdami formulę ir naudodami "IntelliSense". Nesijaudinkite per daug, jei nevisiškai suprantate formulę. Čia svarbu sužinoti, kaip sukurti formulę naudojant kelis elementus kartu naudojant tinkamą sintaksę.

Užduotis: matų formulės kūrimas

  1. Lentelėje "FactSales " spustelėkite bet kurį tuščią langelį skaičiavimo srityje. Tai yra tuščių langelių sritis po lentele Power Pivot lange.

„PowerPivot“ skaičiavimo sritis

  1. Formulės juostoje įveskite pavadinimą Ankstesnis ketvirtis Pardavimas:.

  2. Įveskite lygybės ženklą = norėdami pradėti skaičiavimo formulę.

  3. Įveskite kelias pirmąsias raides CAL, tada dukart spustelėkite norimą naudoti funkciją. Šioje formulėje norite naudoti funkciją CALCULATE .

  4. Įveskite atidaromąjį skliaustą (kad pradėtumėte argumentus, kurie turi būti perduoti funkcijai CALCULATE.

    Atkreipkite dėmesį įvesdami atidaromąjį skliaustą, "IntelliSense" parodys argumentus, reikalingus funkcijai CALCULATE. Apie argumentus sužinosite šiek tiek.

  5. Įveskite kelias pirmąsias lentelės "FactSales " raides, tada išplečiamajame sąraše dukart spustelėkite FactSales[Sales].

  6. Įveskite kablelį (,), kad nurodytumėte pirmą filtrą, tada įveskite PRE, tada dukart spustelėkite funkciją PREVIOUSQUARTER .

    Pasirinkus funkciją PREVIOUSQUARTER, rodomas kitas atidaromasis skliaustas, nurodantis kitą argumentą; šiuo metu funkcija PREVIOUSQUARTER.

  7. Įveskite kelias pirmąsias raides Dim, tada dukart spustelėkite DimDate[DateKey].

  8. Uždarykite tiek argumentą, kuris perduodamas funkcijai PREVIOUSQUARTER, tiek funkciją CALCULATE įvesdami du uždaromuosius skliaustus )).

    Dabar formulė turėtų atrodyti taip:

    Ankstesnis ketvirčio pardavimas:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Spustelėkite formulės juostoje esantį mygtuką Tikrinti formulę, kad patikrintumėte formulę. Jei gaunate klaidos pranešimą, patikrinkite kiekvieną sintaksės elementą.

Tu tai padarei! Ką tik sukūrėte priemonę naudodami DAX, o ne lengvą priemonę. Ši formulė apskaičiuos praėjusio ketvirčio bendrą pardavimą, atsižvelgiant į filtrus, pritaikytus "PivotTable" arba "PivotChart".

Jūs ką tik pristatėte kelis svarbius DAX formulių aspektus. Pirma, šioje formulėje buvo dvi funkcijos. Atkreipkite dėmesį, kad funkcija PREVIOUSQUARTER yra įdėta kaip argumentas, perduotas funkcijai CALCULATE . DAX formulėse gali būti iki 64 įdėtųjų funkcijų. Mažai tikėtina, kad formulėje kada nors būtų tiek daug įdėtųjų funkcijų. Tiesą sakant, tokią formulę būtų labai sunku sukurti ir derinti, ir tikriausiai ji nebūtų labai greita.

Šioje formulėje taip pat naudojote filtrus. Filtrai susiaurinti tai, kas bus skaičiuojama. Šiuo atveju vieną filtrą pasirinkote kaip argumentą, kuris iš tikrųjų yra kita funkcija. Daugiau apie filtrus sužinosite vėliau.

Galiausiai, naudojote funkciją CALCULATE. Tai yra viena iš galingiausių DAX funkcijų. Kurdami duomenų modelius ir kurdami sudėtingesnes formules tikriausiai naudosite šią funkciją daug kartų. Aptarti funkciją CALCULATE nėra šio greito pasirengimo darbui sritis, tačiau didėjant DAX žinioms, ypatingą dėmesį skirkite šiai funkcijai.

Pastaba: Paprastai, norėdami daX formulėse naudoti laiko informacijos funkcijas, turite nurodyti unikalų datos stulpelį naudodami dialogo langą Žymėti kaip datos lentelę. "Contoso" DAX formulės Samples.xlsx darbaknygėje stulpelis "DateKey" lentelėje "DimDate" pasirenkamas kaip unikalus datos stulpelis.

Papildomas kreditas

Galite paklausti: "Kokia yra paprasčiausia DAX formulė, kurią galiu sukurti?" Na, atsakymas į tai yra "formulė, kurios jums nereikia". Ir tai yra būtent tai, ką galite padaryti naudodami standartinę agregavimo funkciją mate. Beveik bet kuris duomenų modelis turi filtruoti ir apskaičiuoti agreguotus duomenis. Pvz., anksčiau matyto pardavimo sumos mato funkcija SUM naudojama norint sudėti visus skaičius tam tikrame stulpelyje. DAX apima ir kelias kitas funkcijas, kurios taip pat sujungia reikšmes. Naudodami automatinės sudėties funkciją galite automatiškai kurti formules naudodami standartinius agregavimus.

Papildoma kredito užduotis: matų formulės kūrimas naudojant automatinės sudėties funkciją

  1. Lentelėje "FactSales" slinkite į stulpelį ReturnQuantity, tada spustelėkite stulpelio antraštę, kad pasirinktumėte visą stulpelį.

  2. Skirtuko Pagrindinis juostelės grupėje Skaičiavimai spustelėkite mygtuką Automatinė sudėtis .

„PowerPivot“ funkcija AutoSum

Spustelėkite rodyklę žemyn šalia Automatinė sudėtis, tada spustelėkite Vidurkis (atkreipkite dėmesį ir į kitas standartines agregavimo funkcijas, kurias galite naudoti).

Iš karto sukuriamas naujas matas su pavadinimu "ReturnQuantity" vidurkis: po to formulė =AVERAGE([ReturnQuantity]).

Dabar nebuvo taip lengva? Žinoma, ne visos jūsų sukurtos formulės bus tokios paprastos. Tačiau naudodami automatinės sudėties funkciją galite greitai ir paprastai kurti formules naudodami standartinius agregavimo skaičiavimus.

Tai turėtų suteikti pakankamai gerą supratimą apie DAX formulėse naudojamą sintaksę. Taip pat buvote supažindinti su tikrai šaunomis funkcijomis, pvz., "IntelliSense" ir "AutoSum", kad galėtumėte kurti greitas, paprastas ir tikslias formules. Žinoma, yra daug daugiau galite sužinoti apie sintaksę. Tinkama vieta sužinoti daugiau yra DAX nuoroda arba "SQL Books Online".

Sintaksė QuickQuiz

  1. Ką daro šis mygtukas formulės juostoje?Funkcijos mygtukas

  2. Kas dax formulėje visada apgaubia stulpelio pavadinimą?

  3. Kaip rašyti formulę, skirtą: LentelėjeDimProduct kiekvienai apskaičiuojamojo stulpelio UnitMargin eilutei skaičiuoti reikšmę atimdami stulpelio UnitCost reikšmes iš stulpelioVieneto_kaina reikšmių?

Atsakymai pateikiami šios temos pabaigoje.

Funkcijos

Funkcijos yra iš anksto apibrėžtos formulės, kurios atlieka skaičiavimus naudodamos tam tikras reikšmes, vadinamas argumentais, tam tikra tvarka ar struktūra. Argumentai gali būti kitos funkcijos, kita formulė, stulpelio nuorodos, skaičiai, tekstas, loginės reikšmės, pvz., TRUE arba FALSE, arba konstantos.

DAX apima šias funkcijų kategorijas: datos ir laiko, informacijos, loginių, matematinių, statistikos, teksto ir laiko informacijos funkcijų. Jei esate susipažinę su "Excel" formulių funkcijomis, daugelis DAX funkcijų bus panašios į jūsų; tačiau DAX funkcijos yra unikalios šiais būdais:

  • DAX funkcija visada nurodo visą stulpelį arba lentelę. Jei norite naudoti tik tam tikra reikšmė iš lentelės ar stulpelio, galite į formulę įtraukti filtrų.

  • Jei norite tinkinti skaičiavimus pagal eilutę, DAX pateikia funkcijų, kurios leidžia naudoti dabartinę eilutės reikšmę arba susijusią reikšmę kaip argumento tipą, kad būtų galima atlikti skaičiavimus, kurie skiriasi atsižvelgiant į kontekstą. Daugiau apie kontekstą sužinosite vėliau.

  • DAX yra daug funkcijų, kurios pateikia lentelę, o ne reikšmę. Lentelė nerodoma, bet naudojama kitų funkcijų įvesčiai teikti. Pavyzdžiui, galite gauti lentelę ir tada suskaičiuoti skirtingas jos reikšmes arba apskaičiuoti dinamines sumas filtruotose lentelėse arba stulpeliuose.

  • DAX apima įvairias laiko informacijos funkcijas. Šios funkcijos leidžia apibrėžti arba pasirinkti datų diapazonus ir atlikti dinaminius skaičiavimus pagal juos. Pavyzdžiui, galite palyginti lygiagrečių laikotarpių sumas.

Kartais sunku žinoti, kurias funkcijas gali reikėti naudoti formulėje. Power Pivot ir "SQL Server Data Tools" lentelių modelio dizaino įrankį įtraukite funkciją Įterpti – dialogo langą, padedantį pasirinkti funkcijas pagal kategoriją ir pateikti trumpus kiekvienos funkcijos aprašus.Funkcija Įterpti

Sukurkime naują formulę, kurioje yra funkcija, kurią pasirinksite naudodami funkciją Įterpti funkciją:

Užduotis: funkcijos įtraukimas į formulę naudojant funkciją "Insert"

  1. Lentelėje "FactSales" slinkite į dešinįjį stulpelį, tada stulpelio antraštėje spustelėkite Įtraukti stulpelį.

  2. Formulės juostoje įveskite lygybės ženklą =.

  3. Spustelėkite mygtuką Įterpti funkciją . Funkcija Įterpti Atidaromas dialogo langas Įterpti funkciją .

  4. Dialogo lange Įterpti funkciją spustelėkite sąrašo lauką Pasirinkti kategoriją . Pagal numatytuosius nustatymus pasirinkta Visos , o visos kategorijos Visos funkcijos išvardytos toliau. Tai daug funkcijų, todėl norėsite filtruoti funkcijas, kad būtų lengviau rasti ieškomą funkcijos tipą.

  5. Jei naudojate šią formulę, norite grąžinti kai kuriuos duomenis, kurie jau yra kitoje lentelėje. Tam ketinate naudoti funkciją kategorijoje Filtras. Eikite pirmyn ir spustelėkite kategoriją Filtras , tada dalyje Pasirinkite funkciją slinkite žemyn ir dukart spustelėkite funkciją RELATED. Spustelėkite Gerai , kad uždarytumėte dialogo langą Įterpti funkciją .

  6. Naudokite "IntelliSense", kad būtų lengviau rasti ir pasirinkti stulpelį DimChannel[ChannelName].

  7. Uždarykite formulę ir paspauskite klavišą "Enter".

  8. Kai paspaudžiate "Enter", kad užbaigtumėte formulę, būsenos juostoje, Power Pivot lango apačioje, rodomas žodis Skaičiavimas. Dabar pamatysite, kad ką tik sukūrėte naują stulpelį "FactSales" lentelėje su kanalo informacija iš "DimChannel" lentelės.

  9. Pervardykite stulpelį Kanalas.

    Formulė turėtų atrodyti taip: =RELATED(DimChannel[ChannelName])

Ką tik buvote supažindinti su kita labai svarbia DAX funkcija , funkcija RELATED . Funkcija RELATED grąžina reikšmes iš kitos lentelės. Galite naudoti RELATED, jei yra ryšys tarp lentelės, kurioje šiuo metu esate, ir lentelės, kurioje yra norimos gauti reikšmės. Žinoma, funkcija RELATED turi didžiulių galimybių. Tokiu atveju dabar galite įtraukti kiekvieno pardavimo pardavimo kanalą į lentelę "FactSales". Dabar galite paslėpti "DimChannel" lentelę "PivotTable" laukų sąraše, kad būtų lengviau naršyti ir matyti tik svarbiausią tikrai reikalingą informaciją. Panašiai kaip anksčiau aprašyta funkcija CALCULATE, funkcija RELATED yra labai svarbi ir jūs tikriausiai ją naudosite daug kartų.

Kaip matote, DAX funkcijos gali padėti kurti labai efektyvias formules. Mes tikrai palietė tik funkcijų pagrindus. Dax įgūdžiai tobulėja, todėl kursite formules naudodami daug skirtingų funkcijų. Viena iš geriausių vietų, norint sužinoti išsamią informaciją apie visas DAX funkcijas, yra duomenų analizės išraiškų (DAX) nuorodoje.

Funkcijos QuickQuiz

  1. Ką funkcija visada nurodo?

  2. Ar formulėje gali būti daugiau nei viena funkcija?

  3. Kokią funkcijų kategoriją reikėtų naudoti norint sujungti dvi teksto eilutes į vieną eilutę?

Atsakymai pateikiami šios temos pabaigoje.

Kontekstas

Kontekstas yra viena iš svarbiausių DAX sąvokų, kurią reikia suprasti. DAX yra dviejų tipų kontekstas; eilutės kontekstą ir filtro kontekstą. Pirmiausia apžvelgsime eilutės kontekstą.

Eilutės kontekstas

Eilutės kontekstą lengviausia laikyti dabartine eilute. Pvz., prisiminkite paraštės apskaičiuojamąjį stulpelį, kurį matėte anksčiau, kai mokotės apie sintaksę? Formulė =[SalesAmount] – [TotalCost] apskaičiuoja kiekvienos lentelės eilutės stulpelio Paraštė reikšmę. Kiekvienos eilutės reikšmės apskaičiuojamos pagal reikšmes dviejuose kituose stulpeliuose, [SalesAmount] ir [TotalCost] toje pačioje eilutėje. DAX gali apskaičiuoti kiekvienos stulpelio Paraštė eilutės reikšmes, nes joje yra kontekstas: kiekvienoje eilutėje naudojamos reikšmės stulpelyje [TotalCost] ir atimamos iš reikšmių stulpelyje [SalesAmount].

Toliau pateiktame pasirinktame langelyje reikšmė 49,54 EUR dabartinėje eilutėje buvo apskaičiuota atimant stulpelio [TotalCost] reikšmę 51,54 EUR iš stulpelio [SalesAmount] reikšmės $101,08.

Eilutės kontekstas naudojant „PowerPivot“

Eilutės kontekstas taikomas ne tik apskaičiuotiems stulpeliams. Eilutės kontekstas taip pat taikomas, kai formulė turi funkciją, kuri taiko filtrus, kad identifiktų vieną lentelės eilutę. Funkcija taiko eilutės kontekstą kiekvienai lentelės, pagal kurią filtruoja, eilutei. Šio tipo eilutės kontekstas dažniausiai taikomas matams.

Filtro kontekstas

Filtro kontekstą yra šiek tiek sunkiau suprasti nei eilutės kontekstą. Lengviausiai galvoti apie filtro kontekstą kaip: Vienas ar daugiau filtrų, taikomų skaičiuojant, kuris nustato rezultatą arba reikšmę.

Vietoj eilutės konteksto nėra filtro konteksto; jis taikomas kartu su eilučių kontekstu. Pavyzdžiui, norėdami dar labiau sumažinti į skaičiavimą įtraukiamų reikšmių skaičių, galite taikyti filtro kontekstą, kuris ne tik nurodo eilutės kontekstą, bet ir nurodo tik tam tikra tos eilutės konteksto reikšmę (filtrą).

Filtro kontekstas lengvai matomas "PivotTable". Pvz., kai į sritį Reikšmės įtraukiate TotalCost, o tada į eilutę arba stulpelius įtraukiate Year and Region, apibrėžiate filtro kontekstą, kuris pasirenka duomenų antrinį rinkinį pagal nurodytus metus ir regioną.

Kodėl DAX toks svarbus filtro kontekstas? Kadangi filtro kontekstą lengviausia taikyti įtraukiant stulpelių ir eilučių žymas bei duomenų filtrus į "PivotTable", DAX formulėje taip pat galima taikyti filtro kontekstą, apibrėždami filtrą naudodami funkcijas, pvz., ALL, RELATED, FILTER, CALCULATE, pagal ryšius ir kitus matus bei stulpelius. Pavyzdžiui, pažvelkime į šią formulę mate, pavadintame "StoreSales":

Formulė

Akivaizdu, kad ši formulė yra sudėtingesnė nei kai kurios kitos formulės, kurias matėte. Tačiau, kad geriau suprastume šią formulę, galime ją suskaidyti, panašiai kaip tai darėme su kitomis formulėmis.

Šioje formulėje yra šie sintaksės elementai:

  1. Mato pavadinimas StoreSales, po to dvitaškis:.

  2. Lygybės ženklo operatorius (=) nurodo formulės pradžią.

  3. Funkcija CALCULATE įvertina reiškinį kaip argumentą kontekste, kurį modifikuoja nurodyti filtrai.

  4. Skliaustas () apgaubia vieną ar daugiau argumentų.

  5. Matas [Pardavimas] toje pačioje lentelėje kaip reiškinys. Matas Pardavimas turi formulę: =SUM(FactSales[SalesAmount]).

  6. Kiekvieną filtrą skiria kablelis (,).

  7. Nurodytas stulpelis ir konkreti reikšmė DimChannel[ChannelName] ="Store", kaip filtras.

Ši formulė užtikrins, kad tik pardavimo reikšmės, kurias matas Pardavimas apibrėžia kaip filtrą, yra apskaičiuojamos tik eilutėms stulpelyje DimChannel[ChannelName] su reikšme "Store" kaip filtru.

Kaip galite įsivaizduoti, galimybė apibrėžti filtro kontekstą formulėje turi didžiulių ir galingų galimybių. Galimybė nurodyti tik konkrečią reikšmę susijusioje lentelėje yra tik vienas toks pavyzdys. Nesijaudinkite, jei iš karto nesuprantate konteksto. Kurdami savo formules, geriau suprasite kontekstą ir kodėl tai taip svarbu DAX.

Kontekstas QuickQuiz

  1. Kokie yra dviejų tipų kontekstai?

  2. Kas yra filtro kontekstas?

  3. Kas yra eilutės kontekstas?

Atsakymai pateikiami šios temos pabaigoje.

Suvestinė

Dabar, kai jau suprantate svarbiausias DAX sąvokas, galite pradėti kurti DAX formules, skirtas savarankiškai apskaičiuotiems stulpeliams ir matams. DAX iš tikrųjų gali būti šiek tiek sudėtinga išmokti, bet yra daug išteklių, kuriuos galite naudoti. Kelis kartus perskaitę šią temą ir pabandę naudoti kelias savo formules, galite sužinoti daugiau apie kitas DAX sąvokas ir formules, kurios gali padėti išspręsti verslo problemas. Yra daug DAX išteklių, kuriuos galite rasti Power Pivot žinyne, "SQL Server Books Online", techninę dokumentaciją ir interneto dienoraščius iš "Microsoft" ir pirmaujančių BI specialistų. DAX resource center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) yra puiki vieta pradėti. Duomenų analizės išraiškų (DAX) nuoroda taip pat yra puikus išteklius. Būtinai įrašykite jį į parankinius.

DAX BI lentelių modelio techninėje dokumentacijoje, kurią galima atsisiųsti (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) pateikia išsamesnę čia pateiktų sąvokų, taip pat daugelio kitų išplėstinių sąvokų ir formulių vaizdą. Ši interaktyvioji dokumentaciją taip pat naudoja tą patį "Contoso" DAX pavyzdį Formulas.xlsx darbaknygę, kurią jau turite.

QuickQuiz Atsakymai

Sintaksė:

  1. Atidaro funkciją Įterpti funkciją.

  2. Skliaustai [].

  3. =[Vieneto kaina] – [Vieneto_kaina]

Funkcijas:

  1. Lentelė ir stulpelis.

  2. Taip. Formulėje gali būti iki 64 įdėtųjų funkcijų.

  3. Teksto funkcijos.

Kontekste:

  1. Eilutės kontekstas ir filtro kontekstas.

  2. Vienas ar daugiau filtrų skaičiavime, kuris nustato vieną reikšmę.

  3. Dabartinė eilutė.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.