แชร์ผ่าน


EVALUATEANDLOG

นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ

แสดงค่าของอาร์กิวเมนต์แรกและบันทึกในเหตุการณ์ตัวสร้างโพรไฟล์ของแฟ้มบันทึกการประเมิน DAX ฟังก์ชันนี้ใช้งานได้อย่างสมบูรณ์ใน Power BI Desktop เท่านั้น ซึ่งทําหน้าที่เป็นฟังก์ชันพาส-ทรูอย่างง่ายในสภาพแวดล้อมอื่น ๆ

ไวยากรณ์

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

พารามิเตอร์

เงื่อนไข คำนิยาม
ค่า นิพจน์สเกลาหรือนิพจน์ตารางใด ๆ ที่จะประเมินและบันทึก
ป้ายชื่อ (ไม่บังคับ) สตริงคงที่ที่รวมอยู่ในทั้งข้อความ json และคอลัมน์ Label ของเหตุการณ์บันทึกการประเมิน DAX ที่สามารถใช้เพื่อระบุอินสแตนซ์ของการเรียกใช้ฟังก์ชันได้อย่างง่ายดาย
MaxRows (ไม่บังคับ) จํานวนแถวสูงสุดในข้อความ json ของเหตุการณ์บันทึกการประเมิน DAX เมื่ออาร์กิวเมนต์แรกเป็นนิพจน์ตาราง ค่าเริ่มต้นคือ 10

ค่าที่ส่งกลับ

ค่าของอาร์กิวเมนต์แรก

โครงสร้าง JSON ที่บันทึกในเหตุการณ์ตัวสร้างโปรไฟล์ของการประเมิน DAX ประกอบด้วย:

  • "นิพจน์" เป็นเวอร์ชันข้อความของอาร์กิวเมนต์แรก
  • "ป้ายชื่อ" เป็นพารามิเตอร์ป้ายชื่อเมื่อระบุในนิพจน์
  • "ข้อมูลป้อนเข้า" คือรายการของคอลัมน์ในบริบทการประเมินที่มีผลต่อค่าของอาร์กิวเมนต์แรก
  • "outputs" คือรายการของคอลัมน์เดียว [Value] เมื่ออาร์กิวเมนต์แรกเป็นนิพจน์สเกลาและรายการของคอลัมน์ผลลัพธ์เมื่ออาร์กิวเมนต์แรกเป็นนิพจน์ตาราง
  • "ข้อมูล" คือรายการของค่าอินพุตและค่าเอาต์พุตเมื่ออาร์กิวเมนต์แรกเป็นนิพจน์สเกลาและรายการของค่าอินพุตและแถวผลลัพธ์ที่สอดคล้องกันเมื่ออาร์กิวเมนต์แรกเป็นนิพจน์ตาราง
  • "rowCount" คือจํานวนแถวเมื่ออาร์กิวเมนต์แรกเป็นนิพจน์ตาราง แม้ว่าจํานวนแถวในผลลัพธ์ json ถูกตัดทอนโดยพารามิเตอร์ MaxRows แต่ rowCount เป็นจํานวนแถวจริงโดยไม่มีการตัดทอน

หมายเหตุ

  • สามารถจับภาพเหตุการณ์ของ Trace ได้โดยใช้ตัวสร้างโพรไฟล์ของ SQL Server และเครื่องมือผลลัพธ์ดีบักของ DAX แบบโอเพนซอร์ส

  • ฟังก์ชันนี้สามารถใช้ได้กับเกือบทุกนิพจน์ย่อยในนิพจน์ DAX และนิพจน์ทั้งหมดจะยังคงถูกต้อง

  • เมื่ออาร์กิวเมนต์แรกได้รับการประเมินหลายครั้งในคิวรีเดียว ฟังก์ชันจะสร้างเหตุการณ์บันทึกการประเมิน DAX เดียวที่มีทั้งค่าอินพุตและค่าเอาต์พุตที่สอดคล้องกัน

  • เมื่อระบุพารามิเตอร์ป้ายชื่อค่าจะถูกส่งกลับในทั้งผลลัพธ์ json และคอลัมน์ Label ของเหตุการณ์บันทึกการประเมิน DAX

  • ถ้าอาร์กิวเมนต์แรกเป็นนิพจน์ตาราง เฉพาะแถว MaxRows ด้านบนเท่านั้นที่จะแสดงในเหตุการณ์บันทึกการประเมิน DAX

  • ในบางกรณี ฟังก์ชันนี้จะไม่ถูกดําเนินการเนื่องจากการปรับให้เหมาะสม

  • หากเหตุการณ์บันทึกการประเมิน DAX มีอักขระมากกว่า 1 ล้านอักขระ ระบบจะตัดทอนเพื่อรักษาโครงสร้าง json ที่ถูกต้อง

ตัวอย่าง 1

คิวรี DAX ต่อไปนี้:

evaluate
SUMMARIZE(
    EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
    Sales[SalesTerritoryKey],
    "sum",
    sum(Sales[Sales Amount])
)

แสดงเหตุการณ์บันทึกการประเมิน 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]
            ]
        }
    ]
}

ตัวอย่าง 2

คิวรี DAX ต่อไปนี้ที่มีอาร์กิวเมนต์สเกลาและแอตทริบิวต์ที่แตกต่างกัน:

evaluate
SELECTCOLUMNS(
    TOPN(5, Customer),
    [Customer],
    "Customer",
    EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)

แสดงเหตุการณ์บันทึกการประเมิน 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"
        }
    ]
}

TOCSV
TOJSON