ความสามารถและคุณสมบัติของวิชวล 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 เริ่มต้นประกอบด้วยออบเจ็กต์รากต่อไปนี้:

วัตถุด้านบนคือวัตถุที่จําเป็นสําหรับการผูกข้อมูล สามารถแก้ไขได้ตามที่จําเป็นสําหรับวิชวลของคุณ

ออบเจ็กต์รูทเพิ่มเติมต่อไปนี้เป็นทางเลือกและสามารถเพิ่มได้ตามความจําเป็น:

คุณสามารถค้นหาวัตถุเหล่านี้ทั้งหมดและพารามิเตอร์ใน 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
  • .pdf
  • .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
            }
        ]
    }
]
...
}

บทบาทข้อมูลก่อนหน้านี้จะสร้างเขตข้อมูลที่แสดงในรูปภาพต่อไปนี้:

Data role fields

dataViewMappings: วิธีที่คุณต้องการแมปข้อมูล

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

วิชวลส่วนใหญ่ให้การแมปเดียว แต่คุณสามารถใส่หลาย dataViewMappings ได้ การแมปที่ถูกต้องแต่ละครั้งจะสร้างมุมมองข้อมูล

"dataViewMappings": [
    {
        "conditions": [ ... ],
        "categorical": { ... },
        "table": { ... },
        "single": { ... },
        "matrix": { ... }
    }
]

สําหรับข้อมูลเพิ่มเติม โปรดดู ทําความเข้าใจการแมปมุมมองข้อมูลในวิชวล Power BI

วัตถุ: กําหนดตัวเลือกบานหน้าต่างคุณสมบัติ

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

"objects": {
    "myCustomObject": {
        "properties": { ... }
    }
}

ตัวอย่างเช่น เพื่อสนับสนุน สตริงรูปแบบแบบไดนามิกในวิชวล แบบกําหนดเองของคุณ ให้กําหนดวัตถุต่อไปนี้:

"objects": {
        "general": {
            "properties": {
                "formatString": {
                    "type": {
                        "formatting": {
                            "formatString": true
                        }
                    }
                }
            }
        },

สําหรับข้อมูลเพิ่มเติม โปรดดู ที่ ออบเจ็กต์และคุณสมบัติของวิชวล Power BI