ร้องขอข้อมูลผลรวมย่อยที่รวม
API ผลรวม
โน้ต
การขอข้อมูลผลรวมย่อยได้รับการสนับสนุนในเวอร์ชัน 2.6.0 และใหม่กว่า คุณสมบัติ rowSubtotalType
จะพร้อมใช้งานในเวอร์ชัน 5.1.0 และใหม่กว่า เมื่อต้องการตรวจสอบเวอร์ชันที่คุณกําลังใช้ ตรวจสอบ apiVersion
ในไฟล์ pbiviz.json
ทุกครั้งที่วิชวลรีเฟรชข้อมูล วิชวลจะออกคําขอดึงข้อมูล ไปยัง Backend ของ Power BI คําขอข้อมูลเหล่านี้มักจะเป็นค่าของเขตข้อมูลที่ผู้ใช้ลากลงในพื้นที่เขตข้อมูลของวิชวล บางครั้งวิชวลต้องการการรวมหรือผลรวมย่อยอื่น ๆ (ตัวอย่างเช่น ผลรวมหรือจํานวน) ที่นําไปใช้กับพื้นที่เขตข้อมูล API ผลรวมและผลรวมย่อย ช่วยให้คุณกําหนดค่าคิวรีข้อมูลขาออกเพื่อร้องขอการรวมหรือผลรวมย่อยเพิ่มเติม
API ผลรวมย่อย
API มีการกําหนดเองต่อไปนี้สําหรับแต่ละชนิดมุมมองข้อมูล (ในขณะนี้ มีเพียงมุมมองข้อมูลเมทริกซ์)
-
rowSubtotals
: (บูลีน) ระบุว่าควรร้องขอข้อมูลผลรวมย่อยสําหรับเขตข้อมูลทั้งหมดในแถวเขตข้อมูลหรือไม่ -
rowSubtotalsPerLevel
: (บูลีน) บ่งชี้ว่าสามารถสลับข้อมูลผลรวมย่อยสําหรับแต่ละเขตข้อมูลในเขตข้อมูลของแถวได้หรือไม่ : (บูลีน) ระบุว่าควรร้องขอข้อมูล ผลรวมย่อย สําหรับเขตข้อมูลทั้งหมดในคอลัมน์ได้ดีหรือไม่ -
columnSubtotalsPerLevel
: (บูลีน) บ่งชี้ว่า ผลรวมย่อย ข้อมูลสามารถสลับสําหรับแต่ละเขตข้อมูลในเขตข้อมูลคอลัมน์ได้ดีหรือไม่ -
levelSubtotalEnabled
: (บูลีน) ระบุว่ามีการร้องขอผลรวมย่อยสําหรับแถวหรือคอลัมน์หรือไม่ ซึ่งแตกต่างจากคุณสมบัติอื่น ๆ ทั้งหมด คุณสมบัตินี้จะนําไปใช้กับแต่ละแถวหรือคอลัมน์ : ("ด้านบน" หรือ "ล่าง") ระบุว่าแถวที่มีข้อมูล ทั้งหมด ควรถูกเรียกใช้ก่อน ( ) หรือหลังจากนั้น ( ) ส่วนที่เหลือของข้อมูล ถ้าคุณสมบัตินี้ถูกตั้งค่าเป็น 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",
}
เมื่อต้องการตรวจทานการกําหนดค่าที่พร้อมใช้งาน ขยาย
ข้อควรพิจารณาและข้อจํากัด
คุณสมบัติ
rowSubtotalsType
จะพร้อมใช้งานสําหรับแถวเท่านั้น คุณไม่สามารถตั้งค่าผลรวมย่อยของคอลัมน์ไปเป็นจุดเริ่มต้นของคอลัมน์ได้คุณลักษณะขยายและยุบ
จะแทนที่ ผลรวมย่อยจะแสดงเมื่อขยายแถว แม้ว่า rowSubtotals
ถูกตั้งค่าเป็น false