Partilhar via


EVALUATEANDLOG

Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual

Retorna o value do argumento firstand o registra em um evento DAX Evaluation Log profiler. Esta função é totalmente funcional apenas no Power BI Desktop. Atua como uma simples função de passagem em outros ambientes.

Sintaxe

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

Parâmetros

Vigência Definição
Value Qualquer expressão escalar or expressão de tabela a ser avaliada and registrada.
Label (Opcional) Uma cadeia de caracteres constante incluída no texto json and na coluna Label do evento DAX Evaluation Log que pode ser usada para identificar facilmente uma instância da chamada de função.
MaxRows (Opcional) O número máximo de linhas no texto json do evento DAX Evaluation Log quando o argumento first é uma expressão de tabela. O padrão é 10.

Regresso value

A value do first argumento.

A estrutura JSON registrada em um evento DAX Evaluation Log profiler inclui:

  • expression é a versão em texto do argumento first.
  • label é o parâmetro Label quando especificado na expressão.
  • inputs é uma lista de colunas no contexto de avaliação que afeta a values do argumento first.
  • outputs é uma lista de uma única coluna [Value] quando o argumento first é uma expressão escalar and uma lista de colunas de saída quando o argumento first é uma expressão de tabela.
  • data é uma lista de values de entrada valuesand saída quando o argumento first é uma expressão escalar and uma lista de entradas valuesand linhas de saída correspondentes quando o argumento first é uma expressão de tabela.
  • rowCount é o número de linhas quando o argumento first é uma expressão de tabela. Even que o número de linhas na saída json seja truncado pelo parâmetro MaxRows, rowCount é o número real de linhas sem truncamento.

Comentários

  • Os eventos de rastreamento podem ser capturados usando SQL Server Profiler a ferramenta de de saída de depuração de código aberto.

  • Esta função pode ser usada com quase qualquer subexpressão em uma expressão DAX, and a expressão inteira ainda será válida.

  • Quando o argumento first é avaliado várias vezes em uma única consulta, a função gera um único evento de Log de Avaliação DAX que contains tanto a entrada valuesand a saída correspondente values.

  • Quando o parâmetro label é especificado, seu value é retornado na saída json and na coluna Label do evento DAX Evaluation Log.

  • If o argumento first for uma expressão de tabela, somente as linhas MaxRows superiores serão mostradas no evento DAX Evaluation Log.

  • Em alguns casos, esta função not é executada devido a otimizações.

  • If o evento Log de Avaliação DAX for maior que um milhão de caracteres, ele será truncado para preservar a estrutura json correta.

Exemplo 1

O seguinte DAX consulta:

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

Devolve o seguinte 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]
            ]
        }
    ]
}

Exemplo 2

A seguinte consulta DAX com um argumento escalar and atributos variáveis:

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

Devolve o seguinte 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