EVALUATEANDLOG
Si applica a: Calcolo visivo misura
tabella calcolata colonna
calcolata
Restituisce il valore del primo argomento e lo registra in un evento del profiler di valutazione DAX. Questa funzione è completamente funzionale solo in Power BI Desktop. Funge da semplice funzione pass-through in altri ambienti.
Sintassi
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametri
Termine | Definizione |
---|---|
Valore | Qualsiasi espressione scalare o espressione di tabella da valutare e registrare. |
Etichetta | (Facoltativo) Stringa costante inclusa sia nel testo json che nella colonna Etichetta dell'evento DAX Evaluation Log che può essere usata per identificare facilmente un'istanza della chiamata di funzione. |
MaxRows | (Facoltativo) Numero massimo di righe nel testo json dell'evento DAX Evaluation Log quando il primo argomento è un'espressione di tabella. Default is 10. |
Valore restituito
Valore del primo argomento.
La struttura JSON registrata in un evento del profiler di valutazione DAX include:
- "expression" è la versione di testo del primo argomento.
- "label" è il parametro Label quando specificato nell'espressione.
- "input" è un elenco di colonne nel contesto di valutazione che influisce sui valori del primo argomento.
- "outputs" è un elenco di una singola colonna [Value] quando il primo argomento è un'espressione scalare e un elenco di colonne di output quando il primo argomento è un'espressione di tabella.
- "data" è un elenco di valori di input e valori di output quando il primo argomento è un'espressione scalare e un elenco di valori di input e le righe di output corrispondenti quando il primo argomento è un'espressione di tabella.
- "rowCount" è il numero di righe quando il primo argomento è un'espressione di tabella. Anche se il numero di righe nell'output json viene troncato dal parametro MaxRows, rowCount è il numero reale di righe senza troncamento.
Osservazioni:
Gli eventi di traccia possono essere acquisiti usando SQL Server Profiler e lo strumento di output di debug DAX open source.
Questa funzione può essere usata con quasi qualsiasi sottoespressione in un'espressione DAX e l'intera espressione sarà comunque valida.
Quando il primo argomento viene valutato più volte in una singola query, la funzione genera un singolo evento DAX Evaluation Log che contiene sia i valori di input che i valori di output corrispondenti.
Quando si specifica il parametro label, il relativo valore viene restituito sia nell'output json che nella colonna Label dell'evento DAX Evaluation Log.
Se il primo argomento è un'espressione di tabella, nell'evento DAX Evaluation Log vengono visualizzate solo le prime righe MaxRows.
In alcuni casi, questa funzione non viene eseguita a causa di ottimizzazioni.
Se l'evento DAX Evaluation Log è maggiore di un milione di caratteri, viene troncato per mantenere la struttura JSON corretta.
Esempio 1
La query DAX seguente:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Restituisce l'evento DAX Evaluation Log seguente:
{
"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]
]
}
]
}
Esempio 2
La query DAX seguente con un argomento scalare e attributi variabili:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Restituisce l'evento DAX Evaluation Log seguente:
{
"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"
}
]
}
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per