Udostępnij za pośrednictwem


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

DEFINE
EVALUATE
VAR
zapytaniaDAX kolumn wirtualnych