Bagikan melalui


EVALUATEANDLOG

Berlaku untuk: Kolom terhitung Tabel 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.

Sintaks

EVALUATEANDLOG(<Value>, [Label], [MaxRows])

Parameter

Term Definisi
Nilai 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. Default-nya adalah 10.

Nilai hasil

Nilai argumen pertama.

Struktur JSON yang dicatat dalam peristiwa profiler Log Evaluasi DAX meliputi:

  • "ekspresi" adalah versi teks dari argumen pertama.
  • "label" adalah parameter Label ketika ditentukan dalam ekspresi.
  • "input" adalah daftar kolom dalam konteks evaluasi yang memengaruhi nilai argumen pertama.
  • "output" adalah daftar kolom tunggal [Nilai] ketika argumen pertama adalah ekspresi skalar dan daftar kolom output saat argumen pertama adalah ekspresi tabel.
  • "data" adalah daftar nilai input dan nilai output ketika 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.

Keterangan

  • Peristiwa pelacakan dapat diambil dengan menggunakan SQL Server Profiler dan alat Output Debug DAX sumber terbuka.

  • Fungsi ini dapat digunakan dengan hampir semua sub-ekspresi dalam ekspresi DAX, dan seluruh ekspresi masih akan valid.

  • Saat 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:

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 atribut yang bervariasi:

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