Delen via


EVALUATEANDLOG

Van toepassing op: Berekende kolom Berekende tabel Meting Visuele berekening

Retourneert de waarde van het eerste argument en registreert deze in een DAX Evaluation Log Profiler-gebeurtenis. 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
Weergegeven als 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 labelkolom van de DAX-evaluatielogboekgebeurtenis 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:

  • 'expressie' is de tekstversie van het eerste argument.
  • 'label' is de labelparameter wanneer deze is opgegeven in de expressie.
  • 'invoer' 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 voor foutopsporingsuitvoer .

  • Deze functie kan worden gebruikt met bijna elke subexpressie in een DAX-expressie en de volledige 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 geretourneerd in zowel de json-uitvoer als de kolom Label van de DAX-evaluatielogboekgebeurtenis.

  • 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 dax-evaluatielogboekgebeurtenis 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 DAX-evaluatielogboek gebeurtenis:

{
    "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 DAX-evaluatielogboek gebeurtenis:

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