EVALUATEANDLOG
Vzťahuje sa na:vypočítaný stĺpec
vypočítanej tabuľky
vizuálového výpočtu
Vráti hodnotu prvého argumentu a zapíše ho do DAX udalosti profilovača denníka vyhodnocovania. Táto funkcia je plne funkčná len v aplikácii Power BI Desktop. V iných prostrediach funguje ako jednoduchá funkcia odovzdávania.
Syntax
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametre
Termín | Definícia |
---|---|
Value |
Akýkoľvek skalárny výraz alebo výraz tabuľky, ktorý sa má vyhodnotiť a zaznamenať. |
Label |
(Voliteľné) Konštantný reťazec zahrnutý v texte json aj v stĺpci Označenie DAX udalosti denníka vyhodnocovania, ktorý možno použiť na jednoduchú identifikáciu inštancie volania funkcie. |
MaxRows |
(Voliteľné) Maximálny počet riadkov v texte json DAX udalosti Denníka vyhodnocovania, keď prvý argument je výrazom tabuľky. Predvolená hodnota je 10. |
Vrátená hodnota
Hodnota prvého argumentu.
Štruktúra JSON sa prihlásila do udalosti profilovača DAX vyhodnocovania zahŕňa:
-
expression
je textová verzia prvého argumentu. -
label
je parameter Označenie, keď je zadaný vo výraze. -
inputs
je zoznam stĺpcov v kontexte hodnotenia, ktorý ovplyvňuje hodnoty prvého argumentu. -
outputs
je zoznam jedného stĺpca [Value], keď je prvým argumentom skalárny výraz a zoznam výstupných stĺpcov, keď je prvým argumentom výraz tabuľky. -
data
je zoznam vstupných hodnôt a výstupných hodnôt, keď je prvý argument skalárnym výrazom, zoznam vstupných hodnôt a zodpovedajúcich výstupných riadkov, keď je prvý argument výrazom tabuľky. -
rowCount
je počet riadkov, keď prvým argumentom je výraz tabuľky. Aj keď je počet riadkov vo výstupe json skrátený parametrom MaxRows, rowCount je skutočný počet riadkov bez skrátenia.
Poznámky
Udalosti sledovania možno zaznamenať pomocou SQL Server Profiler a nástroja DAX Debug Output open-source.
Túto funkciu možno použiť s takmer akýmkoľvek vedľajším výrazom vo výraze DAX a celý výraz bude stále platný.
Keď sa prvý argument vyhodnotí viackrát v jednom dotaze, funkcia vygeneruje jeden DAX udalosti Denníka vyhodnocovania, ktorá obsahuje vstupné hodnoty aj zodpovedajúce výstupné hodnoty.
Po zadaní parametra označenia sa jeho hodnota vráti vo výstupe json aj v stĺpci Označenie DAX udalosti denníka vyhodnocovania.
Ak je prvým argumentom výraz tabuľky, v prípade DAX udalosti denníka vyhodnocovania sa zobrazia iba horné riadky tabuľky MaxRows.
V niektorých prípadoch sa táto funkcia nevykoná z dôvodu optimalizácie.
Ak je udalosť denníka vyhodnocovania DAX väčšia ako milión znakov, skráti sa, aby sa zachovala správna štruktúra json.
Príklad č. 1
Nasledujúci DAX dotaz:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Vráti nasledujúcu DAX udalosti denníka vyhodnocovania:
{
"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]
]
}
]
}
Príklad č. 2
Nasledujúci DAX dotaz so skalárnym argumentom a rôznymi atribútmi:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Vráti nasledujúcu DAX udalosti denníka vyhodnocovania:
{
"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"
}
]
}