EVALUATEANDLOG
最初の引数の値を返し、DAX 評価ログ プロファイラー イベントに記録します。 この関数は、Power BI Desktop でのみ完全に機能します。 他の環境では単純なパススルー関数として機能します。
構文
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
パラメーター
用語 | 定義 |
---|---|
Value |
評価してログに記録するスカラー式またはテーブル式。 |
Label |
(省略可能)関数呼び出しのインスタンスを簡単に識別するために使用できる、DAX 評価ログ イベントの json テキストと Label 列の両方に含まれる定数文字列。 |
MaxRows |
(省略可能)最初の引数がテーブル式の場合の DAX 評価ログ イベントの json テキスト内の行の最大数。 既定値は 10 です。 |
戻り値
最初の引数の値。
DAX 評価ログ プロファイラー イベントに記録される JSON 構造には、次のものが含まれます。
-
expression
は、最初の引数のテキスト バージョンです。 -
label
は、式で指定した場合の Label パラメーターです。 -
inputs
は、最初の引数の値に影響を与える評価コンテキスト内の列の一覧です。 -
outputs
は、最初の引数がスカラー式の場合は 1 つの列 [Value] のリストであり、最初の引数がテーブル式の場合は出力列のリストです。 -
data
は、最初の引数がスカラー式の場合は入力値と出力値のリスト、最初の引数がテーブル式の場合は入力値と対応する出力行のリストです。 -
rowCount
は、最初の引数がテーブル式の場合の行数です。 json 出力の行数は MaxRows パラメーターによって切り捨てられますが、rowCount は切り捨てのない実際の行数です。
備考
トレース イベントは、
SQL Server Profiler と、デバッグ出力 ツールオープンソースを使用してキャプチャできます。 この関数は、DAX 式内のほぼすべてのサブ式で使用でき、式全体は引き続き有効です。
1 つのクエリで最初の引数が複数回評価されると、関数は入力値と対応する出力値の両方を含む 1 つの DAX 評価ログ イベントを生成します。
label パラメーターを指定すると、その値は json 出力と、DAX 評価ログ イベントの Label 列の両方で返されます。
最初の引数がテーブル式の場合は、上位の MaxRows 行のみが DAX 評価ログ イベントに表示されます。
場合によっては、この関数は最適化のために実行されません。
DAX 評価ログ イベントが 100 万文字を超える場合は、正しい json 構造を保持するために切り捨てられます。
例 1
次の DAX クエリ:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
次の DAX 評価ログ イベントを返します。
{
"expression": "FILTER(Sales, [ProductKey] = 528)",
"inputs": [],
"outputs": ["'Sales'[SalesOrderLineKey]", "'Sales'[ResellerKey]", "'Sales'[CustomerKey]", "'Sales'[ProductKey]", "'Sales'[OrderDateKey]", "'Sales'[DueDateKey]", "'Sales'[ShipDateKey]", "'Sales'[SalesTerritoryKey]", "'Sales'[Order Quantity]", "'Sales'[Unit Price]", "'Sales'[Extended Amount]", "'Sales'[Product Standard Cost]", "'Sales'[Total Product Cost]", "'Sales'[Sales Amount]", "'Sales'[Unit Price Discount Pct]"],
"data": [
{
"input": [],
"rowCount": 3095,
"output": [
[52174001, -1, 23785, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52173001, -1, 26278, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52082001, -1, 23831, 528, 20190705, 20190715, 20190712, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52054002, -1, 11207, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52036001, -1, 25337, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51939002, -1, 23670, 528, 20190702, 20190712, 20190709, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51911002, -1, 11746, 528, 20190701, 20190711, 20190708, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51379003, -1, 13745, 528, 20190612, 20190622, 20190619, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51264002, -1, 11282, 528, 20190605, 20190615, 20190612, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51184003, -1, 11263, 528, 20190531, 20190610, 20190607, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0]
]
}
]
}
例 2
次の DAX は、スカラー引数とさまざまな属性を持つクエリです。
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
次の DAX 評価ログ イベントを返します。
{
"expression": "[Customer] & \", \" & [Country-Region]",
"label": "customerLog",
"inputs": ["'Customer'[Customer]", "'Customer'[Country-Region]"],
"data": [
{
"input": ["Russell Xie", "United States"],
"output": "Russell Xie, United States"
},
{
"input": ["Savannah Baker", "United States"],
"output": "Savannah Baker, United States"
},
{
"input": ["Maurice Tang", "United States"],
"output": "Maurice Tang, United States"
},
{
"input": ["Emily Wood", "United States"],
"output": "Emily Wood, United States"
},
{
"input": ["Meghan Hernandez", "United States"],
"output": "Meghan Hernandez, United States"
}
]
}