ตัวเลือกการเรียงลําดับสําหรับวิชวล Power BI
บทความนี้อธิบายถึงตัวเลือกต่าง ๆ ที่พร้อมใช้งานสําหรับการระบุวิธีการเรียงลําดับรายการวิชวลใน Power BI
ตามค่าเริ่มต้น วิชวลไม่รองรับการแก้ไขลําดับการจัดเรียง เว้นแต่ว่าจะมีการระบุไว้เป็นอย่างอื่นในไฟล์ capabilities.json
ความสามารถในการเรียงลําดับต้องการอย่างน้อยหนึ่งพารามิเตอร์ต่อไปนี้
เรียงลําดับเริ่มต้น
ตัวเลือก default
คือฟอร์มที่ง่ายที่สุด ซึ่งช่วยให้ผู้ใช้สามารถเรียงลําดับตามเขตข้อมูลและทิศทางหนึ่งใด ๆ (จากน้อยไปหามากหรือมากไปหาน้อย) ผู้ใช้เลือกทิศทางและเขตข้อมูลจาก เมนูตัวเลือก เพิ่มเติม
เมื่อต้องการเปิดใช้งานการเรียงลําดับเริ่มต้น ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ capabilities.json ของคุณ:
"sorting": {
"default": { }
}
การเรียงลําดับโดยนัย
การเรียงลําดับโดยนัยช่วยให้คุณสามารถกําหนดอาร์เรย์การเรียงลําดับล่วงหน้าโดยใช้พารามิเตอร์ clauses
ที่อธิบายการเรียงลําดับสําหรับแต่ละบทบาทข้อมูล ผู้ใช้ไม่สามารถเปลี่ยนลําดับการจัดเรียง ดังนั้น Power BI จึงไม่แสดงตัวเลือกการเรียงลําดับในเมนูของวิชวล อย่างไรก็ตาม Power BI จะเรียงลําดับข้อมูลตามการตั้งค่าที่ระบุ
เมื่อต้องการเปิดใช้งานการเรียงลําดับโดยนัย ให้เพิ่มโดยนัยclauses
ไปยังพารามิเตอร์ไฟล์ clauses
capabilities.json ของคุณสามารถมีหลายออบเจ็กต์ที่มีพารามิเตอร์สองรายการแต่ละรายการ:
role
: กําหนดDataMapping
สําหรับการเรียงลําดับdirection
: กําหนดทิศทางการเรียงลําดับ (1 = จากน้อยไปหามาก 2 = จากมากไปหาน้อย)
"sorting": {
"implicit": {
"clauses": [
{
"role": "category",
"direction": 1
},
{
"role": "measure",
"direction": 2
}
]
}
}
การเรียงลําดับแบบกําหนดเอง
การเรียงลําดับแบบกําหนดเองช่วยให้นักพัฒนามีความยืดหยุ่นมากขึ้นเมื่อมีการเรียงลําดับ นักพัฒนาสามารถ:
- อนุญาตให้ผู้ใช้สามารถเรียงลําดับตามเขตข้อมูลหลายรายการในแต่ละครั้ง
- ตั้งค่าลําดับการจัดเรียงเริ่มต้นสําหรับข้อมูล
- อนุญาตให้มีการเรียงลําดับแบบกําหนดเองในระหว่างรันไทม์
เปิดใช้งานการเรียงลําดับแบบกําหนดเอง
เมื่อต้องการเปิดใช้งานการเรียงลําดับแบบกําหนดเอง ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ capabilities.json ของคุณ:
"sorting": {
"custom": {}
}
ตัวอย่าง: API การเรียงลําดับแบบกําหนดเอง
let queryName1 = this.dataView.matrix.columns.levels[0].sources[0].queryName;
let queryName2 = this.dataView.matrix.columns.levels[1].sources[0].queryName;
let args: CustomVisualApplyCustomSortArgs = {
sortDescriptors: [
{
queryName: queryName1,
sortDirection: powerbi.SortDirection.Ascending
},
{
queryName: queryName2,
sortDirection: powerbi.SortDirection.Descending
},
]
};
this.host.applyCustomSort(args);