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 |