EVALUATEANDLOG
Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus
Palauttaa ensimmäisen argumentin arvon ja kirjaa sen DAX Evaluation Log profiler -tapahtumaan. Tämä funktio toimii täysin vain Power BI Desktopissa. Se toimii yksinkertaisena läpivientifunktiona muissa ympäristöissä.
Syntaksi
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametrit
Termi | Määritelmä |
---|---|
Arvo | Mikä tahansa arvioitava ja kirjattava skalaarilauseke tai taulukkolauseke. |
Otsikko | (Valinnainen) Vakiomerkkijono, joka sisältyy sekä json-tekstiin että DAX Evaluation Log -tapahtuman Label-sarakkeeseen ja jonka avulla funktiokutsun esiintymä voidaan helposti tunnistaa. |
MaxRows | (Valinnainen) DAX Evaluation Log -tapahtuman json-tekstin rivien enimmäismäärä, kun ensimmäinen argumentti on taulukkolauseke. Oletusarvo on 10. |
Palautusarvo
Ensimmäisen argumentin arvo.
DAX-arviointilokin profilointitapahtumaan kirjautuneenA JSON-rakenteen sisältö:
- "lauseke" on ensimmäisen argumentin tekstiversio.
- "label" on Otsikko-parametri, kun se on määritetty lausekkeessa.
- "inputs" on arviointikontekstin sarakkeiden luettelo, joka vaikuttaa ensimmäisen argumentin arvoihin.
- "outputs" on luettelo yksittäisestä sarakkeesta [Value], kun ensimmäinen argumentti on skalaarilauseke ja tulostesarakkeiden luettelo, kun ensimmäinen argumentti on taulukkolauseke.
- "data" on luettelo syötearvoista ja tulostearvoista, kun ensimmäinen argumentti on skalaarilauseke, sekä luettelo syötearvoista ja vastaavista tulosteriveistä, kun ensimmäinen argumentti on taulukkolauseke.
- "rowCount" on rivien määrä, kun ensimmäinen argumentti on taulukkolauseke. Vaikka json-tulosteen rivien määrä katkaistaan MaxRows-parametrilla, rowCount on rivien reaalimäärä ilman katkaisua.
Huomautukset
Trace-tapahtumia voi siepata SQL Server profilerin ja avoimen lähdekoodin DAX Debug Output -työkalun avulla.
Tätä funktiota voi käyttää lähes minkä tahansa DAX-lausekkeen alilausekkeen kanssa, ja koko lauseke on yhä kelvollinen.
Kun ensimmäinen argumentti arvioidaan useita kertoja yksittäisessä kyselyssä, funktio luo yksittäisen DAX-arviointilokitapahtuman, joka sisältää sekä syötearvot että vastaavat tulostearvot.
Kun otsikkoparametri määritetään, sen arvo palautetaan sekä DAX-arviointilokitapahtuman json-tulosteessa että Label-sarakkeessa.
Jos ensimmäinen argumentti on taulukkolauseke, vain MaxRows-ylimmät rivit näytetään DAX-arviointilokitapahtumassa.
Joissain tapauksissa tätä funktiota ei suoriiteta optimoinnit vuoksi.
Jos DAX-arviointilokitapahtuma on suurempi kuin miljoona merkkiä, se katkaistaan oikean json-rakenteen säilyttämiseksi.
Esimerkki 1
Seuraava DAX-kysely:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Palauttaa seuraavan DAX Evaluation Log -tapahtuman:
{
"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]
]
}
]
}
Esimerkki 2
Seuraava DAX-kysely, jossa on skalaariargumentti ja vaihtelevia määritteitä:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Palauttaa seuraavan DAX Evaluation Log -tapahtuman:
{
"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"
}
]
}