Delen via


EVALUATEANDLOG

Van toepassing op:berekende kolomberekende tabelMetingVisuele berekening

Retourneert de waarde van het eerste argument en registreert deze in een gebeurtenis DAX Evaluation Log Profiler. Deze functie is alleen volledig functioneel in Power BI Desktop. Het fungeert als een eenvoudige passthrough-functie in andere omgevingen.

Syntaxis

EVALUATEANDLOG(<Value>, [Label], [MaxRows])

Parameters

Term Definitie
Value Een scalaire expressie of tabelexpressie die moet worden geëvalueerd en geregistreerd.
Label (Optioneel) Een constante tekenreeks die is opgenomen in zowel de json-tekst als de kolom Label van de gebeurtenis DAX Evaluatielogboek die kan worden gebruikt om eenvoudig een exemplaar van de functieaanroep te identificeren.
MaxRows (Optioneel) Het maximum aantal rijen in de json-tekst van de gebeurtenis DAX Evaluatielogboek wanneer het eerste argument een tabelexpressie is. De standaardwaarde is 10.

Retourwaarde

De waarde van het eerste argument.

De JSON-structuur die is vastgelegd in een DAX Evaluation Log Profiler-gebeurtenis omvat:

  • expression is de tekstversie van het eerste argument.
  • label is de labelparameter wanneer deze is opgegeven in de expressie.
  • inputs is een lijst met kolommen in de evaluatiecontext die van invloed is op de waarden van het eerste argument.
  • outputs is een lijst met één kolom [Waarde] wanneer het eerste argument een scalaire expressie is en een lijst met uitvoerkolommen wanneer het eerste argument een tabelexpressie is.
  • data is een lijst met invoerwaarden en uitvoerwaarden wanneer het eerste argument een scalaire expressie is, en een lijst met invoerwaarden en bijbehorende uitvoerrijen wanneer het eerste argument een tabelexpressie is.
  • rowCount is het aantal rijen wanneer het eerste argument een tabelexpressie is. Hoewel het aantal rijen in de json-uitvoer wordt afgekapt door de parameter MaxRows, is rowCount het werkelijke aantal rijen zonder afkapping.

Opmerkingen

  • Traceringsgebeurtenissen kunnen worden vastgelegd met behulp van SQL Server Profiler- en het opensource-DAX hulpprogramma Foutopsporingsuitvoer.

  • Deze functie kan worden gebruikt met bijna elke subexpressie in een DAX expressie en de hele expressie is nog steeds geldig.

  • Wanneer het eerste argument meerdere keren in één query wordt geëvalueerd, genereert de functie één DAX evaluatielogboekgebeurtenis die zowel de invoerwaarden als de bijbehorende uitvoerwaarden bevat.

  • Wanneer de labelparameter is opgegeven, wordt de waarde ervan geretourneerd in zowel de json-uitvoer als de kolom Label van de gebeurtenis DAX Evaluatielogboek.

  • Als het eerste argument een tabelexpressie is, worden alleen de bovenste MaxRows-rijen weergegeven in de gebeurtenis DAX Evaluatielogboek.

  • In sommige gevallen wordt deze functie niet uitgevoerd vanwege optimalisaties.

  • Als de gebeurtenis DAX Evaluatielogboek groter is dan één miljoen tekens, wordt deze afgekapt om de juiste JSON-structuur te behouden.

Voorbeeld 1

De volgende DAX query:

evaluate
SUMMARIZE(
    EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
    Sales[SalesTerritoryKey],
    "sum",
    sum(Sales[Sales Amount])
)

Retourneert de volgende gebeurtenis DAX Evaluatielogboek:

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

Voorbeeld 2

De volgende DAX query met een scalair argument en verschillende kenmerken:

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

Retourneert de volgende gebeurtenis DAX Evaluatielogboek:

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