ความสามารถและคุณสมบัติของวิชวล Power BI
ทุกวิชวลจะมี ไฟล์ capabilities.json ที่สร้างขึ้นโดยอัตโนมัติเมื่อคุณเรียกใช้ pbiviz new <visual project name>
คําสั่งเพื่อสร้าง วิชวลใหม่ ไฟล์ capabilities.json อธิบายถึงวิชวลไปยังโฮสต์
ไฟล์ capabilities.json บอกโฮสต์ว่าวิชวลยอมรับข้อมูลชนิดใด แอตทริบิวต์ที่สามารถกําหนดได้ใดบ้างที่จะวางในบานหน้าต่างคุณสมบัติ และข้อมูลอื่น ๆ ที่จําเป็นในการสร้างวิชวล เริ่มต้นจาก API v4.6.0 คุณสมบัติทั้งหมดบนแบบจําลองความสามารถเป็นทางเลือก ยกเว้น privileges
ซึ่งจําเป็น
ไฟล์ capabilities.json จะแสดงรายการออบเจ็กต์รากในรูปแบบต่อไปนี้:
{
"privileges": [ ... ],
"dataRoles": [ ... ],
"dataViewMappings": [ ... ],
"objects": { ... },
"supportsHighlight": true|false,
"advancedEditModeSupport": 0|1|2,
"sorting": { ... }
...
}
เมื่อคุณสร้างวิชวลใหม่ ไฟล์ capabilities.json เริ่มต้นประกอบด้วยออบเจ็กต์รากต่อไปนี้:
วัตถุด้านบนคือวัตถุที่จําเป็นสําหรับการผูกข้อมูล สามารถแก้ไขได้ตามที่จําเป็นสําหรับวิชวลของคุณ
ออบเจ็กต์รูทอื่น ๆ ต่อไปนี้เป็นทางเลือกและสามารถเพิ่มได้ตามความจําเป็น:
- คำ แนะ นำ
- supportsHighlight
- เรียง ลำดับ
- drilldown (ดูรายละเอียดแนวลึก)
- expandCollapse
- supportsKeyboardFocus
- supportsSynchronizingFilterState
- advancedEditModeSupport
- supportsLandingPage
- supportsEmptyDataView
- supportsMultiVisualSelection
- ผลรวมย่อย
- keepAllMetadataColumns
- โยกย้าย
คุณสามารถค้นหาวัตถุเหล่านี้ทั้งหมดและพารามิเตอร์ใน schema capabilities.json
สิทธิ์: กําหนดสิทธิ์พิเศษที่วิชวลของคุณต้องการ
สิทธิ์คือการดําเนินการพิเศษที่วิชวลของคุณจําเป็นต้องเข้าถึงเพื่อใช้งาน สิทธิ์การใช้งานจะใช้อาร์เรย์ของ privilege
ออบเจ็กต์ ซึ่งกําหนดคุณสมบัติสิทธิการใช้งานทั้งหมด ส่วนต่อไปนี้อธิบายสิทธิ์การใช้งานที่พร้อมใช้งานใน Power BI
หมายเหตุ
จาก API v4.6.0 ต้องระบุสิทธิ์ในไฟล์ capabilities.json ในเวอร์ชันก่อนหน้า การเข้าถึงระยะไกลจะได้รับอนุญาตโดยอัตโนมัติ และไม่สามารถดาวน์โหลดไปยังไฟล์ได้ เมื่อต้องการตรวจสอบเวอร์ชันที่คุณกําลังใช้ ให้ตรวจสอบ apiVersion
ในไฟล์ pbiviz.json
กําหนดสิทธิการใช้งาน
ข้อกําหนดสิทธิ์ JSON ประกอบด้วยคอมโพเนนต์เหล่านี้:
name
- (สตริง) ชื่อของสิทธิ์การใช้งานessential
- (บูลีน) ระบุว่าฟังก์ชันการแสดงผลด้วยภาพจําเป็นต้องมีสิทธิ์การใช้งานนี้หรือไม่ ค่าของtrue
หมายความว่าต้องใช้false
สิทธิพิเศษ ซึ่งหมายความว่าสิทธิ์การใช้งานไม่ได้บังคับparameters
- (string array)(optional) Arguments หากparameters
ขาดหายไป จะถือว่าเป็นอาร์เรย์ว่าง
สิทธิพิเศษต่อไปนี้คือชนิดของสิทธิ์การใช้งานที่ต้องกําหนด:
หมายเหตุ
แม้จะมีสิทธิ์การใช้งานเหล่านี้ที่ให้ไว้ในวิชวลผู้ดูแลระบบจะต้องเปิดใช้งานสวิตช์ในการตั้งค่าผู้ดูแลระบบเพื่ออนุญาตให้บุคคลในองค์กรของพวกเขาได้รับประโยชน์จากการตั้งค่าเหล่านี้
อนุญาตการเข้าถึงเว็บ
เมื่อต้องการอนุญาตให้วิชวลเข้าถึงทรัพยากรหรือเว็บไซต์ภายนอก ให้เพิ่มข้อมูลนั้นเป็น สิทธิ์การใช้งาน ในส่วนความสามารถ ข้อกําหนดสิทธิพิเศษรวมถึงรายการ URL ที่เลือกได้ ที่วิชวลได้รับอนุญาตให้เข้าถึงได้ในรูปแบบ http://xyz.com
หรือhttps://xyz.com
URL แต่ละรายการยังสามารถมีสัญลักษณ์ตัวแทนเพื่อระบุโดเมนย่อย
โค้ดต่อไปนี้เป็นตัวอย่างของการตั้งค่าสิทธิ์ที่อนุญาตให้เข้าถึงทรัพยากรภายนอก:
{
"name": "WebAccess",
"essential": true,
"parameters": [ "https://*.microsoft.com", "http://example.com" ]
}
สิทธิพิเศษก่อนหน้านี้ WebAccess
หมายความว่า วิชวลจําเป็นต้องเข้าถึงโดเมนย่อยใดๆ ของ microsoft.com
โดเมนผ่านทางโพรโทคอล HTTPS เท่านั้น และ example.com
ไม่มีโดเมนย่อยผ่านทาง HTTP เท่านั้น และสิทธิ์การเข้าถึงนี้จําเป็นสําหรับวิชวลในการทํางาน
ดาวน์โหลดไปยังไฟล์
เมื่อต้องการอนุญาตให้ผู้ใช้ส่งออกข้อมูลจากวิชวลลงในไฟล์ ให้ตั้งค่าExportContent
เป็นtrue
การตั้งค่านี้ ExportContent
เปิดใช้งานวิชวลเพื่อส่งออกข้อมูลไปยังไฟล์ในรูปแบบต่อไปนี้:
- .txt
- Csv
- Json
- .tmplt
- .xml
- .xlsx
การตั้งค่านี้จะแยกต่างหากและไม่ได้รับผลกระทบจากข้อจํากัดการดาวน์โหลดที่ใช้ในการส่งออกและแชร์การตั้งค่าผู้เช่าขององค์กร
โค้ดต่อไปนี้เป็นตัวอย่างของการตั้งค่าสิทธิ์ที่อนุญาตให้ดาวน์โหลดไปยังไฟล์:
"privileges": [
{
"name": "ExportContent",
"essential": true
}
]
สิทธิการใช้งานพื้นที่จัดเก็บข้อมูลภายใน
สิทธิ์นี้อนุญาตให้วิชวลแบบกําหนดเองจัดเก็บข้อมูลบนเบราว์เซอร์ภายในของผู้ใช้
ต่อไปนี้คือตัวอย่างของการตั้งค่าสิทธิ์ที่อนุญาตให้ใช้ที่เก็บข้อมูลภายในเครื่อง:
"privileges": [
{
"name": "LocalStorage",
"essential": true
}
]
ไม่จําเป็นต้องมีสิทธิ์การใช้งาน
หากวิชวลไม่จําเป็นต้องมีสิทธิ์ privileges
พิเศษใด ๆ อาร์เรย์ ควรว่างเปล่า:
"privileges": []
สิทธิ์การใช้งานหลายรายการ
ตัวอย่างต่อไปนี้แสดงวิธีการตั้งค่าสิทธิ์การใช้งานหลายรายการสําหรับวิชวลแบบกําหนดเอง
"privileges": [
{
"name": "WebAccess",
"essential": true,
"parameters": [ "https://*.virtualearth.net" ]
},
{
"name": "ExportContent",
"essential": false
}
]
dataroles: กําหนดเขตข้อมูลที่วิชวลของคุณคาดหวัง
เพื่อกําหนดเขตข้อมูลที่สามารถผูกกับข้อมูล ให้คุณใช้dataRoles
dataRoles
เป็นอาร์เรย์ของ DataViewRole
ออบเจ็กต์ ซึ่งกําหนดคุณสมบัติที่จําเป็นทั้งหมด วัตถุdataRoles
เป็นเขตข้อมูลที่ปรากฏในบานหน้าต่างคุณสมบัติ
ผู้ใช้ลากเขตข้อมูลลงในเขตข้อมูลเพื่อผูกเขตข้อมูลไปยังวัตถุ
คุณสมบัติ DataRole
กําหนด DataRoles ด้วยคุณสมบัติต่อไปนี้:
- ชื่อ: ชื่อภายในของเขตข้อมูลนี้ (ต้องไม่ซ้ํากัน)
- displayName: ชื่อที่แสดงให้กับผู้ใช้ในบานหน้าต่างคุณสมบัติ
- ชนิด: ชนิดของเขตข้อมูล:
Grouping
: ชุดของค่าที่ไม่ต่อเนื่องที่ใช้ในการจัดกลุ่มเขตข้อมูลหน่วยวัดMeasure
: ค่าตัวเลขเดียวGroupingOrMeasure
: ค่าที่สามารถใช้เป็นการจัดกลุ่มหรือหน่วยวัด
- คําอธิบาย: คําอธิบายข้อความสั้นๆ ของเขตข้อมูล (เป็นทางเลือก)
- requiredTypes: ชนิดของข้อมูลที่จําเป็นสําหรับบทบาทข้อมูลนี้ ค่าที่ไม่ตรงกันถูกตั้งค่าเป็น null (เป็นทางเลือก)
- preferredTypes: ชนิดของข้อมูลที่ต้องการสําหรับบทบาทข้อมูลนี้ (เป็นทางเลือก)
ชนิดข้อมูลที่ถูกต้องสําหรับ requiredTypes และ preferredTypes
- bool: ค่าบูลีน
- จํานวนเต็ม: ค่าจํานวนเต็ม
- numeric: ค่าตัวเลข
- text: ค่าข้อความ
- ภูมิศาสตร์: ข้อมูลทางภูมิศาสตร์
ตัวอย่าง dataRoles
"dataRoles": [
{
"displayName": "My Category Data",
"name": "myCategory",
"kind": "Grouping",
"requiredTypes": [
{
"text": true
},
{
"numeric": true
},
{
"integer": true
}
],
"preferredTypes": [
{
"text": true
}
]
},
{
"displayName": "My Measure Data",
"name": "myMeasure",
"kind": "Measure",
"requiredTypes": [
{
"integer": true
},
{
"numeric": true
}
],
"preferredTypes": [
{
"integer": true
}
]
}
]
...
}
บทบาทข้อมูลก่อนหน้านี้จะสร้างเขตข้อมูลที่แสดงในรูปภาพต่อไปนี้:
dataViewMappings: วิธีที่คุณต้องการแมปข้อมูล
ออบเจ็กต์ dataViewMappings
จะอธิบายว่าบทบาทข้อมูลเกี่ยวข้องกันอย่างไรและอนุญาตให้คุณระบุข้อกําหนดเงื่อนไขสําหรับมุมมองข้อมูลที่แสดง
วิชวลส่วนใหญ่ให้การแมปเดียว แต่คุณสามารถใส่หลาย dataViewMappings ได้ การแมปที่ถูกต้องแต่ละครั้งจะสร้างมุมมองข้อมูล
"dataViewMappings": [
{
"conditions": [ ... ],
"categorical": { ... },
"table": { ... },
"single": { ... },
"matrix": { ... }
}
]
สําหรับข้อมูลเพิ่มเติม โปรดดู ทําความเข้าใจการแมปมุมมองข้อมูลในวิชวล Power BI
วัตถุ: กําหนดตัวเลือกบานหน้าต่างคุณสมบัติ
ออบเจ็กต์อธิบายคุณสมบัติแบบปรับแต่งได้ที่เกี่ยวข้องกับวิชวล วัตถุที่กําหนดไว้ในส่วนนี้คือวัตถุที่ปรากฏในบานหน้าต่าง รูปแบบ วัตถุแต่ละชนิดสามารถมีคุณสมบัติได้หลายรายการ และแต่ละคุณสมบัติมีชนิดที่สัมพันธ์กัน
"objects": {
"myCustomObject": {
"properties": { ... }
}
}
ตัวอย่างเช่น เพื่อสนับสนุน สตริงรูปแบบแบบไดนามิกในวิชวล แบบกําหนดเองของคุณ ให้กําหนดวัตถุต่อไปนี้:
"objects": {
"general": {
"properties": {
"formatString": {
"type": {
"formatting": {
"formatString": true
}
}
}
}
},
สําหรับข้อมูลเพิ่มเติม โปรดดู ที่ ออบเจ็กต์และคุณสมบัติของวิชวล Power BI