Tabela wirtualna
Wprowadza definicję tabeli wirtualnej w instrukcji DEFINE zapytania DAX.
Składnia
[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>) +
Parametry
Wyrażenie tabeli definiuje zawartość tabeli wirtualnej. Tabela wirtualna jest zdefiniowana tylko w zakresie bieżącego zapytania.
Opcjonalnie można zdefiniować kształt wizualizacji w tabeli wirtualnej. Kształt wizualizacji jest używany do obliczania wizualizacji. Kształt wizualizacji składa się z osi z opcjonalną kolumną logiczną DENSIFY.
Oś jest definiowana jako lista grup zestawień, po których następuje lista kolejności według kolumn w celu określenia kolejności osi. Grupa zestawienia składa się z co najmniej jednej grupy według kolumn, a następnie jednej kolumny total logicznej wskazującej, czy każdy wiersz jest sumą częściową bieżącej grupy zestawienia. FALSE wartość wskazuje, że bieżący wiersz jest wierszem szczegółów (grupowanie według bieżącej grupy zestawienia). TRUE wartość wskazuje, że bieżący wiersz jest rzutowany (nie grupowanie według bieżącej grupy zestawienia).
Jeśli żądana jest kolumna DENSIFY, kształt wizualizacji wykonuje zagęszczenie. Oznacza to, że oprócz wierszy z oryginalnego wyrażenia tabeli dodamy również kombinację wartości osi, które nie istnieją w oryginalnym wyrażeniu tabeli. Innymi słowy, wykonujemy lewe sprzężenia zewnętrzne z sprzężenia krzyżowego osi z oryginalnym wyrażeniem tabeli. Wartość TRUE w kolumnie DENSIFY wskazuje, że bieżący wiersz nie znajduje się w oryginalnym wyrażeniu tabeli i dodanym przez proces densyfikacji. Taki wiersz powinien mieć pustą wartość we wszystkich kolumnach miary (kolumnach spoza definicji osi). Wartość FALSE w kolumnie DENSIFY wskazuje, że bieżący wiersz pochodzi z oryginalnego wyrażenia tabeli.
Wartość zwracana
Zdefiniowano tabelę wirtualną
Uwaga
W przeciwieństwie do zmiennych, tabela wirtualna ma własną pochodzenie i nie przenosi pochodzenia z wyrażenia tabeli, z których jest definiowana.
Przykład
Załóżmy, że tabela T ma następujące wiersze:
Rok | Produkt | SalesAmount |
---|---|---|
2000 | Jabłko | $ 10.1 |
2000 | Banan | $ 10.2 |
2001 | Jabłko | 20,3 USD |
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
Zwrócony wynik to
data[Year] | data[Product] | data[IsYearTotal] | data[IsProductTotal] | data[Miara] | data[IsDensified] |
---|---|---|---|---|---|
prawdziwy | prawdziwy | 40,6 USD | fałszywy | ||
2000 | fałszywy | prawdziwy | 20,3 USD | fałszywy | |
2001 | fałszywy | prawdziwy | 20,3 USD | fałszywy | |
Jabłko | prawdziwy | fałszywy | 30,4 USD | fałszywy | |
2000 | Jabłko | fałszywy | fałszywy | $ 10.1 | fałszywy |
2001 | Jabłko | fałszywy | fałszywy | 20,3 USD | fałszywy |
Banan | prawdziwy | fałszywy | $ 10.2 | fałszywy | |
2000 | Banan | fałszywy | fałszywy | $ 10.2 | fałszywy |
2001 | Banan | fałszywy | fałszywy | prawdziwy |