Office
Logga in

Snabbstart: Grunderna i DAX på 30 minuter

Obs!:  Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

Den här snabbstarten riktar sig till användare som inte har tidigare erfarenhet av Power Pivot i Excel eller projekt med tabellmodeller som skapats i SQL Server Data Tools. Snabbstarten är en kort och enkel introduktion till hur du kan lösa ett antal enklare datamodellerings- och analysproblem med hjälp av DAX (Data Analysis Expressions). Det här avsnittet innehåller begreppsmässig information, ett antal uppgifter som du kan göra och några frågor på vad du lärt dig. När du är klar med det här avsnittet bör du ha en grundlig förståelse av de vanligaste och mest grundläggande DAX-begreppen.

Vad är DAX?

DAX är en samling funktioner, operatorer och konstanter som kan användas i en formel, eller uttryck, för att beräkna och returnera ett eller flera värden. Enklare uttryckt kan du använda DAX för att skapa ny information från data som redan finns i din modell.

Varför är DAX så viktigt?

Det är enkelt att skapa en arbetsbok och att importera data till den. Du kan också skapa pivottabeller eller pivotdiagram som illustrerar viktig information utan att använda DAX-formler. Men vad gör du om du behöver analysera viktig försäljningsinformation från flera produktkategorier och datumintervall? Eller om du behöver kombinera viktig lagerinformation från flera tabeller i olika datakällor? Du kan göra detta och mycket mer med hjälp av DAX-formler. Genom att lära dig hur du skapar effektiva DAX-formler kan du få ut mer av dina data. När du har hämtat den information som du behöver kan du börja lösa verkliga affärsproblem som påverkar verksamhetens resultat. Det här är Business Intelligence, och DAX hjälper dig på vägen.

Krav

Om du redan vet hur man skapar formler i Microsoft Excel, är det lättare att förstå DAX. Men även om du inte har någon erfarenhet av Excel-formler kan du snabbt lära dig att använda DAX-formler för att lösa verkliga BI-problem. Läs bara vidare.

Vi kommer att fokus specifikt på förstå DAX-formler som används i beräkningar. Du bör redan vara bekant med grundläggande begrepp för både beräknade kolumner och mått (kallas även beräknade fält) som beskrivs i Power Pivot hjälp. Du bör även känna till Power Pivot i Excel redigering miljö och verktyg.

Exempelarbetsboken

Det bästa sättet att lära sig DAX är att skapa några enkla formler, använda dem med verkliga data och titta på resultatet. I exemplen och uppgifterna här används arbetsboken Contoso Sample DAX Formulas.xlsx. Du kan hämta arbetsboken på http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. När du har hämtat arbetsboken till datorn öppnar du den och öppnar sedan Power Pivot-fönstret.

Nu sätter vi igång!

Vi kommer ram DAX runt tre mycket viktigt grundläggande begrepp: syntaxen, funktioner och kontexten. Naturligtvis kan det finns andra viktiga koncept i DAX, men förstår dessa tre begrepp ger den bästa grunden att bygga upp din DAX kompetens.

Syntax

Innan du skapar egna formler ska vi ta en titt på syntaxen i DAX-formler. Syntaxen innehåller de olika elementen som en formel består av, eller enkelt uttryckt, hur formeln skrivs. Nu ska vi titta på ett exempel på en enkel DAX-formel som används för att skapa nya data (värden) för varje rad i den beräknade kolumnen Margin i tabellen FactSales: (färgerna på texten i formeln används endast i illustrativt syfte)

Formel för beräknad kolumn

Den här formelns syntax innehåller följande element:

  1. Likhetstecknet (=) är en operator som anger början av formeln, och när formeln beräknas returneras ett resultat eller värde. Alla formler som beräknar ett värde inleds med ett likhetstecken.

  2. Kolumnen [SalesAmount] som formeln refererar till innehåller de värden som vi vill subtrahera från. En kolumnreferens i en formel omges alltid av hakparenteser, []. Till skillnad från Excel-formler som refererar till en cell, refererar en DAX-formel alltid till en kolumn.

  3. Den matematiska operatorn för subtraktion (-).

  4. Kolumnen [TotalCost] som formeln refererar till innehåller de värden som vi vill subtrahera från värden i kolumnen [SalesAmount].

När du ska läsa en DAX-formel är det ofta enklare att bryta ned varje element till ett språk som du tänker på och talar varje dag. Du kan exempelvis läsa den här formeln som:

i den FactSales tabell för varje rad i den beräknade kolumnen Margin, beräkna (=) ett värde genom att subtrahera (-) värden i den [ totalsumma ] kolumn från värden i den [ försäljningsbelopp ] kolumn.

Nu ska vi ta en titt på en annan typ av formel, en som används i ett mått:

Formel för beräknad kolumn

Den här formeln innehåller följande syntaxelement:

  1. Måttnamnet Sum of Sales Amount. Formler för mått kan innehålla Måttnamn, följt av ett kolon, följt av beräkningsformeln.

  2. Likhetsteckenoperatorn (=) anger början av beräkningsformeln. När den beräknas returneras ett resultat.

  3. Funktionen SUM adderar alla talen i kolumnen [SalesAmount]. Du lär dig mer om funktioner senare.

  4. Parenteser, (), omger ett eller flera argument. Alla funktioner kräver minst ett argument. Ett argument skickar ett värde till en funktion.

  5. Tabellen FactSales som formeln refererar till.

  6. Kolumnen [SalesAmount] i tabellen FactSales som formeln refererar till. Med det här argumentet vet funktionen SUM i vilken kolumn en summa ska aggregeras.

Du kan läsa den här formeln som:

För den mått med namnet Sum of Sales Amount beräkna (=) SUMMAN av värdena i den [ försäljningsbelopp ] kolumn i den FactSales tabell.

När den placeras i värdena släppzonen i en Fältlista för pivottabell, denna åtgärd beräknar och returnerar värden som definieras av varje cell i pivottabellen, till exempel mobiltelefoner i USA.

Observera att det finns ett par saker olika om den här formeln jämfört med den formel som används för den beräknade kolumnen Margin. I synnerhet introducerades vi funktionen SUMMA. Funktionerna skrivs före formler som gör det lättare att göra komplicerade beräkningar och ändringar med tal, datum, tid, text och mer. Du kan läsa mer om funktionerna senare.

Till skillnad från den beräknade kolumnen Margin tidigare kan se du kolumnen [SalesAmount] har föregås av den tabellen FactSales som kolumnen tillhör. Detta kallas ett fullständigt kvalificerat kolumnnamn att den innehåller kolumnnamn föregås av tabellnamnet. Kolumner som refereras i samma tabell behöver inte tabellnamnet tas med i formeln. Detta kan göra långa formler som refererar till många kolumner kortare och enklare att läsa. Men är det bra att alltid ta med tabellnamnet i mått formler, även när du är i samma tabell.

Obs!: Om namnet på tabellen innehåller blanksteg, reserverade nyckelord eller tecken som inte tillåts, måste du placera tabellnamnet inom enkla citattecken. Du måste även sätta tabellnamn inom citattecken om namnet innehåller tecken som inte ingår i den alfanumeriska ANSI-teckenuppsättningen, oavsett om tecknet stöds av språkinställningen eller inte.

Det är viktigt att dina formler har rätt syntax. Om syntaxen inte är rätt returneras vanligtvis ett syntaxfel. I andra fall kan syntaxen vara korrekt, men de returnerade värdena kanske inte är vad du väntade dig. IntelliSense ingår i Power Pivot (och SQL Server Data Tools). IntelliSense är en funktion som hjälper dig att välja rätt element så att det blir lättare att skapa syntaktiskt korrekta formler.

Nu ska vi skapa en enkel formel Den här uppgiften hjälper dig att bättre förstå formelsyntaxen och hur IntelliSense fungerar i formelfältet.

Uppgift: Skapa en enkel formel för en beräknad kolumn

  1. Om du inte redan befinner dig i Power Pivot-fönstret, gör du följande i menyfliksområdet i Power Pivot: klicka på Power Pivot-fönstret.

  2. I Power Pivot-fönstret klickar du på tabellen FactSales (flik).

  3. Rulla till kolumnen längst till höger och klicka på Lägg till kolumn i kolumnrubriken.

  4. Klicka i formelfältet längs överkanten i modellutformningsfönstret.

    Formelfältet i PowerPivot

    Nu visas markören i formelfältet. Formelfältet är det fält där du kan skriva en formel för en beräknad kolumn eller ett beräknat fält.

    Nu ska vi titta på de tre knapparna till vänster om formelfältet.

    Formelfältet

    När markören är aktiv i formelfältet blir de tre knapparna aktiva. Knappen längst till vänster, X, är bara en Avbryta-knapp. Prova att klicka på den. Markören visas inte längre i formelfältet, och Avbryt-knappen och bockmarkeringsknappen visas inte heller. Klicka i formelfältet igen. Nu visas Avbryta-knappen och bockmarkeringsknappen igen. Det betyder att du kan börja skriva en formel.

    Bockmarkeringsknappen är formelkontrollknappen. Den gör inte så mycket förrän du har skrivit en formel. Vi kommer tillbaka till den om en liten stund.

    Klicka på Fx -knappen. Ser du att visas en ny dialogruta. dialogrutan Infoga funktion. Dialogrutan Infoga funktion är det enklaste sättet att börja skriva en DAX-formel. Vi lägger till en funktion i en formel när vi skapa ett mått lite senare, men nu behöver du inte lägga till en funktion i en beräknad kolumnformel. Gå vidare och Stäng dialogrutan Infoga funktion.

  5. Skriv ett likhetstecken (=) i formelfältet och sedan en inledande hakparentes, [. Ett litet fönster visas med alla kolumnerna i tabellen FactSales. Det här är IntelliSense i praktiken.

    Eftersom beräknade kolumner alltid skapas i den aktiva tabellen som du arbetar i behöver kolumnnamnet inte föregås av tabellnamnet. Rulla nedåt och dubbelklicka på [SalesQuantity]. Du kan också rulla till önskat kolumnnamn och trycka på Tabb.

    Nu är markören aktiv till höger om [SalesQuantity].

  6. Skriv ett blanksteg, följt av subtraktionsoperatorn - (ett minustecken) och sedan ett till blanksteg.

  7. Nu, Skriv ett annat inledande hakparentes [. Den här gången markerar du [ReturnQuantity] kolumnen och trycker på RETUR.

    Om ett fel returneras kontrollerar du syntaxen. Om det behövs jämför du den med formeln i den beräknade kolumnen Margin som beskrevs tidigare.

    När du slutför formeln genom att trycka på Retur visas ordet Beräknar i statusfältet längs nederkanten i Power Pivot-fönstret. Det går snabbt även om du precis beräknat nya värden för över tre miljoner rader.

  8. Högerklicka på kolumnrubriken och byt namn på kolumnen till NetSales.

Nu är det klart! Du just har skapat en enkel men mycket kraftfulla DAX-formel. För varje rad i tabellen beräknar NetSales formeln ett värde genom att dra ifrån värdet i kolumnen [ReturnQuantity] från värdet i kolumnen [SalesQuantity]. Lägg märke till hur vi bara säger ”för varje rad”. Det här är en titt på ett annat mycket viktiga koncept i DAX; radkontext. Du kan läsa mer om radkontext senare.

Det är något särskilt viktiga att förstå när du skriver en operator i en DAX-formel datatyp i argumenten som du använder. Till exempel om du skriver formeln = 1 & 2, det värde som returnerats ska vara ett textvärde i ”12”. Detta beror på operatorn et (&) är för textkombinationsoperatorer. DAX tolkar den här formeln att läsa: beräkna ett resultat genom att inte vidta värdet 1 som text och lägga till värdet 2 som text. Om du skrev = 1 + 2, DAX läser den här formeln som: beräkna ett resultat genom att använda det numeriska värdet 1 och lägga till det numeriska värdet 2. Resultatet är naturligtvis ”3”, ett numeriskt värde. DAX beräknar resulterande värden beroende på operator i formeln inte baserat på datatypen för kolumner som används i argumentet. Datatyper i DAX är viktigt, men inte omfattas av det här Snabbstart. Mer information om datatyper och operatorer i DAX-formler finns i referens för DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) i Books Online.

Låt oss en annan. Den här gången skapar du en åtgärd genom att skriva formeln och med hjälp av IntelliSense. Inte oroa dig för mycket om du inte förstår formeln. Viktiga här är att lära dig hur du skapar en formel som använder flera element tillsammans i korrekt syntax.

Uppgift: Skapa en formel för mått

  1. Klicka i en tom cell i beräkningsområdet i tabellen FactSales. Det här är området med tomma celler som är placerat strax under en tabell i Power Pivot-fönstret.

Beräkningsområdet i PowerPivot

  1. Skriv namnet Previous Quarter Sales i formelfältet.

  2. Skriv ett likhetstecken (=) för att inleda beräkningsformeln.

  3. Börja skriva bokstäverna CAL och dubbelklicka sedan på den funktion som du vill använda. I den här formeln ska du använda funktionen CALCULATE.

  4. Skriv en inledande parentes, (, som inleder argumenten som ska skickas till funktionen CALCULATE.

    Observera att IntelliSense visar de argument som krävs för funktionen CALCULATE så fort du skrivit den inledande parentesen. Du lär dig mer om argument om en liten stund.

  5. Skriv de första bokstäverna i tabellen factsales och dubbelklicka sedan på FactSales[i den nedrullningsbara listanSales].

  6. Skriv ett kommatecken (,) för att ange det första filtret, skriv PRE och dubbelklicka på funktionen PREVIOUSQUARTER.

    När du har valt funktionen PREVIOUSQUARTER visas en till inledande parentes som anger att ett till argument krävs, den här gången för funktionen PREVIOUSQUARTER.

  7. Skriv de första bokstäverna dimension och dubbelklicka sedan på Nedtonatdatum[Datumnyckel].

  8. Stäng både argumentet som skickas till funktionen PREVIOUSQUARTER och funktionen CALCULATE genom att skriva två avslutande parenteser, )).

    Formeln bör se ut så här:

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

  9. Verifiera formeln genom att klicka på formelkontrollknappen i formelfältet. Om ett fel visas kontrollerar du alla element i syntaxen.

Du har gjort det! Du just har skapat ett mått med hjälp av DAX och inte en enkel lista vid som. Den här formeln gör är beräkna den totala försäljningen för föregående kvartal, beroende på de filter som används i en pivottabell eller ett pivotdiagram.

Du introducerades bara flera viktiga aspekter av DAX-formler. Den här formeln med först två funktioner. Observera att funktionen PREVIOUSQUARTER är kapslad som ett argument till funktionen CALCULATE . DAX-formler kan innehålla upp till 64 kapslade funktioner. Det sannolikt en formel någonsin innehåller så många kapslade funktioner. I själva verket en formel ska vara svårt att skapa och felsöka och förmodligen skulle det inte vara mycket snabbt antingen.

Du använde också filter i formeln. Filter begränsar vad som beräknas. I det här fallet valde du ett filter som argument, vilket i själva verket är en annan funktion. Du lär dig mer om filter senare.

Slutligen använde du funktionen CALCULATE. Det här är en av de mest kraftfulla funktionerna i DAX. När du redigerar datamodeller och skapar mer komplexa formler kommer du förmodligen att använda den här funktionen många gånger. Funktionen CALCULATE beskrivs inte närmare i den här snabbstarten, men i takt med att du lär dig mer om DAX bör du vara särskilt uppmärksam på funktionen.

Obs!: När du använder tidsinformationsfunktioner i DAX-formler måste du vanligtvis ange en unik datumkolumn med hjälp av dialogrutan Markera som datumtabell. I arbetsboken Contoso DAX Formula Samples.xlsx markeras kolumnen DateKey i tabellen DimDate som den unika datumkolumnen.

Extrauppgift

Du kanske frågar: ”Vad är den enklaste DAX-formel kan jag skapa”? Svaret på som är bra, ”formeln som du inte behöver”. Och som är exakt vad du kan göra med hjälp av en standardaggregering funktion i ett mått. Nästan alla datamodell behöver filtrera och beräkna aggregerade data. Till exempel används funktionen Summa i den summan av summan av återförsäljarförsäljningen du såg tidigare för att summera tal i en viss kolumn. DAX innehåller flera andra funktioner som Aggregera värden samt. Du kan automatiskt skapa formler med hjälp av standard aggregeringar med hjälp av funktionen Autosumma.

Extrauppgift: Skapa en mått formel med hjälp av funktionen Autosumma

  1. Rulla till kolumnen ReturnQuantity i tabellen, och sedan klicka på kolumnrubriken för att markera hela kolumnen.

  2. Klicka på knappen Autosumma på fliken Start i menyfliksområdet i gruppen beräkningar .

Autosumma i PowerPivot

Klicka på nedpilen bredvid Autosumma och klicka sedan på medel (meddelande om den andra standardaggregering fungerar du kan använda måste också).

Omedelbart, ett nytt mått skapas med namnet medelvärde av ReturnQuantity: följt av formeln = AVERAGE([ReturnQuantity]).

Visst var det enkelt? Alla formler som du skapar är självklart inte lika enkla. Men genom att använda funktionen Autosumma kan du snabbt skapa enkla formler med hjälp av standardaggregeringsberäkningar.

Nu bör du ha en relativt bra förståelse av syntaxen som används i DAX-formler. Du har också lärt dig hur du kan använda några riktigt smarta funktioner som IntelliSense och Autosumma för att snabbt skapa enkla och korrekta formler. Naturligtvis finns det mycket mer som du kan lära dig om syntax. Du hittar en hel del nyttig information i DAX-referensen och i SQL Books Online.

Frågor om syntax

  1. Vad innebär den här knappen i formelfältet?
    Funktionsknapp

  2. Av vad omges alltid ett kolumnnamn i en DAX-formel?

  3. Hur vill du skriva en formel för följande:
    i den DimProduct tabell för varje rad i den UnitMargin beräknad kolumn, beräkna ett värde genom att subtrahera värdena i den enhetskostnad kolumn från värden i den Enhetspris kolumn?

Du hittar svaren sist i det här avsnittet.

Funktioner

Funktioner är fördefinierade formler som utför beräkningar med hjälp av särskilda värden, kallade argument, som anges i en viss ordning eller enligt en bestämd struktur. Argument kan vara andra funktioner, en annan formel, kolumnreferenser, tal, text, logiska värden som TRUE eller FALSE eller konstanter.

DAX innehåller följande typer av funktioner: datum och tid, Information, logik, matematisk, statistik, Text och Tidsinformationsfunktioner. Om du är bekant med funktionerna i Excel-formler visas många av funktionerna i DAX liknar. DAX-funktioner är dock unika på följande sätt:

  • En DAX-funktion refererar alltid till en hel kolumn eller tabell. Om du bara vill använda särskilda värden från en tabell eller kolumn kan du lägga till filter i formeln.

  • Om du behöver anpassa beräkningarna för specifika rader innehåller DAX funktioner som gör att du kan använda den aktuella radens värde eller ett relaterat värde som ett slags argument för att utföra beräkningar som varierar beroende på kontext. Du lär dig mer om kontext senare.

  • I DAX finns många funktioner som returnerar en tabell i stället för ett värde. Tabellen visas inte, men används för att förse andra funktioner med indata. Du kan till exempel hämta en tabell och sedan räkna distinkta värden i den, eller beräkna dynamiska summor i filtrerade tabeller eller kolumner.

  • DAX innehåller en mängd olika tidsinformationsfunktioner. De här funktionerna kan du ange eller markera datumintervall och dynamiska beräkningar baserat på dem. Du kan till exempel jämföra summor parallella perioder.

Ibland kan det vara svårt att veta vilka funktioner som du kan behöva använda i en formel. Power Pivot och tabellmodell designer i SQL Server Data Tools finns funktionen Infoga funktion en dialogruta kan du välja funktioner efter kategori och en kort beskrivning för varje funktion.

Infoga funktion

Nu ska vi skapa en ny formel som innehåller en funktion som du ska välja via funktionen Infoga funktion.

Uppgift: Lägga till en funktion i en formel med hjälp av Infoga funktion

  1. Rulla till kolumnen längst till höger i tabellen, och klicka sedan på Lägg till kolumn i kolumnrubriken.

  2. Skriv ett likhetstecken i formelfältet och =.

  3. Klicka på knappen Infoga funktion. Infoga funktion Då öppnas dialogrutan Infoga funktion.

  4. Klicka på listrutan Välj en kategori i dialogrutan Infoga funktion. Alla är markerad som standard, och alla funktioner i kategorin alla anges nedan. Det är många funktioner, så att du ska filterfunktioner gör det lättare att söka efter typ av funktionen du letar efter.

  5. För den här formeln som du vill returnera några data som redan finns i en annan tabell. För att ska du använda en funktion i kategorin Filter. Gå vidare och klicka på kategorin Filter och rulla nedåt i Välj en funktion, och dubbelklicka på den relaterade funktionen. Klicka på Ok om du vill stänga dialogrutan Infoga funktion.

  6. Använd IntelliSense för att söka efter och välj kolumnen DimChannel [ChannelName].

  7. Stäng formeln och tryck på Retur.

  8. När du trycker på RETUR för att slutföra formeln ordet beräknar visas i statusfältet längst ned i fönstret Power Pivot. Nu ser du att du just skapat en ny kolumn i tabellen med kanalinformation från tabellen DimChannel.

  9. Byt namn på kolumnen Channel.

    Formeln bör se ut så här: =RELATED(DimChannel[ChannelName])

Du introducerades bara till en annan viktigt funktion i DAX, Relaterad funktion. Den relaterade funktionen returnerar värden från en annan tabell. Du kan använda relaterad förutsatt att det finns en relation mellan tabellen som du arbetar med och tabellen som innehåller de värden du vill ha. Nackdelen måste den relaterade funktionen mycket möjligheter. I det här fallet kan du nu inkludera via (lastsaledate) för varje försäljning i tabellen. Nu kan du dölja tabellen DimChannel från fältlistan för pivottabellen gör det enklare att navigera och se endast den viktigaste informationen som du verkligen behöver. Den relaterade funktionen är mycket viktigt ungefär som funktionen CALCULATE ovan, och du kommer förmodligen att använda det många gånger.

Som du ser kan funktioner i DAX hjälpa dig att skapa mycket kraftfulla formler. Vi bara beröring grunderna i funktionerna. När dina kunskaper i DAX förbättra skapar du formler med hjälp av många olika funktioner. Ett bra sätt att få detaljerad information om alla DAX-funktioner finns i referens för Data Analysis Expressions (DAX).

Snabba frågor om funktioner

  1. Vad refererar en funktion alltid till?

  2. Kan en formel innehålla mer än en funktion?

  3. Vilken Funktionskategori använder du vill sammanfoga två textsträngar till en sträng?

Du hittar svaren sist i det här avsnittet.

Kontext

Kontexten är ett av de viktigaste DAX begrepp att förstå. Det finns två typer av kontext i DAX; radkontext och filterkontext. Först ska vi tittar på radkontext.

Radkontext

Radkontexten kan enklast beskrivas som den aktuella raden. Kommer du ihåg den beräknade kolumnen Margin som vi använde som exempel när vi pratade om syntax? Formeln = [SalesAmount] - [TotalCost] beräknar ett värde i kolumnen Margin för varje rad i tabellen. Värdena för varje rad beräknas utifrån värdena i två andra kolumner, [SalesAmount] och [TotalCost] på samma rad. DAX kan beräkna värdena för varje rad i kolumnen Margin eftersom kontexten är känd: För varje rad hämtas värden i kolumnen [TotalCost] och subtraheras från värden i kolumnen [SalesAmount].

I den markerade cellen nedan beräknades värdet 49,54 USD på den aktuella raden genom att värdet 51,54 USD i kolumnen [TotalCost] subtraherades från värdet 101,08 USD i kolumnen [SalesAmount].

Radkontext i PowerPivot

Radkontext gäller inte bara för beräknade kolumner. Radkontext gäller även när en formel har en funktion som gäller filter för att identifiera en enskild rad i en tabell. Funktionen tillämpas natur en radkontext för varje rad i tabellen över vilka filtrering. Den här typen av radkontext gäller oftast mått.

Filterkontext

Filterkontext är lite svårare att förstå än radkontext. Filterkontexten kan enkelt beskrivas som ett eller flera filter som tillämpas i en beräkning som fastställer ett resultat eller värde.

Filterkontexten finns utöver radkontexten, inte i stället för den. Om du till exempel vill begränsa de värden som ska tas med i en beräkning ytterligare, kan du tillämpa en filterkontext som inte bara anger radkontexten, utan även ett specifikt värde (filter) i radkontexten.

Filterkontexten är enkel att upptäcka i pivottabeller. Om du till exempel lägger till TotalCost i området Värden och sedan lägger till Year och Region i Rad eller Kolumner, definierar du en filterkontext som väljer ut en delmängd data baserat på ett visst år och en viss region.

Varför är filterkontext så viktigt att DAX? Eftersom medan filterkontext kan enklast tillämpas genom att lägga till kolumnen och radetiketter och utsnitt i en pivottabell, filterkontext också kan användas i en DAX-formel genom att definiera ett filter med hjälp av funktioner, till exempel alla, relaterad, FILTER, BERÄKNA av relationer, och andra mått och kolumner. Till exempel du nu ska vi titta på följande formel i ett mått som heter StoreSales:

Formel

Som du ser är den här formeln mer komplex än några av de formler som vi har tittat på. För att formeln ska bli lättare att förstå kan vi dela upp den, på samma sätt som vi har gjort med andra formler.

Den här formeln innehåller följande syntaxelement:

  1. Det mått storesales, följt av ett kolon:.

  2. Likhetsteckenoperatorn (=) anger början av formeln.

  3. Funktionen CALCULATE utvärderar ett uttryck som ett argument i en kontext som ändras av angivna filter.

  4. Parenteser, (), omger ett eller flera argument.

  5. Ett mått [Sales] i samma tabell som ett uttryck. Försäljning-måtten med formeln: = SUM(FactSales[SalesAmount]).

  6. Ett kommatecken (,) filtren avgränsas.

  7. Kolumnen som formeln refererar till och ett specifikt värde, DimChannel [ChannelName] = ”Store”, som ett filter.

Den här formeln kommer att säkerställa att endast försäljning värden, som definieras av försäljning som ett filter beräknas endast för rader i kolumnen DimChannel [ChannelName] med värdet ”Store”, som ett filter.

Som du förstår är möjligheterna med att kunna definiera filterkontext i en formel enorma. Att kunna referera till ett visst värde i en relaterad tabell är bara ett exempel. Oroa dig inte om du inte förstår kontexter helt. Det blir lättare att förstå kontexter och varför de är så viktiga i DAX när du börjar skapa egna formler.

Frågor om kontexter

  1. Vilka är de två typerna av kontexter?

  2. Vad är filterkontext?

  3. Vad är radkontext?

Du hittar svaren sist i det här avsnittet.

Sammanfattning

Nu när du har en grundläggande förståelse av de viktigaste begreppen i DAX kan börja du skapa DAX-formler för beräknade kolumner och mått på egen hand. DAX verkligen kan vara lite svårt att lära dig, men det finns många resurser tillgängliga för dig. Efter läsa igenom det här avsnittet några gånger och experimentera med några av dina egna formler och du kan läsa mer om andra DAX-begrepp och formler som kan hjälpa dig att hitta dina egna lösningar. Många DAX-resurser är tillgängliga för dig i Power Pivot hjälp, SQL Server Books Online, faktablad och bloggar från Microsoft och inledande BI-experter. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) är en bra plats att börja. Referens för Data Analysis Expressions (DAX) är också en bra resurs. Se till att spara den i dina Favoriter.

Dokumentet DAX in the BI Tabular Model, som du kan hämta på http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409, innehåller mer detaljerad information om begreppen som beskrivs här och om många andra avancerade begrepp och formler. Detta white paper baseras på arbetsboken Contoso DAX Sample Formulas.xlsx som du redan har.

Svar på frågor

Syntax:

  1. Öppnar funktionen Infoga funktion.

  2. Hakparenteser [].

  3. = [Enhetspris] - [Enhetspris]

Funktioner:

  1. En tabell och en kolumn.

  2. Ja. En formel kan innehålla upp till 64 kapslade funktioner.

  3. Textfunktioner.

Kontext:

  1. Radkontext och filterkontext.

  2. Ett eller flera filter i en beräkning som fastställer ett enstaka värde.

  3. Den aktuella raden.

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×