EVALUATEANDLOG
Gælder for: Beregning af målingsvisualisering for beregnet kolonne i beregnet tabel
Returnerer værdien af det første argument og logfører det i en DAX Evaluation Log profiler-hændelse. Denne funktion er kun fuldt funktionel i Power BI Desktop. Den fungerer som en simpel passthrough-funktion i andre miljøer.
Syntaks
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametre
Begreb | Definition |
---|---|
Værdi | Ethvert skalarudtryk eller tabeludtryk, der skal evalueres og logføres. |
Mærkat | (Valgfrit) En konstantstreng, der er inkluderet i både json-teksten og kolonnen Label for HÆNDELSEN DAX Evaluation Log, som kan bruges til nemt at identificere en forekomst af funktionskaldet. |
Maks. rækker | (Valgfrit) Det maksimale antal rækker i json-teksten i HÆNDELSEN DAX Evaluation Log, når det første argument er et tabeludtryk. Standard er 10. |
Returværdi
Værdien af det første argument.
Den JSON-struktur, der er logget på en DAX Evaluation Log profiler-hændelse, omfatter:
- "expression" er tekstversionen af det første argument.
- "label" er parameteren Label, når den er angivet i udtrykket.
- "input" er en liste over kolonner i evalueringskonteksten, der påvirker værdierne i det første argument.
- "output" er en liste over en enkelt kolonne [Value], når det første argument er et skalarudtryk og en liste over outputkolonner, når det første argument er et tabeludtryk.
- "data" er en liste over inputværdier og outputværdier, når det første argument er et skalarudtryk, og en liste over inputværdier og tilsvarende outputrækker, når det første argument er et tabeludtryk.
- "rowCount" er antallet af rækker, når det første argument er et tabeludtryk. Selvom antallet af rækker i json-outputtet afkortes af parameteren MaxRows, er rowCount det reelle antal rækker uden afkortelse.
Bemærkninger
Sporingshændelser kan registreres ved hjælp af SQL Server Profiler og DAX-fejlfindingsværktøjet til fejlfinding af output i åben kildekode.
Denne funktion kan bruges sammen med næsten ethvert underudtryk i et DAX-udtryk, og hele udtrykket vil stadig være gyldigt.
Når det første argument evalueres flere gange i en enkelt forespørgsel, genererer funktionen en enkelt DAX Evaluation Log-hændelse, der både indeholder inputværdierne og de tilsvarende outputværdier.
Når etiketparameteren er angivet, returneres dens værdi i både json-outputtet og kolonnen Label for HÆNDELSEN DAX Evaluation Log.
Hvis det første argument er et tabeludtryk, er det kun de øverste MaxRows-rækker, der vises i HÆNDELSEN DAX Evaluation Log.
I nogle tilfælde udføres denne funktion ikke på grund af optimeringer.
Hvis HÆNDELSEN DAX-evalueringslog er større end én million tegn, afkortes den for at bevare den korrekte json-struktur.
Eksempel 1
Følgende DAX-forespørgsel:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Returnerer følgende HÆNDELSE i DAX-evalueringslog:
{
"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]
]
}
]
}
Eksempel 2
Følgende DAX-forespørgsel med et skalarargument og forskellige attributter:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Returnerer følgende HÆNDELSE i DAX-evalueringslog:
{
"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"
}
]
}