Ler em inglês

Compartilhar via


EVALUATEANDLOG

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Retorna o value do argumento firstand registra-o em um evento DAX Evaluation Log profiler. Essa função é totalmente funcional apenas no bi desktop Power. Ele atua como uma função de passagem simples em outros ambientes.

Sintaxe

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

Parâmetros

Prazo 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 a coluna Rótulo do evento Log avaliação de DAX 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.

Retornar value

O value do argumento first.

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

  • expression é a versão de 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 o 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 saída de valuesand de entrada quando o argumento first é uma expressão escalar, and uma lista de linhas de saída correspondentes valuesand de entrada 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 embora o número de linhas na saída json seja truncado pelo parâmetro MaxRows, rowCount é o número real de linhas sem truncamento.

Observações

  • Os eventos de rastreamento podem ser capturados usando SQL Server Profiler a ferramenta de de saída de depuração de de software livre.

  • Essa 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 DAX Evaluation Log que contains a entrada valuesand a saída correspondente values.

  • Quando o parâmetro de rótulo é especificado, seu value é retornado na saída json and coluna Label do evento Log de Avaliação de DAX.

  • If o argumento first é uma expressão de tabela, somente as principais linhas MaxRows são mostradas no evento DAX Evaluation Log.

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

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

Exemplo 1

A seguinte consulta DAX:

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

Retorna o seguinte evento DAX Evaluation Log:

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

O seguinte DAX consulta com um argumento escalar and atributos variados:

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

Retorna o seguinte evento DAX Evaluation Log:

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