Skapa beräknade kolumner

Slutförd

Du kan skriva en DAX-formel för att lägga till en beräknad kolumn till valfri tabell i din modell. En formel för en beräknad kolumn måste returnera ett skalärt eller enskilt värde.

Beräknade kolumner i importmodeller har en nackdel: De ökar modellens lagringsstorlek och de kan förlänga tiden det tar att uppdatera data. Orsaken är att beräknade kolumner räknas om när de har formelberoenden till uppdaterade tabeller.

I datavyn i fönstret Fält kontrollerar du att tabellen Förfallodatum är markerad. Innan du skapar en beräknad kolumn måste du först byta namn på kolumnen Datum till Förfallodatum.

Nu kan du lägga till en beräknad kolumn i tabellen Förfallodatum . Om du vill skapa en beräknad kolumn går du till menyfliksområdet Tabellverktyg från gruppen Beräkningar och väljer Ny kolumn.

I formelfältet anger du följande definition av beräknad kolumn och trycker sedan på Retur.

Due Fiscal Year =
"FY"
    & YEAR('Due Date'[Due Date])
        + IF(
            MONTH('Due Date'[Due Date]) > 6,
            1
        )

Definitionen för den beräknade kolumnen lägger till kolumnen Förfallo räkenskapsår i tabellen Förfallodatum . Följande steg beskriver hur Microsoft Power BI utvärderar formeln för den beräknade kolumnen:

  1. Additionsoperatorn (+) utvärderas före operatorn för textsammanfogning (&).
  2. DAX-funktionen YEAR returnerar heltalsvärdet för förfallodatumets år.
  3. DAX-funktionen IF returnerar värdet när månadsnumret för förfallodatumet är 7–12 (juli till december). Annars returneras BLANK. (Till exempel eftersom räkenskapsåret för Adventure Works är juli–juni, kommer kalenderårets sista sex månader att använda nästa kalenderår som räkenskapsår.)
  4. Årsvärdet läggs till i det värde som returneras av IF funktionen, vilket är värdet ett eller BLANK. Om värdet är BLANK konverteras det implicit till noll (0) så att additionen kan producera räkenskapsårets värde.
  5. Det literala textvärdet "FY" sammanfogat med räkenskapsårets värde, som implicit konverteras till text.

Lägg till en andra beräknad kolumn med hjälp av följande definition:

Due Fiscal Quarter =
'Due Date'[Due Fiscal Year] & " Q"
    & IF(
        MONTH('Due Date'[Due Date]) <= 3,
        3,
        IF(
            MONTH('Due Date'[Due Date]) <= 6,
            4,
            IF(
                MONTH('Due Date'[Due Date]) <= 9,
                1,
                2
            )
        )
    )

Definitionen av den beräknade kolumnen lägger till kolumnen Förfallo räkenskapskvartal i tabellen Förfallodatum . Funktionen IF returnerar kvartalsnumret (kvartal 1 är juli–september) och resultatet sammanfogas till kolumnvärdet Förfallet räkenskapsår och literaltexten Q.

Lägg till en tredje beräknad kolumn med hjälp av följande definition:

Due Month =
FORMAT('Due Date'[Due Date], "yyyy mmm")

Definitionen för den beräknade kolumnen lägger till kolumnen Förfallomånad i tabellen Förfallodatum . DAX-funktionen FORMAT konverterar kolumnvärdet Förfallodatum till text med hjälp av en formatsträng. I det här fallet skapar formatsträngen en etikett som beskriver året och det förkortade månadsnamnet.

Anteckning

Det finns många användardefinierade datum- och tidsformat. Mer information finns i Anpassade datum- och tidsformat för funktionen FORMAT.

Lägg till en fjärde beräknad kolumn med hjälp av följande definition:

Due Full Date =
FORMAT('Due Date'[Due Date], "yyyy mmm, dd")

Lägg till en femte beräknad kolumn med hjälp av följande definition:

MonthKey =
(YEAR('Due Date'[Due Date]) * 100) + MONTH('Due Date'[Due Date])

Den beräknade kolumnen MonthKey multiplicerar det förfallodatumets år med värdet 100 och lägger sedan till månadsnumret för förfallodatumet. Det skapat ett numeriskt värde som kan användas för att sortera textvärden för Förfallomånad i kronologisk ordning.

Kontrollera att tabellen Förfallodatum innehåller sex kolumner. Den första kolumnen lades till när den beräknade tabellen skapades och de andra fem kolumnerna lades till som beräknade kolumner.

För att slutföra designen av tabellen Förfallodatum kan du:

  • Sortera kolumnen Fullständigt förfallodatum efter kolumnen Förfallodatum.
  • Sortera kolumnen Förfallomånad efter kolumnen MonthKey.
  • Dölja kolumnen MonthKey.
  • Skapa en hierarki med namnet Räkenskap med följande nivåer:
    • Förfalloräkenskapsår
    • Förfalloräkenskapskvartal
    • Förfallomånad
    • Fullständigt förfallodatum
  • Markera tabellen Förfallodatum som en datumtabell med hjälp av kolumnen Förfallodatum .