EVALUATEANDLOG
s’applique à :colonne calculéetable calculéeMeasurecalcul visuel
Retourne la value de l’argument firstand la journalise dans un événement DAX Evaluation Log profileur. Cette fonction est entièrement fonctionnelle dans Power BI Desktop uniquement. Il agit comme une fonction directe simple dans d’autres environnements.
Syntaxe
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Paramètres
Terme | Définition |
---|---|
Value |
Toute expression scalaire or expression de table à évaluer and journalisée. |
Label |
(Facultatif) Chaîne constante incluse dans le texte json and la colonne Label de l’événement DAX Evaluation Log qui peut être utilisée pour identifier facilement une instance de l’appel de fonction. |
MaxRows |
(Facultatif) Nombre maximal de lignes dans le texte json de l’événement Log Évaluation DAX lorsque l’argument first est une expression de table. La valeur par défaut est 10. |
Retourner value
value de l’argument first.
La structure JSON consignée dans un événement DAX Evaluation Log profileur comprend :
-
expression
est la version textuelle de l’argument first. -
label
est le paramètre Label lorsqu’il est spécifié dans l’expression. -
inputs
est une liste de colonnes dans le contexte d’évaluation qui affecte la values de l’argument first. -
outputs
est une liste d’une seule colonne [Value] lorsque l’argument first est une expression scalaire and une liste de colonnes de sortie lorsque l’argument first est une expression de table. -
data
est une liste de valuesand sortie d’entrée values lorsque l’argument first est une expression scalaire, and une liste de lignes de sortie valuesand d’entrée correspondantes lorsque l’argument first est une expression de table. -
rowCount
correspond au nombre de lignes lorsque l’argument first est une expression de table. Even bien que le nombre de lignes dans la sortie json soit tronqué par le paramètre MaxRows, rowCount est le nombre réel de lignes sans troncation.
Remarques
Les événements de trace peuvent être capturés à l’aide de SQL Server Profilerand l’outil DAX Debug Output open source.
Cette fonction peut être utilisée avec presque n’importe quelle sous-expression dans une expression DAX, and l’expression entière sera toujours valide.
Lorsque l’argument first est évalué plusieurs fois dans une requête unique, la fonction génère un événement DAX Evaluation Log unique qui contains à la fois l’entrée valuesand la sortie correspondante values.
Lorsque le paramètre d’étiquette est spécifié, son value est retourné dans la sortie json and la colonne Label de l’événement DAX Evaluation Log.
If l’argument first est une expression de table, seules les lignes MaxRows supérieures sont affichées dans l’événement DAX Evaluation Log.
Dans certains cas, cette fonction est not exécutée en raison d’optimisations.
If l’événement DAX Evaluation Log est supérieur à un million de caractères, il est tronqué pour conserver une structure json correcte.
Exemple 1
Requête DAX suivante :
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Retourne l’événement DAX Évaluation Log suivant :
{
"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]
]
}
]
}
Exemple 2
La requête DAX suivante avec un argument scalaire and attributs variables :
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Retourne l’événement DAX Évaluation Log suivant :
{
"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"
}
]
}