Koşullu biçimlendirme ekleme
Koşullu biçimlendirme , rapor oluşturucusunda renklerin sayısal bir değere göre raporda nasıl görüntüleneceğini belirtmesine olanak tanır.
Bu makalede, Power BI görselinize koşullu biçimlendirme işlevinin nasıl ekleneceği açıklanmaktadır.
Şu anda koşullu biçimlendirme yalnızca renge uygulanabilir.
Projenize koşullu biçimlendirme ekleme
Bu bölümde, var olan bir Power BI görseline koşullu biçimlendirmenin nasıl ekleneceği gösterilmektedir. Bu makaledeki örnek kod, SampleBarChart görselini temel alır. Kaynak kodu barChart.ts inceleyebilirsiniz.
Biçim bölmesine koşullu renk biçimlendirme girdisi ekleme
Bu bölümde, biçim bölmesindeki bir veri noktasına koşullu renk biçimlendirme girdisi eklemeyi öğreneceksiniz.
propertyInstanceKind
tarafından kullanıma sunulanpowerbi-visuals-api
dizininiVisualObjectInstance
kullanın. Dosyanızın şu içeri aktarmayı içerdiğini doğrulayın:import powerbiVisualsApi from "powerbi-visuals-api";
Uygun biçimlendirme türünü (Constant, ConstantOrRule veya Rule) belirtmek için sabit listesini
VisualEnumerationInstanceKinds
kullanın. Dosyanıza aşağıdaki içeri aktarmayı ekleyin:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Biçimlendirme özelliği örneği türünü ayarlama
Koşullu biçimlendirmeyi destekleyen özellikleri biçimlendirmek için, içinde descriptor
gerekli örnek türünü ayarlayın.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule // <=== Support conditional formatting
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
VisualEnumerationInstanceKinds.ConstantOrRule
, sabit biçimlendirme ui öğesinin yanı sıra koşullu biçimlendirme kullanıcı arabirimi girdisini oluşturur.
Koşullu biçimlendirmenin nasıl davranacağını tanımlama
Biçimlendirmenin veri noktalarınıza nasıl uygulanacağını tanımlayın.
createDataViewWildcardSelector
altında powerbi-visuals-utils-dataviewutils
bildirilen kullanarak örneklere, toplamlara veya her ikisine koşullu biçimlendirme uygulanıp uygulanmayacağını belirtin. Daha fazla bilgi için bkz . DataViewWildcard.
Koşullu biçimlendirme uygulamak istediğiniz özelliklerde aşağıdaki değişiklikleri yapın:
selector
değerini çağrısıyladataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
değiştirin.DataViewWildcardMatchingOption
, koşullu biçimlendirmenin örneklere, toplamlara veya her ikisine de uygulanıp uygulanmadığını tanımlar.altConstantValueSelector
özelliği için önceden tanımlanmış değeriyleselector
özelliğini ekleyin.
Koşullu biçimlendirmeyi destekleyen biçimlendirme özellikleri için, içinde descriptor
gerekli örnek türünü ayarlayın.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
// Define whether the conditional formatting will apply to instances, totals, or both
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
// Add this property with the value previously defined for the selector property
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
Dikkat edilecekler ve sınırlamalar
Koşullu biçimlendirme aşağıdaki görseller için desteklenmez:
Tablo tabanlı görseller
Matris tabanlı görseller
Serilerle koşullu biçimlendirme kullanmamanızı öneririz. Bunun yerine, müşterilerin her seriyi ayrı ayrı biçimlendirmesine izin vererek serileri görsel olarak ayırt etmelerini kolaylaştırmalısınız. Serilerle birlikte kullanıma uygun görsellerin çoğu bu yaklaşımı paylaşır.