Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Den här snabbstartsstarten är till för användare som Power Pivot användare i Excel eller i tabellmodellprojekt som har redigerats i SQL Server Data Tools. Den är avsedd för att ge dig en snabb och enkel introduktion till hur du kan använda DAX (Data Analysis Expressions) för att lösa ett antal grundläggande problem med datamodellering och analys. Det här avsnittet innehåller konceptuell information, en serie uppgifter som du kan utföra och några test för att testa det du har lärt dig. När du har slutfört det här avsnittet bör du ha en bra förståelse för de mest grundläggande begreppen i DAX.

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. DaX hjälper dig att skapa ny information från data som redan finns i modellen.

Varför är DAX så viktigt?

Det är enkelt att skapa en arbetsbok och importera data till den. Du kan även skapa pivottabeller eller pivotdiagram som visar viktig information utan att använda DAX-formler. Men hur gör du om du behöver analysera viktiga försäljningsdata över flera produktkategorier och för olika datumintervall? Eller behöver du kombinera viktiga lagerdata från flera tabeller i olika datakällor? DAX-formler erbjuder den här funktionen och många andra viktiga funktioner. Genom att lära dig hur du skapar effektiva DAX-formler får du ut mesta av dina data. När du får den information du behöver kan du börja lösa problem som påverkar företagets nederkant. Det här är Business Intelligence och DAX hjälper dig att komma dit.

Krav

Du kanske redan är bekant med att skapa formler i Microsoft Excel. Den kunskapen är användbar när du förstår DAX, men även om du inte har erfarenhet av Excel-formler kan du använda begreppen som beskrivs här för att komma igång med att skapa DAX-formler och lösa verkliga BI-problem direkt.

Vi fokuserar specifikt på att förstå DAX-formler som används i beräkningar. Du bör redan känna till grundläggande begrepp som både beräknade kolumner och mått (kallas även beräknade fält), som båda beskrivs i Power Pivot hjälp. Du bör också känna till programmets Power Pivot i Excel redigeringsmiljö och verktyg.

Exempelarbetsbok

Det bästa sättet att lära sig DAX är att skapa några grundläggande formler, använda den med vissa faktiska data och se resultaten själv. I exemplen och uppgifterna här används Dax-arbetsboken Contoso Sample DAX Formulas.xlsx. Du kan hämta arbetsboken http://go.microsoft.com/fwlink/?LinkID=237472&på 0x409. När du har laddat ned arbetsboken till datorn öppnar du den och öppnar sedan Power Pivot datorfönstret.

Nu börjar!

Vi kommer att rama in DAX kring tre mycket viktiga grundläggande begrepp: syntax, funktioner och sammanhang. Det finns förstås andra viktiga begrepp i DAX, men förståelsen av de här tre begreppen ger den bästa grunden för att bygga upp dina DAX-kunskaper.

Syntax

Innan du skapar egna formler ska vi ta en titt på syntaxen för DAX-formler. Syntaxen inkluderar de olika elementen som utgör en formel, eller mer enkelt, hur formeln skrivs. Låt oss till exempel titta på en enkel DAX-formel som används för att skapa nya data (värden) för varje rad i en beräknad kolumn med namnet Marginal i en factSales-tabell: (textfärger för formler är endast illustrativt)

Formel för beräknad kolumn

Syntaxen för den här formeln innehåller följande element:

  1. Teckenoperatorn för likhetstecken (=) 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 börjar med likhetstecken.

  2. Den refererade kolumnen [Försäljningsbelopp] innehåller de värden vi vill subtrahera från. En kolumnreferens i en formel omges alltid av hakparenteser []. Till Excel som refererar till en cell refererar en DAX-formel alltid till en kolumn.

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

  4. Den refererade kolumnen [TotalCost] innehåller de värden vi vill subtrahera från värden i kolumnen [Försäljningsbelopp].

När du försöker förstå hur du läser en DAX-formel är det ofta bra att dela upp varje element i ett språk som du tänker på och talar varje dag. Du kan till exempel läsa den här formeln som:

Beräkna (=) ett värde genom att subtrahera (-)värdena i kolumnen [TotalCost] från värden i kolumnen [ Försäljningsbelopp]för varje rad i den beräknade kolumnen Marginal i tabellenFörsäljningsförsäljning.

Vi tar 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 Summa för Sales Amount. Formler för mått kan inkludera måttnamnet, 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 SUMMA adderar alla tal i kolumnen [Försäljningsbelopp]. Du kommer att få mer information om funktioner senare.

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

  5. Den refererade tabellen FactSales.

  6. Kolumnen [Försäljningsbelopp] i tabellen Försäljningsförsäljning. Med det här argumentet vet funktionen SUMMA vilken kolumn som ska aggregeras för en SUMMA.

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

Förmåttet Summa för Sales Amount beräknar du (=)SUMMA av värden i kolumnen [ Försäljningsbelopp] i tabellen Försäljningsförsäljning.

När den placeras i värdesläppzonen i en fältlista för pivottabellen beräknar och returnerar det här måttet värden som definierats av varje cell i pivottabellen, till exempel Mobiltelefoner i USA.

Observera att det finns några olika saker som skiljer sig från den här formeln jämfört med formeln vi använde för den beräknade kolumnen Marginal. Vi har introducerat en funktion, SUMMA. Funktioner är färdiga formler som gör det enklare att göra komplexa beräkningar och ändringar med tal, datum, tid, text med mera. Du kommer att få mer information om funktioner senare.

Till skillnad från den beräknade kolumnen Marginal tidigare ser du kolumnen [Försäljningsbelopp] föregådes av tabellen Försäljningssiffror som kolumnen tillhör. Det här kallas för ett fullständigt kvalificerat kolumnnamn eftersom det innehåller kolumnnamnet som föregås av tabellnamnet. Kolumner som refereras i samma tabell kräver inte att tabellnamnet inkluderas i formeln. Det kan göra långa formler som refererar till många kolumner kortare och enklare att läsa. Det är dock bra att alltid ta med tabellnamnet i måttformelerna, även när de finns i samma tabell.

Obs!: Om namnet på en tabell innehåller blanksteg, reserverade nyckelord eller otillåtna tecken måste du omge tabellnamnet med enkla citattecken. Du måste också omge tabellnamn inom citattecken om namnet innehåller tecken utanför det alfanumeriska teckenområdet ANSI, oavsett om ditt språk stöder teckenuppsättningen eller inte.

Det är mycket viktigt att dina formler har rätt syntax. Om syntaxen inte är korrekt returneras i de flesta fall ett syntaxfel. I andra fall kan syntaxen vara korrekt, men de värden som returneras kanske inte är det du förväntar dig. Power Pivot (och SQL Server Data Tools) omfattar IntelliSense; En funktion som används för att skapa syntaktiska rätt formler genom att hjälpa dig att välja rätt element.

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

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

  1. Om du inte redan befinner dig i Power Pivot-fönstret Excel du på Power Pivot fönster i Power Pivotmenyfliksområdet.

  2. I Power Pivot klickar du på tabellen FactSales (fliken).

  3. Rulla till den kolumn som ligger längst till höger och klicka sedan på Lägg till kolumn i kolumnrubriken.

  4. Klicka i formelfältet högst upp i fönstret med modelldesignern.

    Formelfältet i PowerPivot

    Markören visas nu i formelfältet. I formelfältet kan du 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 avbryt-knapp. Klicka på den om du vill. Markören visas inte längre i formelfältet och knappen Avbryt och bockmarkering visas inte längre. Klicka i formelfältet igen. Knappen för att avbryta och bockmarkeringen visas nu igen. Det innebär att du är redo att börja ange en formel.

    Bockmarkeringsknappen är knappen Kontrollera formel. Det gör inte så mycket förrän du har angett en formel. Vi går tillbaka till den om en stund.

    Klicka på fx-knappen. En ny dialogruta visas. dialogrutan Infoga funktion. Dialogrutan Infoga funktion är det enklaste sättet att komma igång med att ange en DAX-formel. Vi kommer att lägga till en funktion i en formel när vi skapar ett mått lite senare, men för tillfället behöver du inte lägga till någon funktion i din beräknade kolumnformel. Gå vidare och stäng dialogrutan Infoga funktion.

  5. Skriv ett likhetstecken =i formelfältet och skriv sedan en inledande hakparentes [. Ett litet fönster med alla kolumner i tabellen Informationsförsäljning visas. Det här IntelliSense i praktiken.

    Eftersom beräknade kolumner alltid skapas i den aktiva tabellen du befinner dig i behöver du inte föregå kolumnnamnet med tabellnamnet. Bläddra sedan nedåt och dubbelklicka på [SalesQuantity]. Du kan också rulla till det kolumnnamn du vill ha och sedan trycka på Tabb.

    Markören är nu aktiv till höger om [SalesQuantity].

  6. Skriv ett blanksteg och sedan en subtraktionsoperator - (ett minustecken) och skriv sedan ett till blanksteg.

  7. Skriv nu ytterligare en inledande hakparentes [. Markera nu kolumnen [ReturnQuantity] och tryck sedan på Retur.

    Om du får ett felmeddelande ska du noga kontrollera syntaxen. Om det behövs kan du jämföra den med formeln i den beräknade kolumnen Marginal som beskrivs tidigare.

    När du har tryckt på Retur för att slutföra formeln visas ordet Beräkna i statusfältet längst ned i Power Pivot formelfönstret. Det går snabbt, även om du bara har beräknat nya värden för fler än tre miljoner rader.

  8. Högerklicka på kolumnrubriken och byt namn på kolumnen, NetFörsäljning.

Klart! Du har just skapat en enkel men mycket kraftfull DAX-formel. För varje rad i tabellen Försäljningssiffror beräknar NetFörsäljning-formeln ett värde genom att subtrahera värdet i kolumnen [ReturnQuantity] från värdet i kolumnen [Försäljningssiffror]. Lägg märke till att vi just sa "För varje rad". Det här är en uppfattning om ett annat mycket viktigt koncept i DAX. radkontext. Du får mer information om radkontext senare.

En mycket viktig sak att förstå när du skriver en operator i en DAX-formel är datatypen i de argument som du använder. Om du till exempel skulle skriva följande formel, = 1 & 2, skulle det returnerade värdet vara textvärdet "12". Det beror på att et-operatorn (&) är för text sammanfogning. DAX tolkar formeln som att läsa: Beräkna ett resultat genom att använda värdet 1 som text och lägga till värdet 2 som text. Om du skulle skriva = 1 + 2 läser DAX formeln som: Beräkna ett resultat genom att ta det numeriska värdet 1 och lägga till det numeriska värdet 2. Resultatet är förstås "3", ett numeriskt värde. DAX beräknar resulterande värden beroende på operatorn i formeln, inte baserat på datatypen av kolumner som används i argumentet. Datatyperna i DAX är mycket viktiga, men ligger utanför den här snabbstartsinformationen. Mer information om datatyper och operatorer i DAX-formler finns i DAX-referensen (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) i Böcker Online.

Försök med ett annat. Den här gången skapar du ett mått genom att skriva formeln och använda IntelliSense. Oroa dig inte för mycket om du inte förstår formeln helt. Det viktiga här är att lära dig hur du skapar en formel med flera element tillsammans i rätt syntax.

Uppgift: Skapa en måttformel

  1. Klicka i en tom cell i beräkningsområdet i tabellen FactSales. Det här är området med tomma celler precis under en tabell i Power Pivot fönster.

Beräkningsområdet i PowerPivot

  1. Skriv namnet Försäljning föregående kvartal i formelfältet:

  2. Skriv ett likhetstecken = för att påbörja beräkningsformeln.

  3. Skriv de första bokstäverna CAL och dubbelklicka sedan på den funktion du vill använda. I den här formeln vill du använda funktionen CALCULATE.

  4. Skriv en inledande parentes ( för att börja använda argumenten som ska skickas till funktionen CALCULATE.

    Lägg märke till när du har skrivit den inledande parentesen IntelliSense visar argumenten som krävs för funktionen CALCULATE. Du kommer att lära dig mer om argument om en liten stund.

  5. Skriv de första bokstäverna i tabellen Försäljningsförsäljning och dubbelklicka sedan på Försäljningsförsäljning[Försäljning] i listrutan.

  6. Skriv ett kommatecken (,) för att ange det första filtret och skriv sedan PRE och dubbelklicka sedan på funktionen FÖREGÅENDE KVARTIL.

    När du har valt funktionen FÖREGÅENDE KVARTIL visas en annan inledande parentes som anger att ett annat argument krävs. den här gången för funktionen PREVIOUSQUARTER.

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

  8. Stäng båda argumenten som skickas till funktionen FÖREGÅENDE KVARTIL och FUNKTIONEN BERÄKNA genom att skriva två avslutande parenteser )).

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

    Föregående kvartal Försäljning:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Verifiera formeln genom att klicka på knappen Kontrollera formel i formelfältet. Om du får ett felmeddelande kontrollerar du varje element i syntaxen.

Du klarade det! Du har just skapat ett mått med DAX, och det är inte lätt. Vad den här formeln gör är att beräkna den totala försäljningen för det föregående kvartalet, beroende på vilka filter som används i en pivottabell pivotdiagram.

Du har precis introducerats till flera viktiga aspekter av DAX-formler. Först ingick två funktioner i den här formeln. Observera att funktionen FÖREGÅENDE KVARTIL är kapslad som ett argument som skickas till funktionen CALCULATE. DAX-formler kan innehålla upp till 64 kapslade funktioner. Det är osannolikt att en formel någonsin skulle innehålla så många kapslade funktioner. En sådan formel skulle vara mycket svår att skapa och felsöka, och den skulle förmodligen inte vara särskilt snabb heller.

I den här formeln använde du även filter. Filter begränsar vad som kommer att beräknas. I det här fallet valde du ett filter som ett argument, vilket egentligen är en annan funktion. Du får mer information om filter senare.

Slutligen använde du funktionen CALCULATE. Det här är en av de mest kraftfulla funktionerna i DAX. När du skapar datamodeller och skapar mer komplexa formler kommer du förmodligen att använda den här funktionen många gånger. Att diskutera funktionen BERÄKNA omfattas inte av denna snabbstart, men var särskilt uppmärksam när din kunskap om DAX växer.

Obs!: Vanligtvis måste du ange en unik datumkolumn i dialogrutan Markera som datumtabell för att kunna använda tidsinformationsfunktioner i DAX-formler. I arbetsboken Contoso DAX Samples.xlsx är kolumnen DateKey i tabellen DimDate markerad som den unika datumkolumnen.

Extra kredit

Du kanske frågar: "Vad är den enklaste DAX-formeln jag kan skapa?" Svaret på det är "den formel du inte behöver ha". Och det är exakt vad du kan göra med hjälp av en standardaggregeringsfunktion i ett mått. Nästan alla datamodeller måste filtreras och beräknas på aggregerade data. Till exempel används funktionen SUMMA i måttet Summa för Sales Amount som du såg tidigare för att summera alla tal i en viss kolumn. DAX innehåller flera andra funktioner som även aggregerar värden. Du kan automatiskt skapa formler med hjälp av standardaggregeringar med hjälp av funktionen Autosumma.

Extra kreditaktivitet: Skapa en måttformel med hjälp av funktionen Autosumma

  1. I tabellen FactSales bläddrar du till kolumnen ReturnQuantity och klickar sedan på kolumnrubriken för att markera hela kolumnen.

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

Autosumma i PowerPivot

Klicka på nedåtpilen bredvid Autosumma ochsedan på Medel (observera även de andra standardaggregeringsfunktionerna du kan använda).

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

Var inte det enkelt nu? Naturligtvis är inte alla formler som du skapar så enkla. Med hjälp av funktionen Autosumma kan du däremot snabbt och enkelt skapa formler med hjälp av standardaggregeringsberäkningar.

Det bör ge dig ganska god förståelse för syntaxen som används i DAX-formler. Du har även introducerats till några riktigt häftiga funktioner som IntelliSense autosumma som hjälper dig att skapa snabba, enkla och korrekta formler. Naturligtvis finns det mycket mer du kan lära dig om syntax. En bra plats att lära sig mer på är DAX-referens eller SQL Böcker Online.

Snabbsquiz för syntax

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

  2. Vad är det alltid som omger ett kolumnnamn i en DAX-formel?

  3. Hur skulle du skriva en formel för följande: Beräkna ett värde i tabellen
    DimProduct för varje rad i den beräknade kolumnen UnitMargingenom att subtrahera värden i kolumnen Enhetspris från värden i kolumnen Enhetspris?

Svaren finns i slutet av det här avsnittet.

Funktioner

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

DAX innehåller följande kategorier av funktioner: Funktionerna Datum och tid, Information, Logik, Matematisk, Statistik, Text och Tidsinformation. Om du känner till funktionerna i Excel-formler ser många av funktionerna i DAX ut ungefär så här: DAX-funktioner är emellertid unika på följande sätt:

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

  • Om du behöver anpassa beräkningar rad för rad tillhandahåller DAX funktioner som gör att du kan använda det aktuella radvärdet eller ett relaterat värde som en typ av argument för att utföra beräkningar som varierar efter kontext. Du får mer information om kontext senare.

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

  • DAX innehåller en mängd olika tidsinformationsfunktioner. Med de här funktionerna kan du definiera eller välja datumintervall och utföra dynamiska beräkningar baserade på dem. Du kan till exempel jämföra summor över parallella perioder.

Ibland är det svårt att veta vilka funktioner du kan behöva använda i en formel. Power Pivot och tabellmodelldesignern i SQL Server Data Tools innehåller funktionen Infoga funktion, en dialogruta där du kan välja funktioner efter kategori och ge korta beskrivningar av varje funktion.

Infoga funktion

Nu ska vi skapa en ny formel som innehåller en funktion som du kan välja med funktionen Infoga funktion:

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

  1. I tabellen FactSales rullar du till kolumnen längst till höger och klickar sedan på Lägg till kolumn i kolumnrubriken.

  2. Skriv ett likhetstecken (=) i formelfältet.

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

  4. I dialogrutan Infoga funktion klickar du på listrutan Välj en kategori. Som standard är Alla markerat och alla funktioner i kategorin Alla visas nedan. Det är många funktioner, så du bör filtrera funktionerna så att det blir lättare att hitta den typ av funktion som du letar efter.

  5. För den här formeln vill du returnera vissa data som redan finns i en annan tabell. Då kommer du att använda en funktion i kategorin Filter. Gå vidare och klicka på kategorin Filter. I Välj en funktionrullar du nedåt och dubbelklickar på funktionen RELATED. Stäng dialogrutan Infoga funktion genom att klicka på Ok.

  6. Använd IntelliSense som hjälper dig att hitta och markera kolumnen DimChannel[ChannelName].

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

  8. När du har tryckt på Retur för att slutföra formeln visas ordet Beräkning i statusfältet längst ned i Power Pivot formelfönstret. Nu ser du att du just har skapat en ny kolumn i tabellen FactSales med kanalinformation från dimChannel-tabellen.

  9. Byt namn på kolumnen till Kanal.

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

Du har just introducerats till en annan mycket viktig funktion i DAX, funktionen RELATED. Funktionen RELATED returnerar värden från en annan tabell. Du kan använda RELATED förutsatt att det finns en relation mellan tabellen du befinner dig i och tabellen som innehåller de värden du vill ha. Naturligtvis har funktionen RELATED mycket stora möjligheter. I det här fallet kan du nu ta med försäljningskanalen för varje försäljning i tabellen Försäljnings försäljningssiffror. Nu kan du dölja DimChannel-tabellen i fältlistan för pivottabellen, vilket gör det lättare att navigera och bara se den viktigaste informationen som du verkligen behöver. Precis som funktionen CALCULATE beskrivs tidigare är funktionen RELATED mycket viktig och du kommer antagligen att använda den många gånger.

Som du ser kan funktioner i DAX hjälpa dig att skapa mycket kraftfulla formler. Vi vidrör egentligen bara grunderna om funktioner. När dina DAX-kunskaper förbättras kommer du att skapa formler med många olika funktioner. En av de bästa platserna för att lära sig mer om alla DAX-funktioner finns i DAX-referensen (Data Analysis Expressions).

Snabbsquiz för funktioner

  1. Vad refererar en funktion alltid till?

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

  3. Vilken kategori av funktioner skulle du använda för att sammanfoga två textsträngar till en sträng?

Svaren finns i slutet av det här avsnittet.

Sammanhang

Kontext är ett av de viktigaste DAX-begreppen att förstå. Det finns två typer av kontext i DAX: radkontext och filterkontext. Först tittar vi på radkontext.

Radkontext

Det är lättast att tänka på radkontext som aktuell rad. Kommer du till exempel ihåg den beräknade kolumnen Marginal som du såg tidigare vid inlärning av syntax? Formeln =[Försäljningsbelopp] - [TotalSumma] beräknar ett värde i marginalkolumnen för varje rad i tabellen. Värdena för varje rad beräknas från värden i två andra kolumner, [Försäljningsbelopp] och [TotalCost] på samma rad. DAX kan beräkna värdena för varje rad i kolumnen Marginal eftersom den har ett sammanhang: För varje rad tar den värden i kolumnen [TotalCost] och subtraherar dem från värden i kolumnen [Försäljningsbelopp].

I den markerade cellen som visas nedan beräknas värdet, 49,54 kr på den aktuella raden, genom att värdet 51,54 kr i kolumnen [TotalCost] subtraheras från värdet 101,08 kr i kolumnen [Försäljningsbelopp].

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 använder filter för att identifiera en enskild rad i en tabell. Med den här funktionen kan du använda ett radkontext för varje rad i tabellen som den filtrerar över. Den här typen av radkontext gäller oftast för mått.

Filterkontext

Filterkontext är lite svårare att förstå än radkontext. Du kan oftast tänka på filterkontext som: Ett eller flera filter som används i en beräkning som bestämmer ett resultat eller värde.

Filterkontext finns inte i stället för radkontext. den gäller utöver radkontext. Om du till exempel vill begränsa de värden som ska ingå i en beräkning kan du använda ett filtersammanhang som inte bara anger radkontexten utan även endast ett visst värde (filter) i radkontexten.

Filterkontext visas enkelt i pivottabeller. När du till exempel lägger till TotalCost i området Värden och sedan lägger till År och Region i raden eller kolumnerna, definierar du ett filtersammanhang som väljer en delmängd data baserat på ett visst år och en viss region.

Varför är filterkontexten så viktig för DAX? Även om filterkontext oftast kan tillämpas genom att lägga till kolumn- och radetiketter och utsnitt i en pivottabell, kan filterkontext även användas i en DAX-formel genom att definiera ett filter med funktioner som ALL, RELATED, FILTER, CALCULATE, efter relationer och efter andra mått och kolumner. Låt oss till exempel titta på följande formel i ett mått som heter StoreFörsäljning:

Formel

Tydligt är den här formeln mer komplex än några av de andra formlerna du har sett. Men för att bättre förstå den här formeln kan vi dela upp den, ungefär som vi gjort med andra formler.

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

  1. Måttnamnet StoreFörsäljning, följt av ett kolon :.

  2. Teckenoperatorn för likhetstecken (=) anger början av formeln.

  3. Funktionen CALCULATE utvärderar ett uttryck som ett argument i ett sammanhang som ändras av de angivna filtren.

  4. Parentes () omger ett eller flera argument.

  5. Ett mått [Försäljning] i samma tabell som ett uttryck. Försäljningsmåttet har formeln: =SUM(FactSales[SalesAmount]).

  6. Ett kommatecken (,) avgränsar varje filter.

  7. Den refererade kolumnen och ett visst värde, DimChannel[ChannelName] ="Store", som ett filter.

Den här formeln säkerställer att endast försäljningsvärden, som definieras av försäljningsmåttet som ett filter, beräknas endast för rader i kolumnen DimChannel[ChannelName] med värdet "Store" som ett filter.

Som du kan föreställa dig har möjligheten att definiera filterkontext i en formel mycket kraftfulla funktioner. Att bara referera till ett visst värde i en relaterad tabell är bara ett sådant exempel. Oroa dig inte om du inte förstår sammanhanget helt och hållet på en gång. När du skapar egna formler blir det bättre att förstå kontext och varför det är så viktigt i DAX.

Snabbsquiz för sammanhang

  1. Vad är de två typerna av sammanhang?

  2. Vad är filterkontext?

  3. Vad är radkontext?

Svaren finns i slutet av det här avsnittet.

Sammanfattning

Nu när du har en grundläggande förståelse för de viktigaste begreppen i DAX kan du börja skapa DAX-formler för beräknade kolumner och mått på egen hand. DAX kan faktiskt vara lite knepigt att lära sig, men det finns många resurser tillgängliga för dig. Efter att ha läst igenom det här avsnittet några gånger, och experimenterat med några av dina egna formler, kan du lära dig mer om andra DAX-begrepp och formler som kan hjälpa dig att lösa dina egna företagsproblem. Det finns många DAX-resurser tillgängliga för dig i Power Pivot-hjälpen, SQL Server-böcker online, whitepapers och bloggar från både Microsoft och ledande BI-proffs. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) är en bra början. DAX-referens (Data Analysis Expressions) är också en bra resurs. Se till att spara den i Dina Favoriter.

DAX i bi Tabular Model-vitbok, tillgänglig för nedladdning (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) ger en mer detaljerad titt på begreppen som introducerades här samt många andra avancerade begrepp och formler. Den här informationsbladet använder också samma Exempelarbetsbok för Contoso DAX Formulas.xlsx som du redan har.

Snabbsquiz-svar

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.

Sammanhang:

  1. Radkontext och filterkontext.

  2. Ett eller flera filter i en beräkning som bestämmer ett enda värde.

  3. Den aktuella raden.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×