共用方式為


虛擬數據表

在 DAX的 語句中引進虛擬數據表定義。

語法

[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>) +

參數

數據表表達式會定義虛擬數據表的內容。 虛擬數據表只會定義在目前查詢的範圍中。

您可以選擇性地在虛擬資料表上定義視覺圖形。 視覺圖形用於視覺計算。 視覺圖形是由具有布爾值 DENSIFY 數據行的座標軸所組成。

軸定義為匯總群組的清單,後面接著依數據行的順序,以指定座標軸的排序方式。 匯總群組由一或多個數據行組成,然後由一個布爾總計數據行組成,指出每個數據列是否為目前匯總群組的小計。 FALSE 值表示目前數據列是詳細數據列(依目前匯總群組分組)。 TRUE 值表示目前的數據列已匯總(未依目前匯總群組分組)。

如果要求 DENSIFY 數據行,則視覺圖形會執行 Densification。 這表示除了原始數據表運算式中的數據列之外,我們也新增原始數據表運算式中不存在的座標軸值組合。 換句話說,我們會使用原始數據表表達式,從座標軸的交叉聯結執行左外部聯接。 DENSIFY 數據行中的 TRUE 值表示目前的數據列不在原始數據表運算式中,而且由 densification 程式新增。 這類數據列在所有量值數據行中都應該有空值(軸定義以外的數據行)。 DENSIFY 資料行中的 FALSE 值表示目前數據列來自原始數據表運算式。

傳回值

已定義虛擬數據表

備註

不同於變數,虛擬數據表有自己的譜系,而且不會從其定義的數據表運算式中攜帶譜系。

假設資料表 T 具有下列資料列:

產品 SalesAmount
2000 蘋果 $ 10.1
2000 香蕉 $ 10.2
2001 蘋果 $ 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

傳回的結果為

data[Year] data[Product] data[IsYearTotal] data[IsProductTotal] data[Measure] data[IsDensified]
$ 40.6
2000 $ 20.3
2001 $ 20.3
蘋果 $ 30.4
2000 蘋果 $ 10.1
2001 蘋果 $ 20.3
香蕉 $ 10.2
2000 香蕉 $ 10.2
2001 香蕉

DEFINE
EVALUATE
VAR
虛擬數據行DAX 查詢