EVALUATEANDLOG
Berlaku untuk: kolom terhitungTabel terhitung
Ukur
Perhitungan visual
Mengembalikan nilai argumen pertama dan mencatatnya dalam peristiwa profiler Log Evaluasi DAX. Fungsi ini berfungsi penuh di Power BI Desktop saja. Ini bertindak sebagai fungsi passthrough sederhana di lingkungan lain.
Sintaksis
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Parameter
Istilah | Definisi |
---|---|
Value |
Ekspresi skalar atau ekspresi tabel apa pun yang akan dievaluasi dan dicatat. |
Label |
(Opsional) String konstanta yang disertakan dalam teks json dan kolom Label peristiwa Log Evaluasi DAX yang dapat digunakan untuk mengidentifikasi instans panggilan fungsi dengan mudah. |
MaxRows |
(Opsional) Jumlah maksimum baris dalam teks json dari peristiwa Log Evaluasi DAX saat argumen pertama adalah ekspresi tabel. Defaultnya adalah 10. |
Mengembalikan nilai
Nilai argumen pertama.
Struktur JSON yang dicatat dalam peristiwa profiler Log Evaluasi DAX meliputi:
-
expression
adalah versi teks dari argumen pertama. -
label
adalah parameter Label saat ditentukan dalam ekspresi. -
inputs
adalah daftar kolom dalam konteks evaluasi yang memengaruhi nilai argumen pertama. -
outputs
adalah daftar kolom tunggal [Nilai] saat argumen pertama adalah ekspresi skalar dan daftar kolom output saat argumen pertama adalah ekspresi tabel. -
data
adalah daftar nilai input dan nilai output saat argumen pertama adalah ekspresi skalar, dan daftar nilai input dan baris output yang sesuai saat argumen pertama adalah ekspresi tabel. -
rowCount
adalah jumlah baris saat argumen pertama adalah ekspresi tabel. Meskipun jumlah baris dalam output json dipotong oleh parameter MaxRows, rowCount adalah jumlah baris nyata tanpa pemotongan.
Komentar
Peristiwa pelacakan dapat diambil dengan menggunakan
SQL Server Profiler dan alat Output Debug sumber terbuka. Fungsi ini dapat digunakan dengan hampir semua sub-ekspresi dalam ekspresi DAX, dan seluruh ekspresi masih akan valid.
Ketika argumen pertama dievaluasi beberapa kali dalam satu kueri, fungsi menghasilkan satu peristiwa Log Evaluasi DAX yang berisi nilai input dan nilai output yang sesuai.
Saat parameter label ditentukan, nilainya dikembalikan dalam output json dan kolom Label dari peristiwa Log Evaluasi DAX.
Jika argumen pertama adalah ekspresi tabel, hanya baris MaxRows teratas yang ditampilkan dalam peristiwa Log Evaluasi DAX.
Dalam beberapa kasus, fungsi ini tidak dijalankan karena pengoptimalan.
Jika peristiwa Log Evaluasi DAX lebih besar dari satu juta karakter, peristiwa tersebut dipotong untuk mempertahankan struktur json yang benar.
Contoh 1
Kueri DAX berikut ini:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Mengembalikan peristiwa Log Evaluasi DAX berikut:
{
"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]
]
}
]
}
Contoh 2
Kueri DAX berikut dengan argumen skalar dan berbagai atribut:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Mengembalikan peristiwa Log Evaluasi DAX berikut:
{
"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"
}
]
}