แชร์ผ่าน


สร้างกลุ่มการคํานวณ

กลุ่มการคํานวณสามารถลดจํานวนหน่วยวัดที่ซ้ําซ้อนที่คุณต้องสร้างได้อย่างมาก โดยอนุญาตให้คุณกําหนดสูตรนิพจน์การวิเคราะห์ข้อมูล (DAX) เป็นรายการการคํานวณ รายการการคํานวณสามารถนําไปใช้กับการวัดที่มีอยู่ในแบบจําลองของคุณได้ ข้อมูลเพิ่มเติมเกี่ยวกับกลุ่มการคํานวณมีอยู่ใน บทความกลุ่ม การคํานวณ

เพิ่มกลุ่มการคํานวณใหม่ในมุมมองแบบจําลอง

ใน Power BI เมื่อแก้ไขแบบจําลองความหมาย ให้นําทางไปยัง มุมมองแบบจําลอง และเลือกปุ่ม กลุ่มการคํานวณ ใน Ribbon ถ้าคุณไม่ได้อยู่ในตัวสํารวจแบบจําลอง บานหน้าต่างข้อมูลจะเปิดขึ้นไปยังมุมมองแบบจําลอง

สกรีนช็อตของปุ่มกลุ่มการคํานวณในริบบอน

ถ้าปิดใช้งานคุณสมบัติการวัดผลโดยนัย คุณจะได้รับพร้อมท์แจ้งให้เปิดหน้าต่างกล่องโต้ตอบเพื่อเปิดการเปิดใช้งานการสร้างกลุ่มการคํานวณ

ภาพหน้าจอของหน้าต่างกล่องโต้ตอบที่พร้อมท์ให้คุณเปิดใช้งานการวัดผลแบบโดยนัย

การวัดผลแบบโดยนัยเกิดขึ้นเมื่อในมุมมองรายงาน คุณใช้คอลัมน์ข้อมูลจากบานหน้าต่างข้อมูลโดยตรงในวิชวล วิชวลช่วยให้คุณสามารถรวมเป็น SUM, AVERAGE, , MINหรือการ MAXรวมพื้นฐานอื่นๆ ซึ่งจะกลายเป็นหน่วยวัดโดยนัย เมื่อมีการเพิ่มกลุ่มการคํานวณลงในแบบจําลอง Power BI จะกีดกันการสร้างหน่วยวัดโดยนัยโดยไม่แสดงสัญลักษณ์ผลรวมถัดจากคอลัมน์ข้อมูลในบานหน้าต่างข้อมูลอีกต่อไป และบล็อกการเพิ่มคอลัมน์ข้อมูลไปยังวิชวลโดยตรงเป็นค่า หน่วยวัดโดยนัยที่มีอยู่แล้วที่สร้างขึ้นแล้วในวิชวลยังคงทํางานต่อไป ต้องเปิดใช้งานคุณสมบัติไม่สนับสนุนการวัดผลแบบโดยนัย เนื่องจากหน่วยข้อมูลการคํานวณไม่ใช้กับการวัดผลแบบโดยนัย หน่วยข้อมูลการคํานวณจะใช้กับหน่วยวัดหรือหน่วยวัดชัดแจ้งเท่านั้น

สกรีนช็อตของมุมมองรายงานและการสร้างการวัดผลแบบโดยนัย

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

หมายเหตุ

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

เมื่อคุณเลือก ใช่ เพื่อเปิดใช้งานคุณสมบัติ กีดกันหน่วยวัดโดยนัย กลุ่มการคํานวณจะถูกเพิ่ม และคุณสามารถเริ่มกําหนดนิพจน์ DAX ของรายการการคํานวณแรกในแถบสูตร DAX ได้ กล่องโต้ตอบจะไม่แสดงหากคุณเปิดใช้งาน มาตรการโดยนัยกีดกัน ไว้แล้ว

SELECTEDMEASURE เป็นฟังก์ชัน DAX ที่ทําหน้าที่เป็นตัวยึดสําหรับหน่วยวัดในนิพจน์รายการการคํานวณ คุณสามารถเรียนรู้เกี่ยวกับ ฟังก์ชัน SELECTEDMEASURE DAX จากบทความได้

ภาพหน้าจอของแถบสูตร DAX และกลุ่มการคํานวณ

เพิ่มกลุ่มการคํานวณโดยใช้มุมมอง Power BI TMDL

คุณสามารถสร้างกลุ่มการคํานวณในภาษาคําจํากัดความแบบจําลองตารางหรือ มุมมอง TMDL ของ Power BI Desktop แก้ไขแบบจําลองความหมายและใช้สคริปต์ TMDL นี้

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

ตัวอย่างตัวแสดงเวลา

มีตัวอย่างตัวแสดงเวลาของกลุ่มการคํานวณที่พร้อมใช้งานใน บทความ แบบจําลอง ตาราง Analysis Services ซึ่งเราสามารถใช้เพื่อเติมข้อมูลการคํานวณบางรายการได้ ตัวอย่างสามารถเพิ่มลงในรุ่นใดก็ได้ที่มีตารางวันที่ หรือคุณสามารถดาวน์โหลด Adventure Works DW 2020 PBIX จากแบบจําลองตัวอย่าง DAX - DAX

เปลี่ยนชื่อกลุ่มการคํานวณ

หากต้องการเปลี่ยนชื่อกลุ่มการคํานวณ ให้ดับเบิลคลิกที่ในบานหน้าต่าง ข้อมูล หรือคุณสามารถเลือกกลุ่มและใช้บานหน้าต่าง คุณสมบัติ

สกรีนช็อตของวิธีการเปลี่ยนชื่อกลุ่มการคํานวณ

เปลี่ยนชื่อคอลัมน์กลุ่มการคํานวณ

หากต้องการเปลี่ยนชื่อคอลัมน์กลุ่มการคํานวณ ให้ดับเบิลคลิกที่ในบานหน้าต่าง ข้อมูล หรือคุณสามารถเลือกและใช้บานหน้าต่าง คุณสมบัติ คอลัมน์ที่คุณเลือกคือคอลัมน์ที่คุณใช้กับวิชวลหรือในตัวแบ่งส่วนข้อมูลเพื่อใช้รายการการคํานวณเฉพาะ

สกรีนช็อตของวิธีการเปลี่ยนชื่อคอลัมน์กลุ่มการคํานวณ

เปลี่ยนชื่อรายการการคํานวณ

รายการการคํานวณแรกถูกสร้างขึ้นเป็น SELECTEDMEASURE() เพื่อให้สามารถเปลี่ยนชื่อได้โดยการคลิกสองครั้งหรือใช้บานหน้าต่าง คุณสมบัติ เช่นกัน

สกรีนช็อตของวิธีการเปลี่ยนชื่อรายการการคํานวณ

สร้างรายการการคํานวณเพิ่มเติม

เมื่อต้องการสร้างรายการการคํานวณเพิ่มเติม คุณสามารถใช้เมนูบริบทคลิกขวาของส่วน รายการการคํานวณ หรือกลุ่มการคํานวณเอง แล้วเลือก รายการการคํานวณใหม่ หรือใช้บานหน้าต่าง คุณสมบัติ ของส่วน รายการการคํานวณ

สกรีนช็อตของวิธีการสร้างรายการการคํานวณใหม่

เมื่อเพิ่มรายการการคํานวณข่าวกรองเวลาทั้งหมดแล้ว กลุ่มการคํานวณจะมีลักษณะเหมือนรูปต่อไปนี้

สกรีนช็อตของกลุ่มการคํานวณที่มีรายการคํานวณข่าวกรองเวลาทั้งหมด

โปรดสังเกตไอคอนรูปสามเหลี่ยมสีแดงที่ระบุข้อผิดพลาด ข้อผิดพลาดมีอยู่เนื่องจากตัวอย่างนิพจน์ DAX ใช้ตารางวันที่ที่เรียกว่า DimDate ดังนั้นฉันจึงต้องอัปเดตนิพจน์ DAX เพื่อใช้ชื่อ Date แทน รูปภาพต่อไปนี้แสดงนิพจน์ DAX ก่อนการแก้ไข

ภาพหน้าจอของนิพจน์ DAX ที่ไม่ถูกต้อง

เมื่อฉันทําการแก้ไขนิพจน์ DAX ข้อผิดพลาดจะหายไป

ภาพหน้าจอของนิพจน์ DAX ที่แก้ไขแล้ว

เมื่อฉันทําการแก้ไขข้อผิดพลาดแต่ละรายการในรายการการคํานวณ ไอคอนคําเตือนรูปสามเหลี่ยมสีแดงจะไม่ปรากฏอีกต่อไป

สกรีนช็อตของนิพจน์ DAX ที่แก้ไขในพื้นที่รายการการคํานวณ

จัดลําดับสินค้าการคํานวณใหม่

หากต้องการจัดลําดับรายการการคํานวณใหม่ด้วยวิธีตรรกะที่คุณต้องการ คุณสามารถเลือกส่วนรายการการคํานวณในบานหน้าต่างคุณสมบัติ หรือคลิกขวาที่เมนูบริบทของรายการการคํานวณเพื่อย้ายขึ้นหรือลงในรายการ

ภาพหน้าจอของการเรียงลําดับรายการการคํานวณใหม่

เพิ่มสตริงรูปแบบแบบไดนามิกไปยังรายการการคํานวณ

รายการการคํานวณใช้การจัดรูปแบบหน่วยวัดพื้นฐานตามค่าเริ่มต้น เราอาจต้องการแสดง YOY เป็น เปอร์เซ็นต์แทน เมื่อต้องการทําเช่นนั้น ให้เลือก รายการการคํานวณ YOY% จากนั้นเปิดใช้งาน สตริง รูปแบบแบบไดนามิกในบานหน้าต่างคุณสมบัติซึ่งช่วยให้คุณสามารถระบุนิพจน์ DAX เพื่อสร้างสตริงรูปแบบได้ สําหรับตัวอย่างนี้ ไม่จําเป็นต้องมีองค์ประกอบตามเงื่อนไขใดๆ ดังนั้นเพียงแค่ #,##0.00% เปลี่ยนรูปแบบเป็นเปอร์เซ็นต์เมื่อใช้รายการการคํานวณนี้ ดังที่แสดงในรูปต่อไปนี้

ภาพหน้าจอของการเปลี่ยนแปลงรูปแบบของรายการข้อมูลพื้นฐาน

การใช้กลุ่มการคํานวณในรายงาน

หากต้องการใช้กลุ่มการคํานวณใหม่ของคุณในรายงาน ให้ไปที่ มุมมองรายงาน สร้าง วิชวลเมทริกซ์ และเพิ่มรายการต่อไปนี้:

  1. คอลัมน์ Month จาก ตารางวันที่ ไปยัง แถว
  2. การคํานวณ เวลาจากกลุ่มการคํานวณตัว แสดง เวลาไปยัง คอลัมน์
  3. สั่งหน่วยวัดเป็นค่า

หมายเหตุ

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

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

รูปภาพต่อไปนี้แสดงการสร้างวิชวล

ภาพหน้าจอของการใช้กลุ่มการคํานวณในรายงาน

รายการการคํานวณบน คอลัมน์ ใน วิชวลเมทริกซ์ จะแสดงหน่วยวัด คําสั่ง ที่จัดกลุ่มตามหน่วยข้อมูลการคํานวณแต่ละรายการ คุณยังสามารถใช้รายการการคํานวณแต่ละรายการกับหลายหน่วยวัดโดยการเพิ่ม คอลัมน์ กลุ่มการคํานวณไปยัง วิชวลตัว แบ่งส่วนข้อมูลได้

สกรีนช็อตของการใช้รายการการคํานวณแต่ละรายการกับหลายหน่วยวัด

การใช้หน่วยข้อมูลการคํานวณในหน่วยวัด

คุณสามารถสร้างหน่วยวัดใหม่ด้วยนิพจน์โดยใช้รายการคํานวณในหน่วยวัดเฉพาะ

เมื่อต้องการสร้างหน่วยวัด [คําสั่งซื้อ YOY%] คุณสามารถใช้รายการคํานวณกับ CALCULATE

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

การตั้งค่าลําดับความสําคัญของกลุ่มการคํานวณ

สุดท้าย ถ้าคุณเพิ่มกลุ่มการคํานวณเพิ่มเติมลงในแบบจําลอง คุณสามารถระบุลําดับที่ใช้กับหน่วยวัดที่มีคุณสมบัติลําดับความสําคัญได้ คุณสามารถปรับลําดับความสําคัญของกลุ่มการคํานวณได้ในบานหน้าต่างคุณสมบัติของส่วนกลุ่ม การคํานวณ ดังที่แสดงในรูปต่อไปนี้

สกรีนช็อตของการตั้งค่าลําดับความสําคัญของกลุ่มการคํานวณ

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับลําดับความสําคัญของกลุ่ม การคํานวณได้ในบทความ แบบจําลอง ตาราง Analysis Services

นิพจน์การเลือกสําหรับกลุ่มการคํานวณ

คุณสามารถตั้งค่านิพจน์การเลือกสําหรับกลุ่มการคํานวณเพื่อควบคุมว่ากลุ่มการคํานวณจะส่งกลับค่าใดหากผู้ใช้เลือกหลายรายการ ไม่ถูกต้อง หรือไม่มีในกลุ่มการคํานวณ ดู นิพจน์การเลือก

ข้อควรพิจารณา

แบบจําลองวัดการเปลี่ยนแปลงชนิดข้อมูลตัวแปร

ทันทีที่มีการเพิ่มกลุ่มการคํานวณลงในแบบจําลองความหมาย รายงาน Power BI จะใช้ชนิดข้อมูล ตัวแปร สําหรับหน่วยวัดทั้งหมด หากหลังจากนั้น กลุ่มการคํานวณทั้งหมดจะถูกลบออกจากแบบจําลอง หน่วยวัดจะเปลี่ยนกลับเป็นชนิดข้อมูลเดิมอีกครั้ง

ชนิดข้อมูลตัวแปรอาจทําให้เกิด สตริงรูปแบบไดนามิกสําหรับการวัดผล ที่ใช้การวัดผลเพื่อนํากลับมาใช้ใหม่เพื่อแสดงข้อผิดพลาด ใช้ฟังก์ชัน FORMAT DAX เพื่อบังคับให้หน่วยวัดตัวแปรได้รับการยอมรับเป็นชนิดข้อมูลสตริงอีกครั้ง

FORMAT([Dynamic format string], "")

อีกวิธีหนึ่งคือ คุณสามารถใช้นิพจน์ของคุณซ้ําสําหรับสตริงรูปแบบไดนามิกด้วย ฟังก์ชันที่ผู้ใช้กําหนดเอง DAX แทน

ข้อผิดพลาดของวิชวลเมื่อรายการการคํานวณใช้การดําเนินการทางคณิตศาสตร์กับหน่วยวัดที่ไม่ใช่ตัวเลข

หน่วยวัดที่ไม่ใช่ตัวเลขมักใช้สําหรับชื่อแบบไดนามิกในวิชวลและในสตริงรูปแบบไดนามิกสําหรับหน่วยวัด ข้อผิดพลาด ไม่สามารถแปลงค่า ... ของชนิด ข้อความที่จะพิมพ์ ตัวเลข แสดงบนวิชวลที่ได้รับผลกระทบ นิพจน์รายการการคํานวณสามารถหลีกเลี่ยงข้อผิดพลาดนี้ได้โดยการเพิ่มการตรวจสอบเพื่อดูว่าหน่วยวัดเป็นตัวเลขหรือไม่ก่อนที่จะใช้การดําเนินการทางคณิตศาสตร์ ใช้ ISNUMERIC ในรายการคํานวณ

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

บทความต่อไปนี้อธิบายเพิ่มเติมเกี่ยวกับแบบจําลองข้อมูล และยังอธิบายเกี่ยวกับ DirectQuery โดยละเอียด

บทความ DirectQuery: