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.

Det här avsnittet innehåller länkar till exempel som visar hur du använder DAX-formler i följande scenarier.

  • Utföra komplexa beräkningar

  • Arbeta med text och datum

  • Villkorsstyrda värden och feltestning

  • Använda tidsinformation

  • Ranka och jämföra värden

I den här artikeln

Komma igång

Besök DAX Resource Center Wiki där du kan hitta all slags information om DAX, inklusive bloggar, exempel, informationsvitter och videoklipp från branschledande experter och Microsoft.

Scenarier: Utföra komplexa beräkningar

DAX-formler kan utföra komplexa beräkningar som involverar anpassade aggregeringar, filtrering och användning av villkorsstyrda värden. Det här avsnittet innehåller exempel på hur du kommer igång med anpassade beräkningar.

Skapa anpassade beräkningar för en pivottabell

CALCULATE och CALCULATETABLE är kraftfulla, flexibla funktioner som är användbara för att definiera beräknade fält. Med de här funktionerna kan du ändra i vilket sammanhang beräkningen ska utföras. Du kan också anpassa vilken typ av aggregering eller matematisk åtgärd som ska utföras. Se följande avsnitt för exempel.

Använda ett filter på en formel

På de flesta platser där en DAX-funktion använder en tabell som argument kan du vanligtvis överföra i en filtrerad tabell i stället, antingen genom att använda funktionen FILTER i stället för tabellnamnet eller genom att ange ett filteruttryck som ett av funktionsargumenten. Följande avsnitt innehåller exempel på hur du skapar filter och hur filter påverkar resultatet av formler. Mer information finns i Filtrera data i DAX-formler.

Med FILTER-funktionen kan du ange filtervillkor med hjälp av ett uttryck, medan de andra funktionerna är utformade specifikt för att filtrera bort tomma värden.

Ta bort filter selektivt för att skapa ett dynamiskt förhållande

Genom att skapa dynamiska filter i formler kan du enkelt besvara frågor som följande:

  • Vilket var den nuvarande produktens bidrag till den totala försäljningen under året?

  • Hur mycket har den här divisionen bidragit till total vinst under alla driftsår jämfört med andra avdelningar?

Formler som du använder i en pivottabell kan påverkas av pivottabellens kontext, men du kan selektivt ändra kontexten genom att lägga till eller ta bort filter. Exemplet i avsnittet ALLA visar hur du gör detta. Om du vill beräkna försäljningsgraden för en viss återförsäljare över försäljningen för alla återförsäljare kan du skapa ett mått som beräknar värdet för det aktuella sammanhanget dividerat med värdet för ALL-sammanhanget.

I avsnittet ALLEXCEPT finns ett exempel på hur du selektivt rensar filter på en formel. I båda exemplen får du reda på hur resultaten ändras beroende på pivottabellens design.

Fler exempel på hur du beräknar proportioner och procent finns i följande avsnitt:

Använda ett värde från en yttre slinga

Förutom att använda värden från det aktuella sammanhanget i beräkningar kan DAX använda ett värde från en tidigare slinga för att skapa en uppsättning relaterade beräkningar. I följande avsnitt får du en genomgång av hur du skapar en formel som refererar till ett värde från en yttre slinga. Funktionen EARLIER har stöd för upp till två nivåer med kapslade loopar.

Mer information om radkontext och relaterade tabeller och hur du använder det här begreppet i formler finns i Sammanhang i DAX-formler.

Scenarier: Arbeta med text och datum

Det här avsnittet innehåller länkar till DAX-referensavsnitt som innehåller exempel på vanliga scenarier som innefattar att arbeta med text, extrahera och skriva datum- och tidsvärden eller skapa värden baserat på ett villkor.

Skapa en nyckelkolumn genom sammanfogning

Power Pivot går inte att använda sammansatta nycklar. Om du har sammansatta nycklar i datakällan kan du därför behöva kombinera dem i en enda nyckelkolumn. I följande avsnitt finns ett exempel på hur du skapar en beräknad kolumn baserat på en sammansatt nyckel.

Skapa ett datum baserat på datumdelar som extraherats från ett textdatum

Power Pivot en SQL Server för datum/tid när du arbetar med datum. Om dina externa data därför innehåller datum som är formaterade på ett annat sätt – till exempel om dina datum är skrivna i ett regionalt datumformat som inte känns igen av Power Pivot-datamotorn, eller om dina data använder heltals-surrogattangenter – kan du behöva använda en DAX-formel för att extrahera datumdelarna och sedan skapa delarna till en giltig datum-/tidsrepresentation.

Om du till exempel har en kolumn med datum som har representerats som ett heltal och sedan importerats som en textsträng, kan du konvertera strängen till ett datum-/tidsvärde med hjälp av följande formel:

=DATUM(HÖGER([Värde1];4);VÄNSTER([Värde1];2);EXVÄRDE([Värde1];2))

Värde1

Resultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Följande avsnitt innehåller mer information om de funktioner som används för att extrahera och skriva datum.

Definiera ett anpassat datum- eller talformat

Om dina data innehåller datum eller tal som inte representeras i något av Windows standardtextformaten kan du definiera ett anpassat format för att säkerställa att värdena hanteras på rätt sätt. De här formaten används när värden konverteras till strängar eller från strängar. Följande avsnitt innehåller även en detaljerad lista över de fördefinierade formaten som är tillgängliga för arbete med datum och tal.

Ändra datatyper med hjälp av en formel

I Power Pivot avgörs datatypen för utdata av källkolumnerna och du kan inte uttryckligen ange datatypen för resultatet eftersom den optimala datatypen bestäms av Power Pivot. Du kan emellertid använda de implicita datatypskonverteringarna som utförs Power Pivot ändra utdatatypen. 

  • Om du vill konvertera ett datum eller en talsträng till ett tal multiplicerar du med 1,0. Följande formel beräknar till exempel dagens datum minus 3 dagar och matar sedan ut motsvarande heltalsvärde.

    =(IDAG()-3)*1,0

  • Om du vill konvertera ett datum, tal eller valutavärde till en sträng sammanfogar du värdet med en tom sträng. Följande formel returnerar till exempel dagens datum som en sträng.

    =""& IDAG()

Följande funktioner kan också användas för att se till att en viss datatyp returneras:

Konvertera realtal till heltal

Scenario: Villkorsstyrda värden och feltestning

Precis Excel funktioner i DAX som gör att du kan testa värden i data och returnera ett annat värde baserat på ett villkor. Du kan till exempel skapa en beräknad kolumn som etiketterar återförsäljarna antingen som Föredragen eller Värde beroende på det årliga försäljningsbeloppet. Funktioner som testar värden är också användbara när du vill kontrollera området eller typen av värden för att förhindra att oväntade datafel bryter beräkningar.

Skapa ett värde baserat på ett villkor

Du kan använda kapslade OM-villkor för att testa värden och generera nya värden villkorligt. Följande avsnitt innehåller några enkla exempel på villkorsstyrd bearbetning och villkorsstyrda värden:

Testa efter fel i en formel

Till Excel kan du inte ha giltiga värden i en rad i en beräknad kolumn och ogiltiga värden i en annan rad. Om det finns ett fel i någon del av en Power Pivot-kolumn flaggas alltså hela kolumnen med ett fel, så att du alltid måste korrigera formelfel som resulterar i ogiltiga värden.

Om du till exempel skapar en formel som dividerar med noll kan oändlighetsresultatet eller ett fel uppstå. Vissa formler misslyckas också om funktionen stöter på ett tomt värde när ett numeriskt värde förväntas. När du utvecklar din datamodell är det bäst att tillåta att felen visas så att du kan klicka på meddelandet och felsöka problemet. När du publicerar arbetsböcker bör du emellertid ta med felhantering för att förhindra att oväntade värden orsakar att beräkningar misslyckas.

Du kan undvika att returnera fel i en beräknad kolumn genom att använda en kombination av logiska funktioner och informationsfunktioner för att testa fel och alltid returnera giltiga värden. Följande avsnitt innehåller några enkla exempel på hur du gör detta i DAX:

Scenarier: Använda tidsinformation

Tidsinformationsfunktioner i DAX innehåller funktioner som hjälper dig att hämta datum och datumintervall från dina data. Du kan sedan använda datumen eller datumintervallen för att beräkna värden över liknande perioder. Tidsinformationsfunktionerna omfattar även funktioner som fungerar med standarddatumintervall så att du kan jämföra värden över månader, år eller kvartal. Du kan också skapa en formel som jämför värden för det första och sista datumet i en angiven period.

En lista över alla tidsinformationsfunktioner finns i DAX (Time Intelligence Functions). Tips om hur du använder datum och tider effektivt i en Power Pivot finns i Datum i Power Pivot.

Beräkna kumulativ försäljning

Följande avsnitt innehåller exempel på hur du beräknar avslutande och inledande saldon. Med exemplen kan du skapa löpande balans mellan olika intervall, till exempel dagar, månader, kvartal eller år.

Jämföra värden över tid

Följande avsnitt innehåller exempel på hur du jämför summor över olika tidsperioder. De standardtidsperioder som stöds i DAX är månader, kvartal och år.

Beräkna ett värde över ett anpassat datumintervall

I följande avsnitt finns exempel på hur du hämtar anpassade datumintervall, till exempel de första 15 dagarna efter det att en försäljningskampanj börjat.

Om du använder tidsinformationsfunktioner för att hämta en anpassad uppsättning datum kan du använda den datumuppsättningen som indata i en funktion som utför beräkningar för att skapa anpassade aggregerade data över tidsperioder. I följande avsnitt finns ett exempel på hur du gör detta:

  • PARALLELPERIOD, funktion

    Obs!: Om du inte behöver ange ett anpassat datumintervall, men arbetar med redovisningsenheter som månader, kvartal eller år, rekommenderar vi att du utför beräkningar med hjälp av tidsinformationsfunktionerna som utformats för detta ändamål, t.ex. TOTALQTD, TOTALMTD och TOTALQTD.

Scenarier: Ranka och jämföra värden

Om du bara vill visa det översta n antalet objekt i en kolumn eller pivottabell har du flera alternativ:

  • Du kan använda funktionerna i Excel 2010 för att skapa ett toppfilter. Du kan också välja ett antal högsta eller lägsta värden i en pivottabell. I den första delen av det här avsnittet beskrivs hur du filtrerar för de tio översta elementen i en pivottabell. Mer information finns i Excel dokumentationen.

  • Du kan skapa en formel som dynamiskt rangordnar värden och sedan filtrerar efter rankningsvärdena, eller använda rankningsvärdet som ett utsnitt. I den andra delen av det här avsnittet beskrivs hur du skapar den här formeln och sedan använder rangordningen i ett utsnitt.

Det finns fördelar och nackdelar med varje metod.

  • Filtret Excel är enkelt att använda, men filtret är endast för visningsändamål. Om de data som ligger till grund för pivottabellen ändras måste du uppdatera pivottabellen manuellt för att se ändringarna. Om du behöver arbeta dynamiskt med rankningar kan du använda DAX för att skapa en formel som jämför värden med andra värden i en kolumn.

  • DAX-formeln är mer kraftfull. Genom att lägga till rankningsvärdet i ett utsnitt kan du dessutom bara klicka på utsnittet för att ändra antalet högsta värden som visas. Beräkningarna är dock beräknings dyrare och den här metoden kanske inte passar för tabeller med många rader.

Visa endast de tio översta elementen i en pivottabell

Visa de högsta eller lägsta värdena i en pivottabell

  1. I pivottabellen klickar du på nedåtpilen i rubriken Radetiketter.

  2. Välj Värdefilter> 10 högsta.

  3. I dialogrutan 10 <kolumnnamn> du den kolumn som ska rangordnas och antalet värden enligt följande:

    1. Välj Överkant om du vill se de celler som har de högsta värdena eller Nederkant om du vill se de celler som har de lägsta värdena.

    2. Ange antalet högsta eller lägsta värden som du vill visa. Standardvärdet är 10.

    3. Välj hur du vill att värdena ska visas:

Namn

Beskrivning

Objekt

Välj det här alternativet om du vill filtrera pivottabellen så att endast listan över de översta eller nedersta elementen visas efter sina värden.

Procent

Välj det här alternativet om du vill filtrera pivottabellen så att bara de element som adderades till angiven procentsats visas.

Summa

Välj det här alternativet om du vill visa summan av värdena för de översta eller nedersta elementen.

  1. Markera den kolumn som innehåller de värden du vill rangordna.

  2. Klicka på OK.

Ordna element dynamiskt med hjälp av en formel

Följande avsnitt innehåller ett exempel på hur du använder DAX för att skapa en rangordning som lagras i en beräknad kolumn. Eftersom DAX-formler beräknas dynamiskt kan du alltid vara säker på att rangordningen är korrekt även om underliggande data har ändrats. Eftersom formeln används i en beräknad kolumn kan du använda rangordningen i ett utsnitt och sedan välja de 5 högsta, 10 högsta eller till och med 100 högsta värdena.

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!

×