EVALUATEANDLOG
platí pro:počítaný sloupecPočítaná tabulkaMeasure vizuálu
Vrátí value argumentu firstand ho zaznamená do události profileru DAXLog Evaluation. Tato funkce je plně funkční pouze v Power BI Desktopu. Funguje jako jednoduchá předávací funkce v jiných prostředích.
Syntax
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametry
Semestr | Definice |
---|---|
Value |
Všechny skalární výrazy or výraz tabulky, které se mají vyhodnotit and protokolované. |
Label |
(Volitelné) Konstantní řetězec obsažený v textu JSON and sloupec Popisek DAX vyhodnocení Log události, která se dá použít k snadné identifikaci instance volání funkce. |
MaxRows |
(Volitelné) Maximální počet řádků v textu json DAX vyhodnocení Log události, pokud je argument first výrazem tabulky. Výchozí hodnota je 10. |
Vrácení value
value argumentu first.
Struktura JSON zaprotokolovaná v události DAX Evaluation Log profileru zahrnuje:
-
expression
je textová verze argumentu first. -
label
je parametr Popisek při zadání ve výrazu. -
inputs
je seznam sloupců v kontextu vyhodnocení, který ovlivňuje values argumentu first. -
outputs
je seznam jednoho sloupce [Value] v případech, kdy je argument first skalárním výrazem and seznam výstupních sloupců, pokud je argument first tabulkou. -
data
je seznam vstupních valuesand výstupních values, pokud je argument first skalárním výrazem, and seznam vstupních valuesand odpovídajících výstupních řádků, pokud je argumentem first tabulka. -
rowCount
je počet řádků, pokud je argument first výrazem tabulky. Even ačkoli počet řádků ve výstupu JSON je 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í nástroje SQL Server Profilerand opensourcového nástroje DAX ladění výstupu.
Tuto funkci lze použít s téměř jakýmkoli dílčím výrazem ve výrazu DAX, and celý výraz bude stále platný.
Pokud je argument first vyhodnocen vícekrát v jednom dotazu, funkce vygeneruje jednu událost vyhodnocení DAXLog, která contains vstupní valuesand odpovídající výstupní values.
Při zadání parametru popisku se jeho value vrátí ve výstupu JSON and sloupec Popisek události DAX Vyhodnocení Log.
If argument first je výraz tabulky, v události DAXLog Vyhodnocení se zobrazí pouze horní řádky MaxRows.
V některých případech je tato funkce not spuštěna kvůli optimalizaci.
If událost DAX Vyhodnocení Log je 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 DAX vyhodnocení Log:
{
"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í DAX dotaz s skalárním argumentem and různé atributy:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Vrátí následující událost DAX vyhodnocení Log:
{
"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"
}
]
}