บทช่วยสอน: สร้างคอลัมน์จากการคํานวณใน Power BI Desktop

ในบางครั้งข้อมูลที่คุณกําลังวิเคราะห์อยู่นั้นไม่มีเขตข้อมูลเฉพาะที่คุณต้องการเพื่อให้ได้ผลลัพธ์ที่คุณต้องการ คอลัมน์ จากการคํานวณมีประโยชน์สําหรับสถานการณ์นี้ คอลัมน์จากการคํานวณใช้สูตรนิพจน์การวิเคราะห์ข้อมูล (Data Analysis Expressions, DAX) เพื่อกําหนดค่าของคอลัมน์ เครื่องมือนี้มีประโยชน์สําหรับสิ่งใด ๆ ตั้งแต่การรวมค่าข้อความเข้าด้วยกันจากสองคอลัมน์ไปจนถึงการคํานวณค่าตัวเลขจากค่าอื่น ๆ ตัวอย่างเช่น สมมติว่าข้อมูลของคุณมีเขตข้อมูลเมืองและรัฐ แต่คุณต้องการเขตข้อมูลตําแหน่งที่ตั้งเดียวที่มีทั้งสองอย่าง เช่น "Miami, FL"

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

บทช่วยสอนนี้จะแนะนําคุณเกี่ยวกับการทําความเข้าใจและสร้างคอลัมน์จากการคํานวณ และใช้คอลัมน์เหล่านั้นในการแสดงภาพรายงานใน Power BI Desktop

ข้อกำหนดเบื้องต้น

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

  • บทช่วยสอนนี้ใช้ตัวอย่างการขาย Contoso สําหรับ Power BI Desktop ซึ่งเป็นตัวอย่างเดียวกับที่ใช้สําหรับบทช่วยสอน สร้างหน่วยวัดของคุณเองใน Power BI Desktop ข้อมูลการขายจากบริษัทที่สมมุติขึ้นที่ชื่อ Contoso, Inc. ถูกนําเข้าจากฐานข้อมูล คุณจะไม่สามารถเชื่อมต่อกับแหล่งข้อมูล หรือดูในตัวแก้ไข Power Query ได้ ดาวน์โหลด และแยกไฟล์บนคอมพิวเตอร์ของคุณ จากนั้นเปิดใน Power BI Desktop

ในรายงานยอดขายของคุณ คุณต้องการแสดงประเภทและประเภทย่อยของผลิตภัณฑ์เป็นค่าเดียว เช่น "Cell phones – Accessories", "Cell phones – Smartphones & PDAs" เป็นต้น ไม่มีเขตข้อมูลในรายการ เขตข้อมูล ที่ให้ข้อมูลนั้นแก่คุณ แต่มี เขตข้อมูล ProductCategory และ ProductSubcategory ในตารางของตนเอง คุณสามารถสร้างคอลัมน์จากการคํานวณที่รวมค่าจากสองคอลัมน์นี้ สูตร DAX สามารถใช้ประสิทธิภาพเต็มรูปแบบของแบบจําลองที่คุณมี รวมถึงความสัมพันธ์ระหว่างตารางต่าง ๆ ที่มีอยู่แล้ว

ภาพหน้าจอของคอลัมน์ในรายการเขตข้อมูล

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

    ภาพหน้าจอของคอลัมน์ใหม่ในเมนูดรอปดาวน์

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

    สกรีนช็อตของแถบสูตร

  2. ตามค่าเริ่มต้น คอลัมน์จากการคํานวณใหม่จะมีชื่อว่า คอลัมน์ ถ้าคุณไม่เปลี่ยนชื่อ คอลัมน์ใหม่จะมีชื่อว่า Column 2, Column 3 และอื่นๆ คุณต้องการให้คอลัมน์ของคุณสื่อความหมายมากขึ้น ดังนั้นในขณะที่ ชื่อ คอลัมน์ ถูกไฮไลต์อยู่แล้วในแถบสูตร ให้เปลี่ยนชื่อโดยการพิมพ์ ProductFullCategory แล้วพิมพ์เครื่องหมายเท่ากับ (=)

  3. คุณต้องการให้ค่าในคอลัมน์ใหม่ของคุณเริ่มต้นด้วยชื่อในเขตข้อมูล ProductCategory เนื่องจากคอลัมน์นี้อยู่ในตารางอื่นแต่เกี่ยวข้องกัน คุณสามารถใช้ ฟังก์ชัน RELATED เพื่อช่วยให้คุณรับคอลัมน์มาได้

    หลังเครื่องหมายเท่ากับ พิมพ์ r รายการคําแนะนําแบบดรอปดาวน์แสดงฟังก์ชัน DAX ทั้งหมดที่ขึ้นต้นด้วยตัวอักษร R การเลือกแต่ละฟังก์ชันจะแสดงคําอธิบายผลของฟังก์ชันนั้น ขณะที่คุณพิมพ์ รายการคําแนะนําจะปรับขนาดให้ใกล้เคียงกับฟังก์ชันที่คุณต้องการมากขึ้น เลือก RELATED แล้วกด Enter

    สกรีนช็อตของ RELATED ที่เลือกในแถบสูตร

    วงเล็บเปิดจะปรากฏขึ้น พร้อมกับรายการแนะนําคอลัมน์ที่เกี่ยวข้องที่คุณสามารถส่งต่อไปยังฟังก์ชัน RELATED พร้อมคําอธิบายและรายละเอียดของพารามิเตอร์ที่ต้องการ

    สกรีนช็อตของ ProductCategory ที่เลือกในแถบสูตรสําหรับฟังก์ชันที่เกี่ยวข้อง

  4. คุณต้องการคอลัมน์ ProductCategory จากตาราง ProductCategory เลือก ProductCategory[ProductCategory] กด Enter แล้วพิมพ์วงเล็บปิด

    เคล็ดลับ

    ข้อผิดพลาดทางไวยากรณ์มักเกิดจากวงเล็บปิดหายไป หรือวางผิดตําแหน่ง แม้ว่าบางครั้ง Power BI Desktop จะเพิ่มวงเล็บปิดให้คุณ

  5. คุณต้องการเส้นประและช่องว่างเพื่อแยก ProductCategories และ ProductSubcategories ในค่าใหม่ ดังนั้น หลังจากวงเล็บปิดของนิพจน์แรก พิมพ์ช่องว่าง, เครื่องหมายและ (&), อัญประกาศ ("), ช่องว่าง, เส้นประ (-), ช่องว่างอีกช่อง, อัญประกาศอีกตัว และเครื่องหมายและอีกตัว ตอนนี้สูตรของคุณควรมีลักษณะดังนี้:

    ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &

    เคล็ดลับ

    ถ้าคุณต้องการพื้นที่เพิ่มเติม ให้เลือกเครื่องหมายบั้งลงทางด้านขวาของแถบสูตรเพื่อขยายตัวแก้ไขสูตร ในตัวแก้ไข กด Alt + Enter เพื่อเลื่อนลงหนึ่งบรรทัด และ แท็บ เพื่อย้ายสิ่งต่าง ๆ ไปด้านบน

  6. ใส่วงเล็บก้ามปูเปิด ([) จากนั้นเลือก คอลัมน์ [ProductSubcategory] เพื่อจบสูตร

    สกรีนช็อตของ ProductCategory ที่เลือกสําหรับสูตร

    คุณไม่จําเป็นต้องใช้ฟังก์ชัน RELATED อื่นเพื่อเรียกใช้ ตาราง ProductSubcategory ในนิพจน์ที่สอง เนื่องจากคุณกําลังสร้างคอลัมน์จากการคํานวณในตารางนี้ คุณสามารถใส่ [ProductSubcategory] ที่มีคํานําหน้าเป็นชื่อตาราง (คุณสมบัติเต็ม) หรือไม่มี (แบบไม่มีคุณสมบัติเหมาะสม) ได้

  7. จบการใส่สูตรโดยการ กด Enter หรือเลือกเครื่องหมายถูกในแถบสูตร สูตรจะถูกตรวจสอบ และชื่อคอลัมน์ ProductFullCategory จะปรากฏในตาราง ProductSubcategory ในบานหน้าต่าง เขตข้อมูล

    สกรีนช็อตของคอลัมน์ ProductFullCategory ที่เสร็จแล้ว

    หมายเหตุ

    ใน Power BI Desktop คอลัมน์จากการคํานวณมีไอคอนพิเศษในบานหน้าต่าง เขตข้อมูล แสดงว่าคอลัมน์ดังกล่าวประกอบด้วยสูตร ในบริการของ Power BI (ไซต์ Power BI ของคุณ) ไม่มีวิธีเปลี่ยนสูตร ดังนั้นคอลัมน์จากการคํานวณจะไม่มีไอคอน

ใช้คอลัมน์ใหม่ของคุณในรายงาน

ตอนนี้คุณสามารถใช้คอลัมน์ ProductFullCategory ใหม่ของคุณเพื่อดูยอดขายโดย ProductFullCategory

  1. เลือกหรือลากคอลัมน์ ProductFullCategory จากตาราง ProductSubcategory ลงบนพื้นที่รายงานเพื่อสร้างตารางที่แสดงชื่อ ProductFullCategory ทั้งหมด

    สกรีนช็อตของตาราง ProductFullCategory

  2. เลือกหรือลากเขตข้อมูล SalesAmount จากตาราง ยอดขาย ลงในตารางเพื่อแสดง SalesAmount สําหรับแต่ละ ProductFullCategory

    สกรีนช็อตของตาราง SalesAmount ตามตาราง ProductFullCategory

สร้างคอลัมน์จากการคํานวณที่ใช้ฟังก์ชัน IF

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

โชคดีที่ตาราง Stores มีคอลัมน์ที่ชื่อว่า Status (สถานะ) ที่มีค่า "On" สําหรับร้านค้าที่ยังเปิดอยู่และ "Off" สําหรับร้านค้าที่ปิดไปแล้ว ซึ่งเราสามารถใช้เพื่อสร้างค่าสําหรับคอลัมน์ Active StoreName ใหม่ของเรา สูตร DAX ของคุณจะใช้ฟังก์ชันตรรกะ IF เพื่อทดสอบ Status (สถานะ) ของแต่ละร้านค้า และส่งกลับค่าใดค่าหนึ่งขึ้นอยู่กับผลลัพธ์ ถ้า สถานะ ของร้านค้าคือ "On" สูตรจะแสดงผลลัพธ์เป็นชื่อของร้านค้า ถ้าเป็น "Off" สูตรจะกําหนด Active StoreName เป็น "Inactive"

  1. สร้างคอลัมน์ จากการคํานวณใหม่ในตาราง Stores และตั้งชื่อเป็น Active StoreName ในแถบสูตร

  2. =หลังจากเครื่องหมาย เริ่มพิมพ์ IF รายการคําแนะนําจะแสดงสิ่งที่คุณสามารถเพิ่มได้ เลือก IF

    สกรีนช็อตของ IF ที่เลือกในแถบสูตร

  3. อาร์กิวเมนต์แรกสําหรับ IF เป็นการทดสอบตรรกะว่า Status ของร้านค้าเป็น "On" หรือไม่ พิมพ์วงเล็บก้ามปูเปิด [ ซึ่งแสดงรายการคอลัมน์จากตาราง Stores และเลือก [Status]

    สกรีนช็อตของสถานะที่เลือกสําหรับฟังก์ชัน IF ในแถบสูตร

  4. ต่อท้ายทันทีหลังจาก [Status] พิมพ์ ="On" แล้วพิมพ์เครื่องหมายจุลภาค (,) เพื่อสิ้นสุดอาร์กิวเมนต์ คําแนะนําเครื่องมือแนะนําว่า คุณต้องเพิ่มค่าที่จะส่งกลับเมื่อผลลัพธ์เป็น TRUE

    สกรีนช็อตของเปิดที่เพิ่มลงในสูตร

  5. ถ้าสถานะของร้านค้าคือ "On" คุณต้องการแสดงชื่อของร้านค้า พิมพ์วงเล็บก้ามปูเปิด ([) และเลือกคอลัมน์ [StoreName] แล้วพิมพ์เครื่องหมายจุลภาคอีกตัว คําแนะนําในขณะนี้ระบุว่า คุณจําเป็นต้องเพิ่มค่าที่จะส่งกลับเมื่อผลลัพธ์เป็น FALSE

    สกรีนช็อตของคอลัมน์ StoreName ที่เพิ่มลงในสูตร

  6. คุณต้องการให้ค่าเป็น "Inactive" ดังนั้น ให้พิมพ์ "Inactive" แล้วจบสูตรโดยการกด Enter หรือเลือกเครื่องหมายถูกในแถบสูตร สูตรจะถูกตรวจสอบ และชื่อของคอลัมน์ใหม่จะปรากฏขึ้นในตาราง Stores ในบานหน้าต่างเขตข้อมูล

    สกรีนช็อตของสูตรที่เสร็จสมบูรณ์และคอลัมน์ Active StoreName ที่เพิ่มไปยังบานหน้าต่างเขตข้อมูล

  7. คุณสามารถใช้คอลัมน์ Active StoreName ใหม่ของคุณในการแสดงภาพเช่นเดียวกับเขตข้อมูลอื่น ๆ เมื่อต้องการแสดง SalesAmounts ตาม Active StoreName เลือก เขตข้อมูล Active StoreName หรือลากไปยังพื้นที่รายงาน จากนั้นเลือก เขตข้อมูล SalesAmount หรือลากลงในตาราง ในตารางนี้ ร้านค้าที่ยังเปิดอยู่จะปรากฏแยกกันตามชื่อ แต่ร้านค้าที่ไม่ได้เปิดแล้วจะถูกจัดกลุ่มเข้าด้วยกันที่ส่วนท้ายเป็น Inactive

    สกรีนช็อตของตาราง SalesAmount ตามตาราง Active StoreName

สิ่งที่คุณได้เรียนรู้

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

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

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

บทความอื่น ๆ ที่สนใจ: