EVALUATEANDLOG

A következőre vonatkozik: Számított oszlopSzámított táblamértékvizualizációszámítása

Az első argumentum értékét adja vissza, és naplózza egy DAX-kiértékelési napló profilereseményében. Ez a függvény csak a Power BI Desktopban működik teljes mértékben. Más környezetekben egyszerű átengedési függvényként működik.

Syntax

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

Paraméterek

Időszak Definíció
Érték Minden kiértékelendő és naplózandó skaláris kifejezés vagy táblakifejezés.
Címke (Nem kötelező) Egy állandó sztring, amely a DAX-kiértékelési napló esemény json szövegében és Címke oszlopában is szerepel, amely a függvényhívás egy példányának egyszerű azonosítására használható.
MaxRows (Nem kötelező) A DAX-kiértékelési napló esemény json-szövegében lévő sorok maximális száma, ha az első argumentum egy táblakifejezés. Az alapértelmezett érték 10.

Visszaadott érték

Az első argumentum értéke.

A DAX-kiértékelési napló profilereseményében naplózott JSON-struktúra a következőket tartalmazza:

  • A "kifejezés" az első argumentum szöveges verziója.
  • A "label" a kifejezésben megadott Címke paraméter.
  • A "bemenetek" a kiértékelési környezet oszlopainak listája, amely hatással van az első argumentum értékeire.
  • A "kimenetek" egyetlen oszlop [Érték] listája, ha az első argumentum egy skaláris kifejezés, és a kimeneti oszlopok listája, amikor az első argumentum egy táblakifejezés.
  • Az "adat" a bemeneti értékek és a kimeneti értékek listája, ha az első argumentum skaláris kifejezés, és a bemeneti értékek és a kapcsolódó kimeneti sorok listája, amikor az első argumentum egy táblakifejezés.
  • A "rowCount" a sorok száma, amikor az első argumentum egy táblakifejezés. Annak ellenére, hogy a json-kimenet sorainak számát a MaxRows paraméter csonkolja, a rowCount a csonkolás nélküli sorok valós száma.

Megjegyzések

  • A nyomkövetési események az SQL Server Profilerrel és a nyílt forráskódú DAX Hibakeresési kimeneti eszközzel rögzíthetők.

  • Ez a függvény egy DAX-kifejezés szinte minden alkifejezésével használható, és a teljes kifejezés továbbra is érvényes marad.

  • Ha az első argumentumot többször is kiértékeli egy lekérdezés, a függvény egyetlen DAX-kiértékelési naplóeseményt hoz létre, amely a bemeneti értékeket és a megfelelő kimeneti értékeket is tartalmazza.

  • Ha a címkeparaméter meg van adva, annak értéke a JSON-kimenetben és a DAX-kiértékelési napló esemény Címke oszlopában is megjelenik.

  • Ha az első argumentum egy táblakifejezés, csak a legfelső MaxRows-sorok jelennek meg a DAX-kiértékelési napló eseményében.

  • Bizonyos esetekben ez a függvény nem hajtható végre az optimalizálások miatt.

  • Ha a DAX-kiértékelési napló eseménye egymillió karakternél nagyobb, akkor a rendszer csonkolja a megfelelő JSON-struktúra megőrzéséhez.

1. példa

A következő DAX-lekérdezés:

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

A következő DAX-kiértékelési naplóeseményt adja vissza:

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

2. példa

A következő DAX-lekérdezés skaláris argumentummal és változó attribútumokkal:

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

A következő DAX-kiértékelési naplóeseményt adja vissza:

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