Læs på engelsk

Del via


EVALUATEANDLOG

gælder for:beregnet kolonneberegnet tabelMeasurevisualiseringsberegning

Returnerer value for first-argumentet, and 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

Udtryk Definition
Value Ethvert skalarudtryk or tabeludtryk, der skal evalueres and logført.
Label (Valgfrit) En konstantstreng, der er inkluderet i både json-teksten and kolonnen Label for hændelsen DAX Evaluation Log, der nemt kan bruges til at identificere en forekomst af funktionskaldet.
MaxRows (Valgfrit) Det maksimale antal rækker i json-teksten i hændelsen DAX Evaluation Log, når argumentet first er et tabeludtryk. Standard er 10.

Returner value

value af argumentet first.

Den JSON-struktur, der er logget på en DAX evalueringshændelse Log profiler, omfatter:

  • expression er tekstversionen af argumentet first.
  • label er parameteren Label, når den er angivet i udtrykket.
  • inputs er en liste over kolonner i evalueringskonteksten, der påvirker values af argumentet first.
  • outputs er en liste over en enkelt kolonne [Value], når first-argumentet er et skalarudtryk and en liste over outputkolonner, når argumentet first er et tabeludtryk.
  • data er en liste over input valuesand output values når first argument er et skalarudtryk, and en liste over input valuesand tilsvarende outputrækker, når first-argumentet er et tabeludtryk.
  • rowCount er antallet af rækker, når argumentet first er et tabeludtryk. Even selvom antallet af rækker i json-outputtet afkortes af parameteren MaxRows, er rowCount det reelle antal rækker uden afkortning.

Bemærkninger

  • Sporingshændelser kan registreres ved hjælp af SQL Server Profilerand værktøjet til fejlfinding af output DAX med åben kildekode.

  • Denne funktion kan bruges sammen med næsten alle underudtryk i et DAX udtryk, and vil hele udtrykket stadig være gyldigt.

  • Når argumentet first evalueres flere gange i en enkelt forespørgsel, genererer funktionen en enkelt DAX evaluation Log hændelse, der både contains input valuesand det tilsvarende output values.

  • Når etiketparameteren er angivet, returneres dens value i både json-outputtet and kolonnen Label for hændelsen DAX Evaluation Log.

  • If argumentet first er et tabeludtryk, er det kun de øverste MaxRows-rækker, der vises i hændelsen DAX Evaluering Log.

  • I nogle tilfælde udføres denne funktion not på grund af optimeringer.

  • If hændelsen Log evaluering af DAX 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 DAXLog hændelse for evaluering:

{
    "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 and forskellige attributter:

evaluate
SELECTCOLUMNS(
    TOPN(5, Customer),
    [Customer],
    "Customer",
    EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)

Returnerer følgende DAXLog hændelse for evaluering:

{
    "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"
        }
    ]
}

TOCSV
TOJSON