สร้างสตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัด
นําไปใช้กับ: บริการของ Power BI Power BI Desktop
ด้วย สตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัด คุณสามารถกําหนดว่าหน่วยวัดจะปรากฏในวิชวลอย่างไร โดยการใช้สตริงรูปแบบที่มีนิพจน์ DAX แยกต่างหากตามเงื่อนไข
หมายเหตุ
สตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัดอยู่ในตัวอย่าง เมื่ออยู่ในตัวอย่าง ฟังก์ชันการทํางานและเอกสารมีแนวโน้มที่จะเปลี่ยนแปลง
สตริงรูปแบบแบบไดนามิกจะเอาชนะข้อเสียเดิมของการใช้ฟังก์ชัน FORMAT นั่นคือด้วยรูปแบบแม้แต่ชนิดข้อมูลตัวเลขจะถูกส่งกลับเป็นสตริงซึ่งอาจใช้ไม่ได้กับวิชวลที่จําเป็นต้องมีค่าตัวเลข เช่น แผนภูมิ เมื่อใช้สตริงรูปแบบแบบไดนามิก หน่วยวัดจะเก็บข้อมูลประเภทและไม่บังคับให้เปลี่ยนเป็นชนิดข้อมูลสตริง ซึ่งใช้สตริงรูปแบบที่แตกต่างกันกับหน่วยวัดขึ้นอยู่กับบริบท
สตริงรูปแบบแบบไดนามิกยังสามารถใช้กับกลุ่มการคํานวณได้อีกด้วย คุณยังสามารถใช้รูปแบบ DAX เดียวกับที่ทํางานกับกลุ่มการคํานวณในสตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัดได้ แต่ขอบเขตจะถูกจํากัดไว้ที่หน่วยวัดแต่ละรายการแทนหน่วยวัดทั้งหมดในแบบจําลอง หากต้องการเรียนรู้เพิ่มเติม โปรดดู กลุ่มการคํานวณ - สตริงรูปแบบแบบไดนามิก
สร้างสตริงรูปแบบแบบไดนามิก
เมื่อต้องสร้างสตริงรูปแบบแบบไดนามิก
ในบานหน้าต่าง ข้อมูล ให้เลือกหน่วยวัดที่คุณต้องการระบุสตริงรูปแบบแบบไดนามิก
ในกล่องรายการรูปแบบของส่วน>การจัดรูปแบบของเครื่องมือ>การวัด ให้เลือกแบบไดนามิก กล่องรายการใหม่ที่มี รูปแบบ ที่เลือกไว้จะปรากฏทางด้านซ้ายของแถบสูตร DAX ดรอปดาวน์นี้คือวิธีที่คุณสามารถสลับระหว่างนิพจน์ DAX หน่วยวัดแบบคงที่และนิพจน์ DAX สตริงรูปแบบแบบไดนามิก ไม่ว่าจะมีการใช้สตริงรูปแบบคงที่ก่อนที่จะสลับไปยัง Dynamic เป็นสตริงในแถบสูตร DAX
เขียนทับสตริงด้วยนิพจน์ DAX ที่แสดงสตริงรูปแบบที่ถูกต้องสําหรับหน่วยวัดของคุณ ตัวอย่างเช่น นิพจน์ต่อไปนี้จะค้นหาสตริงรูปแบบสกุลเงินที่เราต้องการจากตาราง 'สตริงรูปแบบสกุลเงินของประเทศ':
ตรวจสอบสตริงรูปแบบแบบไดนามิกของคุณทํางานในวิชวล
หากต้องการลบสตริงรูปแบบแบบไดนามิกและย้อนกลับไปใช้สตริงรูปแบบคงที่ในกล่องรายการรูปแบบส่วน>การจัดรูปแบบ ให้เลือกตัวเลือกรูปแบบอื่น เนื่องจากไม่มีการเลิกทําการกระทํานี้ กล่องโต้ตอบจะปรากฏขึ้นเพื่อถามว่าคุณต้องการดําเนินการต่อหรือไม่ ถ้าคุณต้องการย้อนกลับไปใช้สตริงรูปแบบแบบไดนามิกอีกครั้ง คุณต้องใส่นิพจน์ DAX ใหม่
ตัวอย่าง
วิธีดีที่สุดในการเรียนรู้เกี่ยวกับฟีเจอร์ใหม่คือการลองใช้ด้วยตัวคุณเอง คุณสามารถทําเช่นนั้นได้ด้วยตัวอย่าง ไฟล์ Adventure Works 2020 PBIX ที่มีอยู่ใน แบบจําลองตัวอย่าง DAX คุณสามารถเพิ่มการแปลงสกุลเงินเพื่อแสดงยอดขายที่แปลงตามปีโดยใช้แบบจําลองตัวอย่าง หลังจากดาวน์โหลด ให้เปิดไฟล์ใน Power BI Desktop
สร้างตารางใหม่
แบบจําลองตัวอย่างไม่มีข้อมูลทั้งหมดที่จําเป็นในการสร้างและใช้สตริงรูปแบบแบบไดนามิก เมื่อต้องเริ่มต้นใช้งาน ก่อนอื่นคุณต้องเพิ่มสองตาราง
บนแถบเครื่องมือริบบอนหน้าหลัก ให้เลือกป้อนข้อมูล
ในกล่องโต้ตอบสร้างตาราง ให้ใส่ชื่อตารางต่อไปนี้ จากนั้นคัดลอกและวางตารางต่อไปนี้:
ชื่อตาราง: สตริงรูปแบบสกุลเงินของประเทศ
ประเทศ สกุลเงิน รูปแบบ ออสเตรเลีย ดอลลาร์ AU$#,0.00 แคนาดา ดอลลาร์ C$#,0.00 เดนมาร์ก Krone kr#,0 ยูโรโซน ยูโร € #,0.00 ญี่ปุ่น เยน ¥ #,0 สวีเดน โครนา kr#,0 สวิตเซอร์แลนด์ ฟรังค์ CHF#,0.00 สหราชอาณาจักร ปอนด์ £ #,0 ประเทศสหรัฐอเมริกา ดอลลาร์ US$,0.00 ตรวจสอบความถูกต้องของตาราง แล้วคลิก โหลด
ทําซ้ําขั้นตอนก่อนหน้าสําหรับตารางต่อไปนี้:
ชื่อตาราง: อัตราแลกเปลี่ยนเฉลี่ยรายปี
ประเทศ สกุลเงิน Year อัตราแลกเปลี่ยนเฉลี่ยรายปี ออสเตรเลีย ดอลลาร์ 2022 1.442 ออสเตรเลีย ดอลลาร์ 2021 1.332 ออสเตรเลีย ดอลลาร์ 2020 1.452 ออสเตรเลีย ดอลลาร์ 2019 1.439 ออสเตรเลีย ดอลลาร์ 2018 1.34 ออสเตรเลีย ดอลลาร์ 2017 1.358 แคนาดา ดอลลาร์ 2022 1.301 แคนาดา ดอลลาร์ 2021 1.254 แคนาดา ดอลลาร์ 2020 1.341 แคนาดา ดอลลาร์ 2019 1.327 แคนาดา ดอลลาร์ 2018 1.297 แคนาดา ดอลลาร์ 2017 1.35 เดนมาร์ก Krone 2022 7.077 เดนมาร์ก Krone 2021 6.29 เดนมาร์ก Krone 2020 6.538 เดนมาร์ก Krone 2019 6.67 เดนมาร์ก Krone 2018 6.319 เดนมาร์ก Krone 2017 6.864 ยูโรโซน ยูโร 2022 0.951 ยูโรโซน ยูโร 2021 0.846 ยูโรโซน ยูโร 2020 0.877 ยูโรโซน ยูโร 2019 0.893 ยูโรโซน ยูโร 2018 0.848 ยูโรโซน ยูโร 2017 0.923 ญี่ปุ่น เยน 2022 131.454 ญี่ปุ่น เยน 2021 109.817 ญี่ปุ่น เยน 2020 106.725 ญี่ปุ่น เยน 2019 109.008 ญี่ปุ่น เยน 2018 110.424 ญี่ปุ่น เยน 2017 116.667 สวีเดน โครนา 2022 10.122 สวีเดน โครนา 2021 8.584 สวีเดน โครนา 2020 9.205 สวีเดน โครนา 2019 9.457 สวีเดน โครนา 2018 8.703 สวีเดน โครนา 2017 8.894 สวิตเซอร์แลนด์ ฟรังค์ 2022 0.955 สวิตเซอร์แลนด์ ฟรังค์ 2021 0.914 สวิตเซอร์แลนด์ ฟรังค์ 2020 0.939 สวิตเซอร์แลนด์ ฟรังค์ 2019 0.994 สวิตเซอร์แลนด์ ฟรังค์ 2018 0.979 สวิตเซอร์แลนด์ ฟรังค์ 2017 1.024 สหราชอาณาจักร ปอนด์ 2022 0.811 สหราชอาณาจักร ปอนด์ 2021 0.727 สหราชอาณาจักร ปอนด์ 2020 0.779 สหราชอาณาจักร ปอนด์ 2019 0.784 สหราชอาณาจักร ปอนด์ 2018 0.75 สหราชอาณาจักร ปอนด์ 2017 0.808
สร้างคอลัมน์ปี
จําเป็นต้องใช้คอลัมน์ปีใหม่ในตารางวันที่ที่มีอยู่
ในมุมมองแบบจําลอง ให้คลิกขวาที่ตารางวันที่ จากนั้นเลือกคอลัมน์ใหม่
ในแถบสูตร DAX ให้ใส่นิพจน์ต่อไปนี้:
Year = YEAR([Date])
แล้วกด Enter
สร้างความสัมพันธ์
ความสัมพันธ์มีความจําเป็นระหว่างตารางอัตราแลกเปลี่ยนเฉลี่ยรายปีใหม่ของคุณและสตริงรูปแบบสกุลเงินประเทศ และระหว่างตารางอัตราแลกเปลี่ยนเฉลี่ยรายปีและตารางวันที่ที่มีอยู่
ถ้าคุณมีตรวจหาความสัมพันธ์โดยอัตโนมัติบน ความสัมพันธ์ระหว่าง สตริง รูปแบบสกุลเงินของประเทศและ อัตราแลกเปลี่ยน เฉลี่ยรายปีบน คอลัมน์ประเทศ อาจถูกสร้างขึ้นสําหรับคุณ ถ้าไม่ใช่ ให้สร้างความสัมพันธ์นี้:
- ตารางที่ 1: อัตราแลกเปลี่ยนเฉลี่ยรายปี
- ตารางที่ 1 คอลัมน์: ประเทศ
- คาร์ดินาลลิตี้: กลุ่มต่อหนึ่ง
- ตารางที่ 2: สตริงรูปแบบสกุลเงินของประเทศ
- ตารางที่ 2 คอลัมน์: ประเทศ
- เปิดใช้งานความสัมพันธ์นี้: ใช่
- ทิศทางตัวกรองข้าม: เดียว
ความสัมพันธ์ควรมีลักษณะดังนี้:
ถ้าคุณมีตรวจหาความสัมพันธ์โดยอัตโนมัติ บน ความสัมพันธ์ระหว่าง สตริง รูปแบบสกุลเงินของประเทศและ เขต การขายบน คอลัมน์ประเทศ อาจถูกสร้างขึ้น อย่างไรก็ตาม ความสัมพันธ์นี้ไม่ถูกต้องสําหรับแบบจําลองของเรา ในมุมมอง แบบจําลอง ให้ลบความสัมพันธ์นี้
ให้สร้างความสัมพันธ์ระหว่าง อัตราแลกเปลี่ยน เฉลี่ยรายปีและ วันที่ ใน คอลัมน์ปี แทน
- ตารางที่ 1: อัตราแลกเปลี่ยนเฉลี่ยรายปี
- ตารางที่ 1 คอลัมน์: ปี
- คาร์ดินาลลิตี้: กลุ่มต่อกลุ่ม
- ตารางที่ 2: วันที่
- ตารางที่ 2 คอลัมน์: ปี
- เปิดใช้งานความสัมพันธ์นี้: ใช่
- ทิศทางตัวกรองข้าม: ตัวกรองเดียว ('อัตราแลกเปลี่ยนเฉลี่ยรายปี' 'วันที่')
ความสัมพันธ์ควรมีลักษณะดังนี้:
บันทึกแบบจําลองของคุณ
สร้างตารางกลุ่มหน่วยวัด
กลุ่มหน่วยวัดช่วยให้คุณจัดระเบียบหน่วยวัดที่แตกต่างกันโดยให้อยู่ในตารางเดียว
ในริบบอนหน้าแรก เลือกป้อนข้อมูล
ในกล่องโต้ตอบ สร้างตาราง ให้ปล่อยค่าว่างไว้ ตั้งชื่อตารางหน่วยวัดยอดขาย แล้วคลิกโหลด ตารางนี้ประกอบด้วยหน่วยวัดใหม่ของคุณ
สร้างหน่วยวัด
ในบานหน้าต่าง ข้อมูล ให้ขยายและคลิกขวาที่ หน่วยวัดยอดขาย จากนั้นเลือก หน่วยวัดใหม่ ใส่นิพจน์ DAX ต่อไปนี้ลงในแถบสูตร DAX จากนั้นกด Enter:
Sales Amount = SUM(Sales[Sales Amount])
ซึ่งควรมีลักษณะดังนี้:
ใน หน่วยวัดยอดขาย ให้ คลิกขวาที่ Column1 จากนั้นเลือก ซ่อนในมุมมองรายงาน การดําเนินการนี้จะเปลี่ยนหน่วยวัดยอดขายเป็นกลุ่มหน่วยวัด ซึ่งตอนนี้จะปรากฏที่ด้านบนของบานหน้าต่างข้อมูลที่มีไอคอนกลุ่มหน่วยวัด ดังนี้:
ขณะนี้คุณสามารถสร้างหน่วยวัดเพื่อคํานวณอัตราแลกเปลี่ยนได้แล้ว คลิกขวาที่ หน่วยวัดยอดขาย เลือก หน่วยวัดใหม่ ใส่นิพจน์ต่อไปนี้ลงในแถบสูตร DAX จากนั้นกด Enter:
Exchange Rate (Yearly Avg) = IF ( ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) ) || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )
ซึ่งควรมีลักษณะดังนี้:
ในตอนนี้ คุณสร้างหน่วยวัดอื่นเพื่อแปลง หน่วยวัด ปริมาณ ยอดขาย เป็นสกุลเงินอื่น คลิกขวาที่ หน่วยวัดยอดขาย เลือก หน่วยวัดใหม่ ใส่นิพจน์ต่อไปนี้ลงในแถบสูตร DAX จากนั้นกด Enter:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
กลุ่ม หน่วยวัด ยอดขายควรมีลักษณะดังนี้:
สร้างรายงาน
ไปยัง มุมมองรายงาน เพิ่มหน้าเปล่าใหม่ลงในรายงาน
เพิ่มวิชวลแผนภูมิเส้นไปยังหน้ารายงานใหม่ของคุณ คุณใช้วิชวลนี้เพื่อดูหน่วยวัดของคุณก่อนที่จะเพิ่มสตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัด
ในบานหน้าต่างข้อมูล > หน่วยวัดยอดขาย ให้เลือกยอดขายที่แปลงแล้ว โดยไม่ต้องคลิกที่อื่นใด ให้เลือก ปี ในตารางวันที่
คัดลอกและวางวิชวลเพื่อให้คุณมีวิชวลแผนภูมิเส้นสองภาพ เปลี่ยนวิชวลแผนภูมิเส้นที่สองเป็นวิชวลตาราง และย้ายไปด้านล่างแผนภูมิเส้น ดังนี้:
เพิ่มวิชวลตัวแบ่งส่วนข้อมูลลงในหน้ารายงานของคุณ ใน Ribbon รูปแบบ ให้เพิ่ม ประเทศ จาก ตารางสตริง รูปแบบสกุลเงินของประเทศ ไปยังตัวแบ่งส่วนข้อมูล
จัดเรียงวิชวลใหม่จนกว่าจะมีเค้าโครงที่ดีกว่า มีบางอย่างดังนี้:
แม้ว่าจะไม่จําเป็นต้องใช้ คุณสามารถเปลี่ยนคุณสมบัติวิชวลเพื่อสร้างรายงานที่ดีกว่าได้:
ตัวแบ่งส่วนข้อมูล
- การตั้งค่าตัวแบ่งส่วนข้อมูล: เลือกครั้งเดียว
- ขนาดและสไตล์, ช่องว่างภายใน: 10 px, ขอบทั้งหมด
- ขนาดและสไตล์, เส้นขอบวิชวล: สีเทาอ่อน, 10 px ปัดเศษมุม
- การตั้งค่าตัวแบ่งส่วนข้อมูล สไตล์: ไทล์
- ส่วนหัวของตัวแบ่งส่วนข้อมูล: ปิด
- ค่า, เส้นขอบ: ซ้าย, #333333, ความกว้างของเส้น 6
Table
- ขนาดและสไตล์, ช่องว่างภายใน: 10 px, ขอบทั้งหมด
- ขนาดและสไตล์, เส้นขอบวิชวล: สีเทาอ่อน, 10 px ปัดเศษมุม
- เส้นตาราง เส้นตารางแนวนอน: สีขาว ความกว้าง 2
- เส้นตาราง, เส้นตารางแนวตั้ง: สีขาว, ความกว้าง 2
- เส้นตาราง, เส้นขอบ: สีขาว
- เส้นตาราง ตัวเลือก: ช่องว่างภายในแถว 2 แถว
- Values, Values: สีพื้นหลัง #F6F4F4
- ค่า ค่า: สีพื้นหลังสํารอง #F6F4F4
- ส่วนหัวของคอลัมน์ ข้อความ: ตัวหนา สีข้อความ สีขาว สีพื้นหลัง #0D6ABF
แผนภูมิเส้น
- ขนาดและสไตล์, ช่องว่างภายใน: 10 px, ขอบทั้งหมด
- ขนาดและสไตล์, เส้นขอบวิชวล: สีเทาอ่อน, 10 px ปัดเศษมุม
- ชื่อเรื่อง ชื่อเรื่องรอง: เปิด
- แกน Y, ชื่อเรื่อง: ปิด
- แกน Y: ปิด
- ตัวทําเครื่องหมาย: เปิด
- ป้ายชื่อข้อมูล: เปิด
- ป้ายชื่อข้อมูล ค่า: ตัวหนา สีน้ําเงิน
พื้นที่ทํางาน (ไม่บังคับ)
- พื้นหลังพื้นที่ทํางาน: สีเทาอ่อน, ความโปร่งใส 85%
ด้วยคุณสมบัติวิชวลเหล่านั้น คุณจะได้รับหน้ารายงานที่ดีเช่นนี้:
สร้างสตริงรูปแบบแบบไดนามิก
การเลือกชื่อประเทศที่แตกต่างกันในตัวแบ่งส่วนข้อมูลจะแสดงผลลัพธ์การวัดปริมาณยอดขายที่แปลงแล้วในวิชวล แต่ไม่อยู่ในรูปแบบที่เหมาะสมสําหรับประเทศหรือภูมิภาคนั้น
ในบานหน้าต่างข้อมูล > หน่วยวัดยอดขาย ให้เลือกยอดขายที่แปลงแล้ว
ใน Ribbon เครื่องมือวัด ให้คลิกที่ดรอปดาวน์ รูปแบบ จากนั้นเลือก แบบไดนามิก
ในตอนนี้ กล่องรายการดรอปดาวน์ทางด้านซ้ายของแถบสูตรควรพูดว่า รูปแบบ และสูตรในแถบสูตรควรมีสตริงรูปแบบ แทนที่สตริงรูปแบบด้วยนิพจน์ DAX ต่อไปนี้ จากนั้นกด Enter:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
ซึ่งควรมีลักษณะดังนี้:
เลือกประเทศอื่นในตัวแบ่งส่วนข้อมูล วิชวลแผนภูมิตารางและแผนภูมิเส้นควรแสดงจํานวนสกุลเงินที่แปลงแล้วในรูปแบบที่ถูกต้องสําหรับประเทศหรือภูมิภาคนั้น ลองเลือกประเทศ/ภูมิภาคอื่นในตัวแบ่งส่วนข้อมูลเพื่อดูว่าวิชวลเปลี่ยนแปลงอย่างไร
บันทึกแบบจําลองของคุณ
ปัญหาและข้อควรพิจารณาที่ทราบแล้ว
ในระหว่างการแสดงตัวอย่าง ปัญหาและข้อจํากัดต่อไปนี้ได้รับการแก้ไข:
วิชวลมีตัวเลือกการจัดรูปแบบที่อาจส่งผลกระทบต่อวิธีแสดงสตริงรูปแบบ ถ้าการจัดรูปแบบแสดงโดยไม่คาดคิดในวิชวล ให้ไปที่ตัวเลือกรูปแบบวิชวล ให้ค้นหา หน่วยแสดงผล และเปลี่ยนจาก อัตโนมัติ เป็น ไม่มี
สามารถอ้างอิงตัวหน่วยวัดโดยตรงในสตริงรูปแบบแบบไดนามิกโดยใช้ชื่อ เช่น [Measure A] หรือโดยทางอ้อมโดยใช้
SELECTEDMEASURE()
สตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัดใช้สําหรับหน่วยวัดแบบจําลองเท่านั้น หน่วยวัด รายงานที่สามารถเพิ่มไปยังรายงานที่เชื่อมต่อแบบสดไม่สามารถมีสตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัดได้
ด้วย DirectQuery สําหรับ Analysis Services เมื่อคุณคลิก ทําการเปลี่ยนแปลงไปยังแบบจําลอง นี้ในรายงานที่เชื่อมต่อสด จะเปลี่ยนการเชื่อมต่อไปยัง DirectQuery ผ่าน Analysis Services โดยทั่วไป คุณสามารถทําการเปลี่ยนแปลงสตริงรูปแบบของหน่วยวัดแบบจําลองระยะไกลได้ ในระหว่างการ แสดงตัวอย่าง:
- หน่วยวัดแบบจําลองระยะไกลที่มีสตริงรูปแบบแบบไดนามิกที่กําหนดจะถูกบล็อกจากการเปลี่ยนแปลงสตริงรูปแบบเป็นสตริงรูปแบบคงที่หรือเป็นสตริงรูปแบบแบบไดนามิกที่แตกต่างกันนิพจน์ DAX
- ไม่สามารถเปลี่ยนหน่วยวัดแบบจําลองระยะไกลจากสตริงรูปแบบคงที่เป็นนิพจน์ DAX รูปแบบแบบไดนามิกที่กําหนดไว้ในแบบจําลองภายในเครื่อง
- หน่วยวัดแบบจําลองภายในเครื่องถูกบล็อกจากการใช้สตริงรูปแบบแบบไดนามิกสําหรับหน่วยวัด