Compartir a través de


EVALUATEANDLOG

Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual

Devuelve el value del argumento firstand lo registra en DAX un evento Log Evaluation Log evaluation. Esta función solo es totalmente funcional en Power BI Desktop. Actúa como una función de paso a través simple en otros entornos.

Sintaxis

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

Parámetros

Término Definición
Value Cualquier expresión escalar or expresión de tabla que se va a evaluar and registrar.
Label (Opcional) Una cadena constante incluida en el texto json and la columna Etiqueta del evento DAX Evaluation Log que se puede usar para identificar fácilmente una instancia de la llamada de función.
MaxRows (Opcional) Número máximo de filas en el texto json del evento Log Evaluation de DAX cuando el argumento first es una expresión de tabla. El valor predeterminado es 10.

Devolver value

El value del argumento first.

La estructura JSON registrada en un evento de DAX Evaluation Log profiler incluye:

  • expression es la versión de texto del argumento first.
  • label es el parámetro Label cuando se especifica en la expresión.
  • inputs es una lista de columnas en el contexto de evaluación que afecta a la values del argumento first.
  • outputs es una lista de una sola columna [Value] cuando el argumento first es una expresión escalar and una lista de columnas de salida cuando el argumento first es una expresión de tabla.
  • data es una lista de valuesand de salida de entrada values cuando el argumento first es una expresión escalar, and una lista de entradas valuesand filas de salida correspondientes cuando el argumento first es una expresión de tabla.
  • rowCount es el número de filas cuando el argumento first es una expresión de tabla. Even aunque el número de filas de la salida json se trunca mediante el parámetro MaxRows, rowCount es el número real de filas sin truncamiento.

Observaciones

  • Los eventos de seguimiento se pueden capturar mediante SQL Server Profiler la herramienta Debug Output de código abierto.

  • Esta función se puede usar con casi cualquier subexpresión en una expresión DAX, and toda la expresión seguirá siendo válida.

  • Cuando el argumento first se evalúa varias veces en una sola consulta, la función genera un único evento DAX Evaluation Log que contains la entrada valuesand la salida correspondiente values.

  • Cuando se especifica el parámetro label, se devuelve su value en la salida json and la columna Label del evento DAX Evaluation Log.

  • If el argumento first es una expresión de tabla, solo se muestran las filas de MaxRows superiores en el evento DAXLog Evaluation Log.

  • En algunos casos, esta función se ejecuta not debido a las optimizaciones.

  • If el evento DAX Evaluation Log es mayor que un millón de caracteres, se trunca para conservar la estructura json correcta.

Ejemplo 1

La siguiente consulta DAX:

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

Devuelve el siguiente evento DAX Evaluation Log:

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

Ejemplo 2

La siguiente consulta DAX con un argumento escalar and atributos variables:

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

Devuelve el siguiente evento DAX Evaluation Log:

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