EVALUATEANDLOG
Platí pro:Calculated columnCalculated tableMeasureVisual calculation
Vrátí hodnotu prvního argumentu a zapíše ji do události profileru protokolu vyhodnocení JAZYKA DAX. Tato funkce je plně funkční jenom v Power BI Desktopu. Funguje jako jednoduchá předávací funkce v jiných prostředích.
Syntaxe
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametry
Pojem | definice |
---|---|
Hodnota | Libovolný skalární výraz nebo výraz tabulky, který se má vyhodnotit a protokolovat. |
Popisek | (Volitelné) Konstantní řetězec obsažený v textu JSON i ve sloupci Popisek události protokolu vyhodnocení DAX, která se dá použít k snadné identifikaci instance volání funkce. |
MaxRows | (Volitelné) Maximální početřádkůch Výchozí hodnota je 10. |
Vrácená hodnota
Hodnota prvního argumentu.
Struktura JSON zaprotokolovaná v události profileru protokolu vyhodnocení DAX zahrnuje:
- Výraz je textová verze prvního argumentu.
- "label" je parametr Popisek při zadání ve výrazu.
- "vstupy" je seznam sloupců v kontextu vyhodnocení, který ovlivňuje hodnoty prvního argumentu.
- "outputs" je seznam jednoho sloupce [Value] při prvním argumentu skalární výraz a seznam výstupních sloupců, pokud je prvním argumentem výraz tabulky.
- "data" je seznam vstupních hodnot a výstupních hodnot, pokud je prvním argumentem skalární výraz, a seznam vstupních hodnot a odpovídajících výstupních řádků, pokud je prvním argumentem výraz tabulky.
- "rowCount" je počet řádků, když první argument je výraz tabulky. I když je počet řádků ve výstupu JSON zkrácen parametrem MaxRows, rowCount je skutečný počet řádků bez zkrácení.
Poznámky
Události trasování je možné zachytit pomocí SQL Server Profileru a opensourcového nástroje DAX Debug Output .
Tuto funkci lze použít s téměř jakýmkoli dílčím výrazem ve výrazu DAX a celý výraz bude stále platný.
Když se první argument vyhodnotí vícekrát v jednom dotazu, funkce vygeneruje jednu událost protokolu vyhodnocení DAX, která obsahuje jak vstupní hodnoty, tak odpovídající výstupní hodnoty.
Pokud je zadaný parametr popisku, vrátí se jeho hodnota ve výstupu JSON i ve sloupci Popisek události protokolu vyhodnocení DAX.
Pokud je prvním argumentem výraz tabulky, zobrazí se v události protokolu vyhodnocení DAX pouze horní řádky MaxRows.
V některých případech se tato funkce nespustí kvůli optimalizaci.
Pokud je událost protokolu vyhodnocení DAX větší než jeden milion znaků, zkrátí se, aby se zachovala správná struktura JSON.
Příklad 1
Následující dotaz DAX:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Vrátí následující událost protokolu vyhodnocení jazyka 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]
]
}
]
}
Příklad 2
Následující dotaz DAX se skalárním argumentem a různými atributy:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Vrátí následující událost protokolu vyhodnocení jazyka 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"
}
]
}
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro