EVALUATEANDLOG
Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne
Zwraca value argumentu first, and rejestruje go w zdarzeniu profilera oceny DAXLog. Ta funkcja jest w pełni funkcjonalna tylko w programie Power BI Desktop. Działa jako prosta funkcja przekazywania w innych środowiskach.
Składnia
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parametry
Termin | Definicja |
---|---|
Value |
Każde wyrażenie skalarne or wyrażenie tabeli do obliczenia and zarejestrowane. |
Label |
(Opcjonalnie) Ciąg stały zawarty w tekście json and kolumnę Label zdarzenia DAX Evaluation Log, które może służyć do łatwego identyfikowania wystąpienia wywołania funkcji. |
MaxRows |
(Opcjonalnie) Maksymalna liczba wierszy w tekście json zdarzenia DAX Evaluation Log, gdy argument first jest wyrażeniem tabeli. Wartość domyślna to 10. |
Zwracanie value
value argumentu first.
Struktura JSON zarejestrowana w zdarzeniu profilera oceny DAXLog obejmuje:
-
expression
to wersja tekstowa argumentu first. -
label
jest parametrem Label po określeniu w wyrażeniu. -
inputs
to lista kolumn w kontekście oceny, która ma wpływ na values argumentu first. -
outputs
jest listą jednej kolumny [Value], gdy argument first jest wyrażeniem skalarnym and listy kolumn wyjściowych, gdy argument first jest wyrażeniem tabeli. -
data
jest listą danych wyjściowych valuesand wejściowych values, gdy argument first jest wyrażeniem skalarnym, and listę wierszy wejściowych valuesand odpowiadających im wierszy wyjściowych, gdy argument first jest wyrażeniem tabeli. -
rowCount
to liczba wierszy, gdy argument first jest wyrażeniem tabeli. Even choć liczba wierszy w danych wyjściowych json jest obcięta przez parametr MaxRows, rowCount jest rzeczywistą liczbą wierszy bez obcinania.
Uwagi
Zdarzenia śledzenia można przechwycić przy użyciu narzędzia SQL Server ProfilerandDAX debugowania danych wyjściowych typu open source.
Ta funkcja może być używana z niemal dowolnym wyrażeniem podrzędnym w wyrażeniu DAX, and całe wyrażenie będzie nadal prawidłowe.
Gdy argument first jest obliczany wiele razy w jednym zapytaniu, funkcja generuje pojedyncze zdarzenie Log oceny DAX, które contains zarówno dane wejściowe valuesand odpowiednie dane wyjściowe values.
Po określeniu parametru etykiety jego value jest zwracany zarówno w danych wyjściowych json, and kolumnie Label zdarzenia DAX Evaluation Log.
If argumentem first jest wyrażeniem tabeli, tylko pierwsze wiersze MaxRows są wyświetlane w zdarzeniu DAX Evaluation Log.
W niektórych przypadkach ta funkcja jest not wykonywana z powodu optymalizacji.
If zdarzenie Log oceny DAX jest większe niż milion znaków, jest obcinane, aby zachować poprawną strukturę json.
Przykład 1
Następujące zapytanie DAX:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Zwraca następujące zdarzenie Log oceny DAX:
{
"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]
]
}
]
}
Przykład 2
Następujące zapytanie DAX z argumentem skalarnym and różnych atrybutów:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Zwraca następujące zdarzenie Log oceny DAX:
{
"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"
}
]
}