Data Analysis Expressions (DAX) v orodju PowerPivot
Applies ToExcel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

Izrazi za analizo podatkov (DAX) se na prvi pogled slišijo malce zastrašujo, vendar ne pustite, da vas ime zavede. Osnove jezika DAX so zelo preproste za razumevanje. Kar je najhuje – DAX NI programski jezik. DAX je jezik formule. S tehnologijo DAX lahko določite izračune po meri za izračunane stolpce in mere (znana tudi kot izračunana polja). DAX vključuje nekatere funkcije, ki se uporabljajo v Excelovih formulah, in dodatne funkcije, ki so zasnovane za delo z relacijimi podatki in izvajanje dinamičnega združevanja.

Razumevanje formul jezika DAX

Formule JEZIKA DAX so zelo podobne Excelovom. Če ga želite ustvariti, vnesite enačaj, ki mu sledi ime funkcije ali izraz, in vse zahtevane vrednosti ali argumente. Podobno kot Excel tudi dax ponuja različne funkcije, ki jih lahko uporabite za delo z nizi, izvajanje izračunov z datumi in časi ali ustvarjanje pogojnih vrednosti.

Vendar pa se formule jezika DAX razlikujejo na te pomembne načine:

  • Če želite prilagoditi izračune za vsako vrstico posebej, dax vključuje funkcije, ki omogočajo uporabo trenutne vrednosti vrstice ali povezane vrednosti za izvajanje izračunov, ki se razlikujejo glede na kontekst.

  • DAX vključuje vrsto funkcije, ki kot rezultat vrne tabelo namesto ene same vrednosti. Te funkcije lahko uporabite za vnos v druge funkcije.

  • Funkcije za obveščanje o času v jezika DAX omogočite izračune z obsegi datumov in primerjajte rezultate v vzporednih obdobjih.

Kje uporabiti formule JEZIKA DAX

Formule lahko ustvarite v Power Pivot v izračunanih stolpcih ali v izračunanih stolpcih.

Izračunani stolpci

Izračunan stolpec je stolpec, ki ga dodate v obstoječo Power Pivot tabeli. Namesto lepljenja ali uvažanja vrednosti v stolpcu ustvarite formulo DAX, ki določa vrednosti stolpca. Če vključite tabelo Power Pivot vrtilni tabeli (ali vrtilnem grafikonu), lahko izračunani stolpec uporabite kot kateri koli drug podatkovni stolpec.

Formule v izračunanih stolpcih so podobne formulam, ki jih ustvarite v Excelu. V nasprotju z Excelom pa ne morete ustvariti drugačne formule za različne vrstice v tabeli; namesto tega je formula DAX samodejno uporabljena v celotnem stolpcu.

Ko stolpec vsebuje formulo, se vrednost izračuna za vsako vrstico. Rezultati so izračunani za stolpec takoj, ko ustvarite formulo. Vrednosti stolpcev so znova izračunane le, če osvežite temeljne podatke ali če uporabite ročno preračunavanje.

Ustvarite lahko izračunane stolpce, ki temeljijo na meri in drugih izračunanih stolpcih. Vendar pa ne uporabite istega imena za izračunani stolpec in mero, saj lahko to povzroči zmedo med rezultati. Če se sklicujete na stolpec, je najbolje uporabiti popolnoma določen sklic stolpca, da se izognete nenamernim priklicom mere.

Če želite podrobnejše informacije, glejte Izračunani stolpci v dodatku Power Pivot.

Ukrepi

Mera je formula, ki je ustvarjena posebej za uporabo v vrtilni tabeli (ali vrtilnem grafikonu), ki uporablja Power Pivot podatke. Mere lahko temeljijo na standardnih funkcijah združevanja, kot sta COUNT ali SUM, ali pa določite svojo formulo s funkcijo DAX. Mera se uporablja v območju »Vrednosti « vrtilne tabele. Če želite postaviti izračunane rezultate v drugo območje vrtilne tabele, uporabite izračunan stolpec.

Ko določite formulo za eksplicitno mero, se ne zgodi nič, dokler mere ne dodate v vrtilno tabelo. Ko dodate mero, je formula ovrednotena za vsako celico v območju Vrednosti vrtilne tabele. Ker je rezultat ustvarjen za vsako kombinacijo glav vrstic in stolpcev, se lahko rezultat mere v vsaki celici razlikuje.

Definicija mere, ki jo ustvarite, je shranjena z njeno izvorno podatkovno tabelo. Prikazana je na seznamu Polj vrtilne tabele in je na voljo vsem uporabnikom delovnega zvezka.

Če želite podrobnejše informacije, glejte Mere v orodju Power Pivot.

Ustvarjanje formul z vnosno vrstico

Power Pivot, kot je Excel, ponuja vnosno vrstico za lažje ustvarjanje in urejanje formul ter funkcijo samodokončanja, s katero zmanjšate napake v tipkanju in sintaksi.

Vnos imena tabele   Začnite vnašati ime tabele. Funkcija »Samodokončanje formul« ponuja spustni seznam z veljavnimi imeni, ki se začnejo s temi črkami.

Vnos imena stolpca   Vnesite oklepaj in nato izberite stolpec na seznamu stolpcev v trenutni tabeli. Za stolpec iz druge tabele začnite vnašati prve črke imena tabele, nato pa izberite stolpec s spustnega seznama Samodokončanje.

Če želite več informacij in navodila za ustvarjanje formul, glejte Ustvarjanje formul za izračune v dodatku Power Pivot.

Namigi za uporabo funkcije samodokončanja

Funkcijo »Samodokončanje formul« lahko uporabite na sredini obstoječe formule z ugnezdenimi funkcijami. Besedilo tik pred točko vstavljanja je uporabljeno za prikaz vrednosti na spustnem seznamu, celotno besedilo za točko vstavljanja pa ostane nespremenjeno.

Določena imena, ki jih ustvarite za konstante, niso prikazana na spustnem seznamu Samodokončanje, lahko pa jih še vedno vnesete.

Power Pivot ne doda zaklepaja funkcij ali samodejno ujemanja oklepajev. Prepričajte se, da je vsaka funkcija sintaktično pravilna ali da formule ni mogoče shraniti ali uporabiti. 

Uporaba več funkcij v formuli

Funkcije lahko ugnezdite, kar pomeni, da uporabite rezultate ene funkcije kot argument druge funkcije. V izračunane stolpce lahko ugnezdite do 64 ravni funkcij. Ugnezdenje pa lahko oteži ustvarjanje formul ali odpravljanje težav z njim.

Številne funkcije JEZIKA DAX so zasnovane tako, da se uporabljajo izključno kot ugnezdene funkcije. Te funkcije vrnejo tabelo, ki je ni mogoče neposredno shraniti; mora biti podan kot vnos za funkcijo tabele. Na primer, funkcije SUMX, AVERAGEX in MINX zahtevajo tabelo kot prvi argument.

Opomba: V okviru mer obstajajo nekatere omejitve ugnezdenja funkcij, s katerimi zagotovite, da številne izračune, ki jih zahtevajo odvisnosti med stolpci, ne vplivajo na učinkovitost delovanja.

Primerjava funkcij jezika DAX in Excelovih funkcij

Knjižnica funkcij DAX temelji na excelovi knjižnici funkcij, vendar se knjižnice med njima zelo razlikujejo. V tem razdelku so povzete razlike in podobnosti med Excelovimi funkcijami in funkcijami jezika DAX.

  • Številne funkcije jezika DAX imajo enako ime in enako splošno vedenje kot Excelove funkcije, vendar so bile spremenjene zaradi različnih vrst vnosov in v nekaterih primerih lahko vrnejo drug podatkovni tip. Na splošno ne morete uporabiti funkcij DAX v Excelovi formuli ali excelovih formul v Power Pivot brez kakršnih koli sprememb.

  • Funkcije JEZIKA DAX nikoli ne sklicujejo na sklic na celico ali obseg, funkcije DAX pa za sklic sklicujejo stolpec ali tabelo.

  • Funkcije za datum in čas JEZIKA DAX vrnejo podatkovni tip »datetime«. Nasprotno pa Excelove funkcije za datum in čas vrnejo celo število, ki predstavlja datum kot zaporedno število.

  • Številne nove funkcije JEZIKA DAX vrnejo tabelo vrednosti ali pa izvajajo izračune na podlagi tabele vrednosti kot vnosa. V nasprotju s tem Excel nima funkcij, ki vrnejo tabelo, vendar lahko nekatere funkcije delujejo s polji. Možnost preprostega sklicevanja na celotne tabele in stolpce je nova funkcija v Power Pivot.

  • DAX ponuja nove funkcije za iskanje, ki so podobne funkcijam polja in vektorju iskanja v Excelu. Vendar pa funkcije DAX zahtevajo, da je med tabelami vzpostavljen odnos.

  • Pričakuje se, da so podatki v stolpcu vedno istega podatkovnega tipa. Če podatki niso enake vrste, DAX spremeni celoten stolpec v podatkovni tip, ki je najbolj primerna za vse vrednosti.

Podatkovni tipi DAX

Podatke lahko uvozite v podatkovni Power Pivot iz številnih različnih virov podatkov, ki morda podpirajo različne vrste podatkov. Ko uvozite ali naložite podatke in jih nato uporabite v izračunih ali vrtilnih tabelah, so podatki pretvorjeni v enega od Power Pivot podatkov. Če si želite ogledati seznam podatkovnih tipov, glejte Podatkovni tipi v podatkovnih modelih.

Podatkovni tip tabele je nov podatkovni tip v daxu, ki se uporablja kot vhod ali izhod za številne nove funkcije. Funkcija FILTER na primer vzame tabelo kot vhod in vrne drugo tabelo, v kateri so le vrstice, ki ustrezajo pogojem filtra. Če združite funkcije tabele s funkcijami združevanja, lahko izvajate zapletene izračune nad dinamično določenimi nabori podatkov. Če želite več informacij, glejte Združevanje v dodatku Power Pivot.

Formule in relacijski model

Okno Power Pivot je območje, kjer lahko delate z več tabelami podatkov in povežete tabele v relacijnem modelu. V tem podatkovnem modelu so tabele med seboj povezane z relacijami, s katerimi lahko ustvarite korelacije s stolpci v drugih tabelah in ustvarite zanimivejše izračune. Ustvarite lahko na primer formule, ki seštejejo vrednosti za povezano tabelo in nato shranijo to vrednost v eno celico. Če pa želite nadzirati vrstice iz povezane tabele, lahko uporabite filtre za tabele in stolpce. Če želite več informacij, glejte Relacije med tabelami v podatkovnem modelu.

Tabele lahko povežete z relacijami, zato lahko vrtilne tabele vključujejo tudi podatke iz več stolpcev iz različnih tabel.

Ker pa formule lahko delujejo s celotnimi tabelami in stolpci, morate oblikovati izračune drugače kot v Excelu.

  • Na splošno velja, da je formula DAX v stolpcu vedno uporabljena za celoten nabor vrednosti v stolpcu (nikoli le za nekaj vrstic ali celic).

  • Tabele v Power Pivot morajo vedno imeti enako število stolpcev v vsaki vrstici, vse vrstice v stolpcu pa morajo vsebovati isti podatkovni tip.

  • Ko so tabele povezane z relacijo, se pričakuje, da sta stolpca, uporabljena kot ključa, v večini primerov vrednosti, ki se ujemata. Ker Power Pivot ne vsili referenčne integritete, je mogoče v stolpcu s ključem imeti vrednosti, ki se ne ujemajo, in še vedno ustvariti relacijo. Vendar pa lahko prisotnost praznih ali ne ujemajočih se vrednosti vpliva na rezultate formul in videz vrtilnih tabel. Če želite več informacij, glejte Iskanja v formulah dodatka Power Pivot.

  • Ko povežete tabele z relacijami, povečate obseg ali context , v katerem so ocenjene formule. Na formule v vrtilni tabeli lahko na primer vplivajo kateri koli filtri ali naslovi stolpcev in vrstic v vrtilni tabeli. Napišete lahko formule, ki spreminjajo kontekst, kontekst pa lahko tudi povzroči, da se rezultati spremenijo na načine, ki jih morda ne predvidevate. Če želite več informacij, glejte Kontekst v formulah jezika DAX.

Posodabljanje rezultatov formul

Efresh in preračunavanje podatkov sta dve ločeni, a povezani operaciji, ki ju morate razumeti pri načrtovanju podatkovnega modela, ki vsebuje zapletene formule, velike količine podatkov ali podatke, pridobljene iz zunanjih virov podatkov.

Osveževanje podatkov je postopek posodabljanja podatkov v delovnem zvezku z novimi podatki iz zunanjega vira podatkov. Podatke lahko osvežite ročno v intervalih, ki jih določite. Če pa ste delovni zvezek objavili na SharePointovem mestu, lahko načrtujete samodejno osveževanje iz zunanjih virov.

Ponoven izračun je postopek posodabljanja rezultatov formul tako, da odražajo vse spremembe samih formul in da odražajo te spremembe temeljnih podatkov. Preračunavanje lahko vpliva na učinkovitost delovanja na te načine:

  • Za izračunani stolpec morate vedno znova izračunati rezultat formule za celoten stolpec, vsakič ko spremenite formulo.

  • Rezultati formule za mero niso izračunani, dokler mere ne postavite v kontekst vrtilne tabele ali vrtilnega grafikona. Formula bo znova izračunana tudi, ko spremenite glavo vrstice ali stolpca, ki vpliva na filtre podatkov, ali ko ročno osvežite vrtilno tabelo.

Odpravljanje težav s formulami

Napake pri pisanju formul

Če pri določanju formule pride do napake, lahko formula vsebuje sintaktično napako,semantično napako ali napako v izračunu.

Sintaktne napake najlažje odpravite. Običajno vključujejo manjkajoči oklepaj ali vejico. Če želite pomoč za sintakso posameznih funkcij, glejte Sklic funkcije DAX.

Do druge vrste napake pride, ko je sintaksa pravilna, vendar vrednost ali stolpec, na katerega se sklicujete, ni smiselna v kontekstu formule. Takšne semantične in računske napake lahko povzročijo katere koli od teh težav:

  • Formula se sklicuje na obstoječi stolpec, tabelo ali funkcijo.

  • Formula je videti pravilna, toda ko mehanizem za podatke pridobi podatke, ki jih najde, najde neujemanje vrste in prikaže napako.

  • Formula funkciji poda napačno število ali vrsto parametrov.

  • Formula se sklicuje na drug stolpec z napako, zato njene vrednosti niso veljavne.

  • Formula se sklicuje na stolpec, ki še ni bil obdelan, kar pomeni, da vsebuje metapodatke, ne vsebuje pa dejanskih podatkov, ki bi jih bilo treba uporabiti za izračune.

V prvih štirih primerih DAX označi celoten stolpec, v katerem je neveljavna formula. V zadnjem primeru dax zatemni stolpec, kar pomeni, da je stolpec v nepredelani stanju.

Nepravilni ali nenavadni rezultati pri razvrstitvi ali razvrščanju vrednosti stolpcev

Pri razvrstitvi ali razvrščanju stolpca, ki vsebuje vrednost NaN (ni število), se lahko prikažejo napačni ali nepričakovani rezultati. Če na primer izračun deli število 0 z 0, je vrnjen rezultat NaN.

Mehanizem formule namreč izvaja razvrščanje in razvrščanje s primerjavo številskih vrednosti; Vendar pa številke NaN ni mogoče primerjati z drugimi števili v stolpcu.

Če želite zagotoviti pravilne rezultate, lahko s pogojnimi izjavami s funkcijo IF preskusite vrednosti nan in dobite številsko vrednost 0.

Združljivost s tabelarnimi modeli storitev Analysis Services in načinom DirectQuery

Na splošno so formule JEZIKA DAX, ki jih ustvarite v Power Pivot popolnoma združljive s tabelarnimi modeli storitev Analysis Services. Če pa preselite svoj Power Pivot v primerek storitev Analysis Services in nato uvedete model v načinu DirectQuery, obstaja nekaj omejitev.

  • Nekatere formule JEZIKA DAX lahko vrnejo različne rezultate, če uvedete model v načinu DirectQuery.

  • Nekatere formule lahko povzročijo napake pri preverjanju veljavnosti, ko uvedete model v načinu DirectQuery, ker formula vsebuje funkcijo DAX, ki ni podprta proti relacijskem viru podatkov.

Če želite več informacij, glejte Dokumentacija za modeliranje tabele v storitvah Analysis Services v SQL Server 2012 BooksOnline.

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.