Bagikan melalui


EVALUATEANDLOG

Berlaku untuk: kolom terhitungTabel terhitungUkurPerhitungan 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"
        }
    ]
}

TOCSV TOJSON