Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Power BI'da bir raporu düzenlerken, Görselleştirmeler bölmesindeki Biçim seçeneğini kullanarak rapordaki her görseli özelleştirebilirsiniz. Her görselleştirmenin başlık, gösterge, arka plan ve araç ipucu gibi birçok öğesini özelleştirebilirsiniz. Power BI rapor yazma API'leriyle, Power BI Düzenleme moduna gerek kalmadan görsel özelliklerini program aracılığıyla alabilir, ayarlayabilir veya sıfırlayabilirsiniz.
Görsel özellikleri API'lerini kullanarak bir görseli biçimlendirmek için, biçimlendirmek istediğiniz görseli almanız gerekir. Rapordaki tüm görsellerin listesini almak için sınıfının Page yöntemini kullanın.
Biçim nesnesini ve özelliğini seçme
Almak, ayarlamak veya sıfırlamak istediğiniz özelliği seçmek için, objectName ve propertyNameiçeren bir IVisualPropertySelector örneği tanımlamanız gerekir.
export interface IVisualPropertySelector {
objectName: string;
propertyName: string;
}
- objectName: nesnenin adı (örneğin: "title").
- propertyName: nesne içindeki özelliğin adı (örneğin: "titleText").
Kullanıma hazır görseller için kullanılabilir özellikler
Hazır görseller, varsayılan olarak Görselleştirme bölmesinde görünen Power BI görselleridir.
| Nesne adı | Özellik adı | Tür |
|---|---|---|
| araç ipucu | ||
| Görünür | Boolean | |
| valueColor | Onaltılık renk, IThemeColorProperty | |
| labelColor | Onaltılık renk, IThemeColorProperty | |
| textSize | Sayı | |
| fontFamily | Dizgi | |
| backgroundColor | Onaltılık renk, IThemeColorProperty | |
| şeffaflık | Sayı | |
| arka plan | ||
| Görünür | Boolean | |
| Renk | Onaltılık renk, IThemeColorProperty | |
| şeffaflık | Sayı | |
| visualHeader | ||
| Görünür | Boolean | |
| backgroundColor | Onaltılık renk, IThemeColorProperty | |
| sınır | Onaltılık renk, IThemeColorProperty | |
| şeffaflık | Sayı | |
| iconColor | Onaltılık renk, IThemeColorProperty | |
| sınır | ||
| Görünür | Boolean | |
| Renk | Onaltılık renk, IThemeColorProperty | |
| yarıçap | Sayı | |
| lockAspect | ||
| Etkin | Boolean | |
| başlık | ||
| Görünür | Boolean | |
| Hizalama | Dize (TextAlignment) | |
| fontColor | Onaltılık renk, IThemeColorProperty | |
| textSize | Sayı | |
| fontFamily | Dizgi | |
| backgroundColor | Onaltılık renk, IThemeColorProperty | |
| titleText | Dizgi | |
| efsane | ||
| Görünür | Boolean | |
| konum | Dize (LegendPosition) | |
| dataLabels | ||
| Görünür | Boolean | |
| categoryAxis | ||
| Görünür | Boolean | |
| valueAxis | ||
| Görünür | Boolean |
Özel görseller için Kullanılabilir Özellikler
Özel görsel oluşturucular özelliklerini tanımlar, bu nedenle objectName ve propertyNamebulmak için özel görsel kaynak kodunu denetlemeniz gerekir.
Özel görsel kodu açık kaynaklıdır ve depoları GitHub'da bulunabilir.
Örneğin: Mekko Chartsrc/visual.ts dosyasında, tanımlanan Özelliklergörebilirsiniz.
Mekko Grafiği özel görselin tanımlı özellikleri aşağıda listelenmiştir.
Not
Bu liste, Ocak 2021'de özel görselin kaynak kodu
public static Properties: MekkoChartProperties = <MekkoChartProperties>{
dataPoint: {
defaultColor: { objectName: "dataPoint", propertyName: "defaultColor" },
fill: { objectName: "dataPoint", propertyName: "fill" },
showAllDataPoints: { objectName: "dataPoint", propertyName: "showAllDataPoints" },
categoryGradient: { objectName: "dataPoint", propertyName: "categoryGradient" },
colorGradientEndColor: { objectName: "dataPoint", propertyName: "colorGradientEndColor" },
colorDistribution: { objectName: "dataPoint", propertyName: "colorDistribution" }
},
columnBorder: {
show: { objectName: "columnBorder", propertyName: "show", },
color: { objectName: "columnBorder", propertyName: "color" },
width: { objectName: "columnBorder", propertyName: "width" }
},
sortSeries: {
enabled: { objectName: "sortSeries", propertyName: "enabled", },
direction: { objectName: "sortSeries", propertyName: "direction" },
displayPercents: { objectName: "sortSeries", propertyName: "displayPercents" }
},
sortLegend: {
enabled: { objectName: "sortLegend", propertyName: "enabled", },
direction: { objectName: "sortLegend", propertyName: "direction" },
groupByCategory: { objectName: "sortLegend", propertyName: "groupByCategory" },
groupByCategoryDirection: { objectName: "sortLegend", propertyName: "groupByCategoryDirection" }
},
xAxisLabels: {
enableRotataion: { objectName: "xAxisLabels", propertyName: "enableRotataion", },
},
categoryColors: {
color: { objectName: "categoryColors", propertyName: "color" },
}
};
Not
dataPoint nesnesi desteklenmiyor.
Özellik değerini tanımlama
Özellik değeri bir IVisualPropertyValue nesnesiyle temsil edilir.
export interface IVisualPropertyValue {
schema?: string;
value: any;
}
şema
- Değerin türünü tanımlar. Kullanılabilir iki şema vardır: Özellik şeması: özelliği tanımlamak için kullanılan
"http://powerbi.com/product/schema#property".Varsayılan şema: varsayılan değeri tanımlamak için kullanılan
"http://powerbi.com/product/schema#default".
değeri - Özelliğine atamak istediğiniz değerdir.
Özellik değeri türleri
Bu bölümde yapılandırabileceğiniz özellik değeri türleri listelenir.
Color özelliği değeri
Renk özelliği değeri, örneğin mavi renk için #0000FF onaltılık bir renk (dize) veya rapor teması renk ayarlamak için IThemeColorProperty olabilir.
interface IThemeColorProperty {
id: number;
shade: number;
}
- kimliği - Tema renginin kimliği
- gölge
- Renk gölgesinin yüzdesini tanımlar, değerler -1'den 1'e kadar olabilir.
Örneğin, aşağıda gösterildiği gibi Tema rengi 2, 50% daha koyutanımlamak için, IThemeColorProperty nesnesi aşağıdaki gibi tanımlanmalıdır:
let themeColorProperty = {
id: 2,
shade: -0.5
};
Metin hizalama özelliği değeri
Metin hizalamasını tanımlar
const TextAlignment = {
Left: 'left',
Center: 'center',
Right: 'right',
};
Gösterge konumu özellik değeri
Görseldeki gösterge konumunu tanımlar
const LegendPosition = {
Top: 'Top',
Bottom: 'Bottom',
Right: 'Right',
Left: 'Left',
TopCenter: 'TopCenter',
BottomCenter: 'BottomCenter',
RightCenter: 'RightCenter',
LeftCenter: 'LeftCenter',
};
Varsayılan özellik değeri
Özellik varsayılan değerini tanımlamak için kullanılan değer. Örneğin, başlığı görselin otomatik olarak oluşturulan başlığına ayarlayabilirsiniz.
interface IDefaultProperty {
}
Bir özellik değiştirilmediyse (kullanıcı arabirimi veya API kullanılarak), değeri hem getProperty hem de setProperty yöntemlerinde IDefaultPropertyolarak tanımlanır.
Varsayılan özellik değeri aşağıdaki gibi tanımlanmalıdır:
const defaultValue = {
schema: "http://powerbi.com/product/schema#default",
value: {}
};
Özellikler API'leri
Bu bölümde, görsel özellikleri biçimlendirmek için kullanılan API'ler listelenir.
Özellik alınıyor
Özellik seçiciye göre bir görselin özellik değerini alın.
getProperty(selector: IVisualPropertySelector): Promise<IVisualPropertyValue>
Mesela:
const selector = { ... };
let propertyValue = await visual.getProperty(selector);
Özellik ayarlama
Özellik seçiciye göre bir görsele özellik değeri ayarlayın.
setProperty(selector: IVisualPropertySelector, value: IVisualPropertyValue): Promise<void>
Mesela:
const selector = { ... };
const propertyValue = { ... };
await visual.setProperty(selector, propertyValue);
Özelliği sıfırlama
Özellik seçiciye göre bir görselin özellik değerini sıfırlarsanız, bu özellik varsayılan değerine döndürülecektir; örneğin, başlığı görselin otomatik olarak oluşturulan başlığına ayarlayabilirsiniz.
resetProperty(selector: IVisualPropertySelector): Promise<void>
Mesela:
const selector = { ... };
await visual.resetProperty(selector);
Tam örnek
Aşağıda, VisualContainer1 (benzersiz identifer) adıyla görselin başlığını ortaya hizalama örneğini görebilirsiniz.
let pages = await report.getPages()
// Retrieve the active page.
let activePage = pages.find(function (page) {
return page.isActive
});
let visuals = await activePage.getVisuals();
// Retrieve the wanted visual. (replace "VisualContainer1" with the requested visual name)
let visual = visuals.find(function (visual) {
return visual.name === "VisualContainer1";
});
// Build a selector for title alignment
const selector = {
objectName: "title",
propertyName: "alignment"
};
// Build the property value
const propertyValue = {
schema: "http://powerbi.com/product/schema#property",
value: models.TextAlignment.Center
};
await visual.setProperty(selector, propertyValue);