EVALUATEANDLOG
gäller för:beräknad kolumnberäknad tabellMeasurevisuell beräkning
Returnerar value för argumentet firstand loggar det i en händelse DAX Evaluation Log profiler. Den här funktionen fungerar fullt ut endast i Power BI Desktop. Den fungerar som en enkel genomströmningsfunktion i andra miljöer.
Syntax
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametrar
Term | Definition |
---|---|
Value |
Alla skalärt uttryck or tabelluttryck som ska utvärderas and loggas. |
Label |
(Valfritt) En konstant sträng som ingår i både json-texten and kolumnen Etikett i händelsen DAX Evaluation Log som enkelt kan användas för att identifiera en instans av funktionsanropet. |
MaxRows |
(Valfritt) Det maximala antalet rader i json-texten i händelsen DAX Evaluation Log när argumentet first är ett tabelluttryck. Standardvärdet är 10. |
Returnera value
argumentet first s value.
JSON-strukturen som loggas i en DAX Evaluation Log profiler-händelse innehåller:
-
expression
är textversionen av argumentet first. -
label
är parametern Etikett när den anges i uttrycket. -
inputs
är en lista över kolumner i utvärderingskontexten som påverkar values för argumentet first. -
outputs
är en lista över en enda kolumn [Value] när argumentet first är ett skalärt uttryck and en lista över utdatakolumner när argumentet first är ett tabelluttryck. -
data
är en lista över indata valuesand utdata values när argumentet first är ett skalärt uttryck, and en lista över indata valuesand motsvarande utdatarader när argumentet first är ett tabelluttryck. -
rowCount
är antalet rader när argumentet first är ett tabelluttryck. Even även om antalet rader i json-utdata trunkeras av parametern MaxRows är rowCount det verkliga antalet rader utan trunkering.
Anmärkningar
Spårningshändelser kan samlas in med hjälp av SQL Server Profilerand verktyget DAX felsökning av utdata med öppen källkod.
Den här funktionen kan användas med nästan alla underuttryck i ett DAX uttryck, and hela uttrycket fortfarande är giltigt.
När argumentet first utvärderas flera gånger i en enda fråga genererar funktionen en enda DAX Utvärdering Log händelse som contains både indata valuesand motsvarande utdata values.
När etikettparametern har angetts returneras dess value i både json-utdata and kolumnen Etikett i händelsen DAX Evaluation Log.
If argumentet first är ett tabelluttryck visas endast de översta MaxRows-raderna i händelsen DAX Evaluation Log.
I vissa fall körs den här funktionen not på grund av optimeringar.
If händelsen DAX Evaluation Log är större än en miljon tecken trunkeras den för att bevara rätt json-struktur.
Exempel 1
Följande DAX fråga:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Returnerar följande DAX utvärderingshändelse 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]
]
}
]
}
Exempel 2
Följande DAX fråga med ett skalärt argument and varierande attribut:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Returnerar följande DAX utvärderingshändelse 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"
}
]
}