แชร์ผ่าน


ร้องขอข้อมูลผลรวมย่อยที่รวม

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

หมายเหตุ

การขอข้อมูลผลรวมย่อยได้รับการสนับสนุนในเวอร์ชัน 2.6.0 และใหม่กว่า คุณสมบัติ rowSubtotalType พร้อมใช้งานในเวอร์ชัน 5.1.0 และใหม่กว่า เมื่อต้องการตรวจสอบเวอร์ชันที่คุณกําลังใช้ ให้ตรวจสอบ apiVersion ในไฟล์ pbiviz.json

ทุกครั้งที่วิชวลรีเฟรชข้อมูล วิชวลจะ ออกคําขอ ดึงข้อมูลไปยัง Backend ของ Power BI คําขอข้อมูลเหล่านี้มักจะเป็นค่าของเขตข้อมูลที่ผู้ใช้ลากลงในพื้นที่เขตข้อมูลของวิชวล บางครั้งวิชวลต้องการการรวมหรือผลรวมย่อยอื่น ๆ (ตัวอย่างเช่น ผลรวมหรือจํานวน) ที่นําไปใช้กับพื้นที่เขตข้อมูล API ผลรวมและผลรวมย่อย ช่วยให้คุณกําหนดค่าคิวรีข้อมูลขาออกเพื่อร้องขอการรวมหรือผลรวมย่อยเพิ่มเติม

Screenshot of visual with subtotals row and columns highlighted.

API ผลรวมย่อย

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

  • rowSubtotals: (บูลีน) ระบุว่าควรร้องขอข้อมูลผลรวมย่อยสําหรับเขตข้อมูลทั้งหมดในเขตข้อมูลแถวหรือไม่
  • rowSubtotalsPerLevel: (บูลีน) ระบุว่าสามารถสลับข้อมูลผลรวมย่อยสําหรับแต่ละเขตข้อมูลในเขตข้อมูลของแถวได้หรือไม่
  • columnSubtotals: (บูลีน) ระบุว่า ควรร้องขอข้อมูลผลรวม ย่อยสําหรับเขตข้อมูลทั้งหมดในเขตข้อมูลคอลัมน์หรือไม่
  • columnSubtotalsPerLevel: (บูลีน) ระบุว่า สามารถสลับข้อมูลผลรวม ย่อยสําหรับแต่ละเขตข้อมูลในเขตข้อมูลคอลัมน์ได้หรือไม่
  • levelSubtotalEnabled: (บูลีน) ระบุว่ามีการร้องขอผลรวมย่อยสําหรับแถวหรือคอลัมน์หรือไม่ ซึ่งแตกต่างจากคุณสมบัติอื่น ๆ ทั้งหมด คุณสมบัตินี้จะนําไปใช้กับแต่ละแถวหรือคอลัมน์
  • rowSubtotalsType: ("ด้านบน" หรือ "ล่างสุด") ระบุว่าแถวที่มี ข้อมูลทั้งหมด ควรถูกเรียกใช้ก่อน (top) หรือหลัง (bottom) ส่วนที่เหลือของข้อมูลหรือไม่ ถ้าคุณสมบัตินี้ถูกตั้งค่าเป็น bottomผลรวมสามารถแสดงได้เฉพาะหลังจากที่ข้อมูลทั้งหมดได้รับการดึงข้อมูลแล้วเท่านั้น ค่าเริ่มต้นคือbottom

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

วิธีการใช้ API ผลรวมย่อย

ไฟล์ capabilities.json ของวิชวลจะต้อง:

  • ระบุคุณสมบัติที่แต่ละสวิตช์ด้านบนแมปไปเป็น
  • ระบุค่าเริ่มต้นที่จะใช้ถ้าไม่ได้กําหนดคุณสมบัติไว้

สวิตช์จะใช้รูปแบบดังตัวอย่างต่อไปนี้:

    "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            },

รหัสก่อนหน้านี้ระบุว่าผลรวมย่อยของแถวจะเปิดใช้งานโดยคุณสมบัติ rowSubtotals ใน subTotals วัตถุ คุณสมบัติ มีค่าเริ่มต้นของtrue

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

โค้ดต่อไปนี้เป็นตัวอย่างของการกําหนดค่า API ที่สมบูรณ์ใน ไฟล์ capabilities.json (ที่คัดลอกมาจากวิชวลตัวอย่าง API):

"subtotals": { 
        "matrix": { 
            "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "rowSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perRowLevel" 
                }, 
                "defaultValue": false 
            }, 
            "columnSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "columnSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "columnSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perColumnLevel" 
                }, 
                "defaultValue": false 
            }, 
            "levelSubtotalEnabled": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "levelSubtotalEnabled" 
                }, 
                "defaultValue": true 
            },
            "rowSubtotalsType": {
                "propertyIdentifier": {
                    "objectName": "subtotals",
                    "propertyName": "rowSubtotalsType"
                },
                "defaultValue": "Bottom"
            }
        } 
    }

สิ่งสําคัญคือฟังก์ชันของenumerateProperties()วิชวลสอดคล้องกับค่าเริ่มต้นที่ระบุไว้ในไฟล์ capabilities.json ตรรกะการกําหนดเองจะทํางานตามค่าเริ่มต้นที่ระบุ enumerateProperties()ถ้าฟังก์ชันและค่าเริ่มต้นไม่ถูกจัดแนว การเลือกกําหนดผลรวมย่อยจริงอาจแตกต่างจากความคาดหวังของผู้ใช้

enum RowSubtotalType {
        Top = "Top",
        Bottom = "Bottom",
   }

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

Screenshot of the Power BI Visualizations pane, which shows the Column and Row subtotals field wells.

ข้อควรพิจารณาและข้อจำกัด

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

  • คุณลักษณะ ขยายและยุบ จะ rowSubtotalsแทนที่ ผลรวมย่อยจะแสดงเมื่อขยายแถว แม้ว่าจะ rowSubtotals ตั้งค่า เป็น false ก็ตาม

เพิ่มการโต้ตอบกับวิชวลโดยใช้การเลือกวิชวล Power BI