Aracılığıyla paylaş


Power BI görsellerinin nesneleri ve özellikleri

Nesneler, bir görselle ilişkili özelleştirilebilir özellikleri açıklar. Bir nesnenin birden çok özelliği olabilir ve her özelliğin, özelliğin ne olacağını açıklayan ilişkili bir türü vardır. Bu makalede nesneler ve özellik türleri hakkında bilgi sağlanır.

myCustomObject içindeki nesneye dataViewbaşvurmak için kullanılan iç addır.

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

Görünen ad ve açıklama

Dekont

Görünen ad ve açıklama, API 5.1+ sürümünden kullanım dışıdır. Görünen ad ve açıklama artık capabilities.json dosyası yerine biçimlendirme modeline eklenir.

displayName , özellik bölmesinde gösterilecek addır. description , kullanıcıya araç ipucu olarak gösterilecek biçimlendirme özelliğinin açıklamasıdır.

Özellikler

properties , geliştirici tarafından tanımlanan özelliklerin bir haritasıdır.

"properties": {
    "myFirstProperty": {
        "type": ValueTypeDescriptor | StructuralTypeDescriptor
    }
}

Dekont

show , bir anahtarın nesneyi değiştirmesini sağlayan özel bir özelliktir.

Örneğin:

"properties": {
    "show": {
        "type": {"bool": true}
    }
}

Özellik türleri

İki özellik türü vardır: ValueTypeDescriptor ve StructuralTypeDescriptor.

Değer türü tanımlayıcısı

ValueTypeDescriptor türleri çoğunlukla ilkeldir ve normalde statik nesne olarak kullanılır.

Yaygın ValueTypeDescriptor öğelerden bazıları şunlardır:

export interface ValueTypeDescriptor {
    text?: boolean;
    numeric?: boolean;
    integer?: boolean;
    bool?: boolean;
}

Yapısal tür tanımlayıcısı

StructuralTypeDescriptor türleri çoğunlukla veriye bağlı nesneler için kullanılır. En yaygın StructuralTypeDescriptor tür dolgudur.

export interface StructuralTypeDescriptor {
    fill?: FillTypeDescriptor;
}

Gradyan özelliği

Gradyan özelliği, standart özellik olarak ayarlanabilen bir özelliktir. Bunun yerine, renk seçici özelliğinin (dolgu türü) değiştirilmesi için bir kural ayarlamanız gerekir.

Aşağıdaki kodda bir örnek gösterilmiştir:

"properties": {
    "showAllDataPoints": {
        "type": {
            "bool": true
        }
    },
    "fill": {
        "type": {
            "fill": {
                "solid": {
                    "color": true
                }
            }
        }
    },
    "fillRule": {
        "type": {
            "fillRule": {}
        },
        "rule": {
            "inputRole": "Gradient",
            "output": {
                "property": "fill",
                    "selector": [
                        "Category"
                    ]
            }
        }
    }
}

fill ve fillRule özelliklerine dikkat edin. Birincisi renk seçici, ikincisi ise kural koşulları karşılandığında dolgu özelliğininvisually yerini alacak gradyanın değiştirme kuralıdır.

Fill özelliği ile değiştirme kuralı arasındaki bu bağlantı fillRule özelliğinin bölümünde ayarlanır"rule">"output".

"Rule">"InputRole" özellik, kuralı (koşul) tetikleyen veri rolünü ayarlar. Bu örnekte, veri rolü "Gradient" veri içeriyorsa, kural özelliği için "fill" uygulanır.

Doldurma kuralını (the last item) tetikleyen veri rolü örneği aşağıdaki kodda gösterilmiştir:

{
    "dataRoles": [
            {
                "name": "Category",
                "kind": "Grouping",
                "displayName": "Details",
                "displayNameKey": "Role_DisplayName_Details"
            },
            {
                "name": "Series",
                "kind": "Grouping",
                "displayName": "Legend",
                "displayNameKey": "Role_DisplayName_Legend"
            },
            {
                "name": "Gradient",
                "kind": "Measure",
                "displayName": "Color saturation",
                "displayNameKey": "Role_DisplayName_Gradient"
            }
    ]
}

Biçimlendirme bölmesi

Biçimlendirme bölmesindeki özellikleri özelleştirmek için, kullandığınız API sürümüne bağlı olarak aşağıdaki yöntemlerden birini kullanın.

Dekont

getFormattingModel API yöntemi, API 5.1+ sürümlerinde desteklenir. Hangi sürümü kullandığınızı öğrenmek için pbiviz.json dosyasını denetleyin apiVersion.

API sürüm 5.1+ ile nesneleri etkili bir şekilde kullanmak için yöntemini uygulamanız getFormattingModel gerekir.
Bu yöntem, biçimlendirme kartlarının, biçimlendirme gruplarının tam özellikler bölmesi hiyerarşisini içeren bir biçimlendirme modeli oluşturur ve döndürür; Ayrıca biçimlendirme özelliklerini ve değerlerini içerir.

Biçimlendirme modeline yansıtılan yetenek nesneleri

Biçimlendirme modelindeki her biçimlendirme özelliği, capabilities.json dosyasında karşılık gelen bir nesneye ihtiyaç duyar. Biçimlendirme özelliği, ilgili capabilities nesnesiyle tam olarak eşleşen bir nesne adına ve özellik adına sahip bir tanımlayıcı içermelidir (nesne ve özellik adları büyük/küçük harfe duyarlıdır).
Örneğin:

Biçimlendirme modelinde aşağıdaki biçimlendirme özelliği için (Tanımlayıcı nesne içeriğine bakın):

 const myCustomCard: powerbi.visuals.FormattingCard = {
            displayName: "My Custom Object Card",
            uid: "myCustomObjectCard_uid",
            groups: [{
                displayName: undefined,
                uid: "myCustomObjectGroup_uid",
                slices: [
                    {
                        uid: "myCustomProperty_uid",
                        displayName: "My Custom Property",
                        control: {
                            type: powerbi.visuals.FormattingComponent.ColorPicker,
                            properties: {
                                descriptor: {
                                    objectName: "myCustomObject",
                                    propertyName: "myCustomProperty",
                                    selector: null // selector is optional
                                },
                                value: { value: "#000000" }
                            }
                        }
                    }
                ],
            }],
        };

Yetenekler objects bölümünde karşılık gelen nesne şu şekilde olmalıdır:

    "objects": {
        "myCustomObject": {
            "properties": {
                "myCustomProperty": {
                    "type": {
                         "fill": {
                            "solid": {
                                "color": true
                            }
                        }
                    }
                }
            }
        }
    }           

Biçimlendirme özelliği seçicisi

Biçimlendirme özellikleri tanımlayıcısında isteğe bağlı seçici, her özelliğin dataView'da nereye bağlandığını belirler. Dört farklı seçenek vardır.

Örnek

Yukarıdaki myCustomCard örnekte, bir özelliği olan bir nesne için biçimlendirme modelindeki biçimlendirme özelliğinin nasıl görüneceği gösterilmektedir myCustomProperty. Bu özellik nesnesi statik olarak ile ilişkilidir.dataViews[index].metadata.objects Tanımlayıcıdaki seçici, seçtiğiniz seçici türüne göre değiştirilebilir.

Nesne seçici türleri

içindeki enumerateObjectInstances seçici, her nesnenin dataView'da nereye bağlı olduğunu belirler. Dört farklı seçenek vardır:

static

Bu nesne, burada gösterildiği gibi meta verilerine dataviews[index].metadata.objectsbağlıdır.

selector: null

sütunlar

Bu nesne, eşleşen QueryNameile sütunlara bağlıdır.

selector: {
    metadata: 'QueryName'
}

Seçici

Bu nesne, için oluşturduğunuz selectionID öğeye bağlıdır. Bu örnekte, bazı veri noktaları için bunları oluşturduğumuz selectionIDve bunlar arasında döngü yaptığımız varsayılır.

for (let dataPoint in dataPoints) {
    ...
    selector: dataPoint.selectionID.getSelector()
}

Kapsam kimliği

Bu nesne, grupların kesişiminde belirli değerlere bağlıdır. Örneğin, kategorileriniz ["Jan", "Feb", "March", ...] ve serileriniz ["Small", "Medium", "Large"]varsa, ve Largeile eşleşen Feb değerlerin kesişiminde bir nesne olmasını isteyebilirsiniz. Bunu başarmak için her iki sütunu da DataViewScopeIdentity alabilir, değişkenine identitiesgönderebilirsiniz ve seçici ile bu söz dizimini kullanabilirsiniz.

selector: {
    data: <DataViewScopeIdentity[]>identities
}

Performans ipuçları