Del via


Virtuell tabell

Introduserer en virtuell tabelldefinisjon i en DEFINE setning i en DAX spørring.

Syntaks

[DEFINE 
    (
      TABLE <table name> = <table expression>
        [WITH VISUAL SHAPE
          (AXIS <axis name>
            (GROUP <column>[, <column>] + TOTAL <column>) +
            ORDER BY <column>[, <column>] +
          ) +
          [DENSIFY <string literal>]
        ]
    ) + 
]

(EVALUATE <table expression>) +

Parametere

Tabelluttrykk definerer innholdet i den virtuelle tabellen. Den virtuelle tabellen er bare definert i omfanget av gjeldende spørring.

En visuell figur kan også defineres i den virtuelle tabellen. Visuell figur brukes til visuell beregning. En visuell figur består av akser med en boolsk DENSIFY-kolonne.

Aksen er definert som en liste over grupper for beregnet verdi etterfulgt av en liste over rekkefølge etter kolonner for å angi hvordan aksen skal ordnes. En beregnet gruppe består av én eller flere grupper etter kolonner, og deretter én boolsk TOTAL-kolonne som angir om hver rad er delsum for gjeldende gruppe for beregnet verdi. FALSE verdi angir at gjeldende rad er detaljrad (gruppering etter gjeldende gruppe for beregnet verdi). TRUE verdi angir at gjeldende rad er rullet opp (ikke gruppering etter gjeldende gruppe for beregnet verdi).

Hvis DENSIFY-kolonnen er forespurt, utfører visualobjektfiguren en tetthet. Dette betyr at i tillegg til radene fra det opprinnelige tabelluttrykket, legger vi også til en kombinasjon av akseverdier som ikke finnes i det opprinnelige tabelluttrykket. Med andre ord gjør vi en venstre ytre sammenføyning fra krysskoblingen av akser med det opprinnelige tabelluttrykket. En TRUE verdi i DENSIFY-kolonnen indikerer at gjeldende rad ikke er i det opprinnelige tabelluttrykket og lagt til av tetthetsprosessen. En slik rad bør ha tom verdi i alle målkolonner (kolonner utenfor aksedefinisjoner). En FALSE verdi i DENSIFY-kolonnen angir at gjeldende rad er fra det opprinnelige tabelluttrykket.

Returverdi

En virtuell tabell er definert

Bemerkning

I motsetning til variabler har den virtuelle tabellen sin egen avstamming, og bærer ikke avstammingen fra tabelluttrykket den er definert fra.

Eksempel

Anta at en tabell T har følgende rader:

År Produkt SalesAmount
2000 Eple $ 10,1
2000 Banan $ 10,2
2001 Eple $ 20,3
DEFINE TABLE data = SUMMARIZECOLUMNS(ROLLUPADDISSUBTOTAL(T[Year], "IsYearTotal"), ROLLUPADDISSUBTOTAL(T[Product], "IsProductTotal"), "Meausre", SUM(T[SalesAmount]))
  WITH VISUAL SHAPE
    AXIS ROWS GROUP [Year] TOTAL [IsYearTotal] ORDER BY [Year]
    AXIS COLUMNS GROUP [Product] TOTAL [IsProductTotal] ORDER BY [Product]
    DENSIFY "IsDensified"
EVALUATE data

Det returnerte resultatet er

data[År] data[Product] data[IsYearTotal] data[IsProductTotal] data[Mål] data[IsDensified]
sann sann $ 40,6 falsk
2000 falsk sann $ 20,3 falsk
2001 falsk sann $ 20,3 falsk
Eple sann falsk $ 30,4 falsk
2000 Eple falsk falsk $ 10,1 falsk
2001 Eple falsk falsk $ 20,3 falsk
Banan sann falsk $ 10,2 falsk
2000 Banan falsk falsk $ 10,2 falsk
2001 Banan falsk falsk sann

DEFINE
EVALUATE
VAR
virtuell kolonneDAX spørringer