Eğitim
Öğrenme yolu
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
DataViewUtils
, Power BI görselleri için DataView nesnesini ayrıştırma işlemini basitleştiren bir işlev ve sınıf kümesidir.
Paketi yüklemek için geçerli özel görselinizle dizinde aşağıdaki komutu çalıştırın:
npm install powerbi-visuals-utils-dataviewutils --save
Bu komut paketi yükler ve dosyanıza package.json
bağımlılık olarak bir paket ekler.
DataViewWildcard
özelliğin koşullu biçimlendirmesini createDataViewWildcardSelector
desteklemek için işlevi sağlar.
createDataViewWildcardSelector
, biçim bölmesindeki koşullu biçimlendirme girişinin temel alınarak dataviewWildcardMatchingOption (InstancesAndTotals (default), InstancesOnly, TotalsOnly)
nasıl uygulanacağını tanımlamak için gereken seçiciyi döndürür.
Örnek:
import { dataViewWildcard } from "powerbi-visuals-utils-dataviewutils";
let selector = dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals);
// returns {data: [{dataViewWildcard:{matchingOption: 0}}]};
, DataRoleHelper
dataView nesnesinin rollerini denetlemek için işlevler sağlar.
Modül aşağıdaki işlevleri sağlar:
Bu işlev, ölçüyü rol adına göre bulur ve dizinini döndürür.
function getMeasureIndexOfRole(grouped: DataViewValueColumnGroup[], roleName: string): number;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewValueColumnGroup = powerbi.DataViewValueColumnGroup;
import { dataRoleHelper } from "powerbi-visuals-utils-dataviewutils";
// ...
// This object is actually a part of the dataView object.
let columnGroup: DataViewValueColumnGroup[] = [{
values: [
{
source: {
displayName: "Microsoft",
roles: {
"company": true
}
},
values: []
},
{
source: {
displayName: "Power BI",
roles: {
"product": true
}
},
values: []
}
]
}];
dataRoleHelper.getMeasureIndexOfRole(columnGroup, "product");
// returns: 1
Bu işlev kategoriyi rol adına göre bulur ve dizinini döndürür.
function getCategoryIndexOfRole(categories: DataViewCategoryColumn[], roleName: string): number;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewCategoryColumn = powerbi.DataViewCategoryColumn;
import { dataRoleHelper } from "powerbi-visuals-utils-dataviewutils";
// ...
// This object is actually a part of the dataView object.
let categoryGroup: DataViewCategoryColumn[] = [
{
source: {
displayName: "Microsoft",
roles: {
"company": true
}
},
values: []
},
{
source: {
displayName: "Power BI",
roles: {
"product": true
}
},
values: []
}
];
dataRoleHelper.getCategoryIndexOfRole(categoryGroup, "product");
// returns: 1
Bu işlev, sağlanan rolün meta verilerde tanımlandığını denetler.
function hasRole(column: DataViewMetadataColumn, name: string): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewMetadataColumn = powerbi.DataViewMetadataColumn;
import { dataRoleHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let metadata: DataViewMetadataColumn = {
displayName: "Microsoft",
roles: {
"company": true
}
};
DataRoleHelper.hasRole(metadata, "company");
// returns: true
Bu işlev, sağlanan rolün dataView'da tanımlandığını denetler.
function hasRoleInDataView(dataView: DataView, name: string): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataView = powerbi.DataView;
import { dataRoleHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let dataView: DataView = {
metadata: {
columns: [
{
displayName: "Microsoft",
roles: {
"company": true
}
},
{
displayName: "Power BI",
roles: {
"product": true
}
}
]
}
};
DataRoleHelper.hasRoleInDataView(dataView, "product");
// returns: true
Bu işlev, sağlanan rolün değer sütununda tanımlandığını denetler.
function hasRoleInValueColumn(valueColumn: DataViewValueColumn, name: string): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewValueColumn = powerbi.DataViewValueColumn;
import { dataRoleHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let valueColumn: DataViewValueColumn = {
source: {
displayName: "Microsoft",
roles: {
"company": true
}
},
values: []
};
dataRoleHelper.hasRoleInValueColumn(valueColumn, "company");
// returns: true
, DataViewObjects
nesnelerin değerlerini ayıklamak için işlevler sağlar.
Modül aşağıdaki işlevleri sağlar:
Bu işlev, belirli bir nesnenin değerini döndürür.
function getValue<T>(objects: DataViewObjects, propertyId: DataViewObjectPropertyIdentifier, defaultValue?: T): T;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewObjectPropertyIdentifier = powerbi.DataViewObjectPropertyIdentifier;
import { dataViewObjects } from "powerbi-visuals-utils-dataviewutils";
let property: DataViewObjectPropertyIdentifier = {
objectName: "microsoft",
propertyName: "bi"
};
// This object is actually a part of the dataView object.
let objects: powerbi.DataViewObjects = {
"microsoft": {
"windows": 5,
"bi": "Power"
}
};
dataViewObjects.getValue(objects, property);
// returns: Power
Bu işlev, belirtilen nesnelerden bir nesne döndürür.
function getObject(objects: DataViewObjects, objectName: string, defaultValue?: IDataViewObject): IDataViewObject;
Örnek:
import { dataViewObjects } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let objects: powerbi.DataViewObjects = {
"microsoft": {
"windows": 5,
"bi": "Power"
}
};
dataViewObjects.getObject(objects, "microsoft");
/* returns: {
"bi": "Power",
"windows": 5
}*/
Bu işlev, nesnelerin düz bir rengini döndürür.
function getFillColor(objects: DataViewObjects, propertyId: DataViewObjectPropertyIdentifier, defaultColor?: string): string;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewObjectPropertyIdentifier = powerbi.DataViewObjectPropertyIdentifier;
import { dataViewObjects } from "powerbi-visuals-utils-dataviewutils";
let property: DataViewObjectPropertyIdentifier = {
objectName: "power",
propertyName: "fillColor"
};
// This object is actually part of the dataView object.
let objects: powerbi.DataViewObjects = {
"power": {
"fillColor": {
"solid": {
"color": "yellow"
}
},
"bi": "Power"
}
};
dataViewObjects.getFillColor(objects, property);
// returns: yellow
Bu evrensel işlev belirli bir nesnenin rengini veya değerini alır.
function getCommonValue(objects: DataViewObjects, propertyId: DataViewObjectPropertyIdentifier, defaultValue?: any): any;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewObjectPropertyIdentifier = powerbi.DataViewObjectPropertyIdentifier;
import { dataViewObjects } from "powerbi-visuals-utils-dataviewutils";
let colorProperty: DataViewObjectPropertyIdentifier = {
objectName: "power",
propertyName: "fillColor"
};
let biProperty: DataViewObjectPropertyIdentifier = {
objectName: "power",
propertyName: "bi"
};
// This object is actually part of the dataView object.
let objects: powerbi.DataViewObjects = {
"power": {
"fillColor": {
"solid": {
"color": "yellow"
}
},
"bi": "Power"
}
};
dataViewObjects.getCommonValue(objects, colorProperty); // returns: yellow
dataViewObjects.getCommonValue(objects, biProperty); // returns: Power
, DataViewObject
nesnesinin değerini ayıklamak için işlevler sağlar.
Modül aşağıdaki işlevleri sağlar:
Bu işlev, özellik adına göre nesnenin değerini döndürür.
function getValue<T>(object: IDataViewObject, propertyName: string, defaultValue?: T): T;
Örnek:
import { dataViewObject } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let object: powerbi.DataViewObject = {
"windows": 5,
"microsoft": "Power BI"
};
dataViewObject.getValue(object, "microsoft");
// returns: Power BI
Bu işlev, nesnenin özellik adına göre düz bir rengini döndürür.
function getFillColorByPropertyName(object: IDataViewObject, propertyName: string, defaultColor?: string): string;
Örnek:
import { dataViewObject } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let object: powerbi.DataViewObject = {
"windows": 5,
"fillColor": {
"solid": {
"color": "green"
}
}
};
dataViewObject.getFillColorByPropertyName(object, "fillColor");
// returns: green
, converterHelper
dataView'ın özelliklerini denetlemek için işlevler sağlar.
Modül aşağıdaki işlevleri sağlar:
Bu işlev, kategorinin aynı zamanda bir seri olup olmadığını denetler.
function categoryIsAlsoSeriesRole(dataView: DataViewCategorical, seriesRoleName: string, categoryRoleName: string): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewCategorical = powerbi.DataViewCategorical;
import { converterHelper } from "powerbi-visuals-utils-dataviewutils";
// ...
// This object is actually part of the dataView object.
let categorical: DataViewCategorical = {
categories: [{
source: {
displayName: "Microsoft",
roles: {
"power": true,
"bi": true
}
},
values: []
}]
};
converterHelper.categoryIsAlsoSeriesRole(categorical, "power", "bi");
// returns: true
Bu işlev serinin adını döndürür.
function getSeriesName(source: DataViewMetadataColumn): PrimitiveValue;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewMetadataColumn = powerbi.DataViewMetadataColumn;
import { converterHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let metadata: DataViewMetadataColumn = {
displayName: "Microsoft",
roles: {
"power": true,
"bi": true
},
groupName: "Power BI"
};
converterHelper.getSeriesName(metadata);
// returns: Power BI
Bu işlev, sütunun görüntü URL'si içerip içermediğini denetler.
function isImageUrlColumn(column: DataViewMetadataColumn): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewMetadataColumn = powerbi.DataViewMetadataColumn;
import { converterHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let metadata: DataViewMetadataColumn = {
displayName: "Microsoft",
type: {
misc: {
imageUrl: true
}
}
};
converterHelper.isImageUrlColumn(metadata);
// returns: true
Bu işlev, sütunun web URL'si içerip içermediğini denetler.
function isWebUrlColumn(column: DataViewMetadataColumn): boolean;
Örnek:
import powerbi from "powerbi-visuals-api";
import DataViewMetadataColumn = powerbi.DataViewMetadataColumn;
import { converterHelper } from "powerbi-visuals-utils-dataviewutils";
// This object is actually a part of the dataView object.
let metadata: DataViewMetadataColumn = {
displayName: "Microsoft",
type: {
misc: {
webUrl: true
}
}
};
converterHelper.isWebUrlColumn(metadata);
// returns: true
Bu işlev dataView'da resim URL'si olan bir sütun olup olmadığını denetler.
function hasImageUrlColumn(dataView: DataView): boolean;
Örnek:
import DataView = powerbi.DataView;
import converterHelper = powerbi.extensibility.utils.dataview.converterHelper;
// This object is actually part of the dataView object.
let dataView: DataView = {
metadata: {
columns: [
{
displayName: "Microsoft"
},
{
displayName: "Power BI",
type: {
misc: {
imageUrl: true
}
}
}
]
}
};
converterHelper.hasImageUrlColumn(dataView);
// returns: true
, DataViewObjectsParser
biçimlendirme panelinin özelliklerini ayrıştırmak için en basit yolu sağlar.
sınıfı aşağıdaki yöntemleri sağlar:
Bu statik yöntem DataViewObjectsParser'ın bir örneğini döndürür.
static getDefault(): DataViewObjectsParser;
Örnek:
import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
// ...
dataViewObjectsParser.getDefault();
// returns: an instance of the DataViewObjectsParser
Bu yöntem, biçimlendirme panelinin özelliklerini ayrıştırarak bir örneğini DataViewObjectsParser
döndürür.
static parse<T extends DataViewObjectsParser>(dataView: DataView): T;
Örnek:
import powerbi from "powerbi-visuals-api";
import IVisual = powerbi.extensibility.IVisual;
import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
/**
* This class describes formatting panel properties.
* Name of the property should match its name described in the capabilities.
*/
class DataPointProperties {
public fillColor: string = "red"; // This value is a default value of the property.
}
class PropertiesParser extends dataViewObjectsParser.DataViewObjectsParser {
/**
* This property describes a group of properties.
*/
public dataPoint: DataPointProperties = new DataPointProperties();
}
export class YourVisual extends IVisual {
// implementation of the IVisual.
private propertiesParser: PropertiesParser;
public update(options: VisualUpdateOptions): void {
// Parses properties.
this.propertiesParser = PropertiesParser.parse<PropertiesParser>(options.dataViews[0]);
// You can use the properties after parsing
console.log(this.propertiesParser.dataPoint.fillColor); // returns "red" as default value, it will be updated automatically after any change of the formatting panel.
}
}
Önemli
enumerateObjectInstances
API sürüm 5.1'de kullanım dışı bırakıldı. GetFormattingModel ile değiştirildi.
Ayrıca bkz . FormattingModel yardımcı programları.
Bu statik yöntem özellikleri numaralandırır ve bir örneğini VisualObjectInstanceEnumeration
döndürür.
Görselin enumerateObjectInstances
yönteminde yürütür.
static enumerateObjectInstances(dataViewObjectParser: dataViewObjectsParser.DataViewObjectsParser, options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration;
Örnek:
import powerbi from "powerbi-visuals-api";
import IVisual = powerbi.extensibility.IVisual;
import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions;
import VisualObjectInstanceEnumeration = powerbi.VisualObjectInstanceEnumeration;
import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
/**
* This class describes formatting panel properties.
* Name of the property should match its name described in the capabilities.
*/
class DataPointProperties {
public fillColor: string = "red";
}
class PropertiesParser extends dataViewObjectsParser.DataViewObjectsParser {
/**
* This property describes a group of properties.
*/
public dataPoint: DataPointProperties = new DataPointProperties();
}
export class YourVisual extends IVisual {
// implementation of the IVisual.
private propertiesParser: PropertiesParser;
public update(options: VisualUpdateOptions): void {
// Parses properties.
this.propertiesParser = PropertiesParser.parse<PropertiesParser>(options.dataViews[0]);
}
/**
* This method will be executed only if the formatting panel is open.
*/
public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {
return PropertiesParser.enumerateObjectInstances(this.propertiesParser, options);
}
}
Eğitim
Öğrenme yolu
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Belgeler
Power BI görselinde biçimlendirme yardımcı programları kullanmaya giriş - Power BI
Power BI görsellerindeki değerleri biçimlendirmek ve değerlere yerelleştirme uygulamak için biçimlendirme yardımcı programlarının nasıl kullanılacağını öğrenin.
Power BI görselleri etkileşim yardımcı programları - Power BI
Etkileşim yardımcı programlarının Power BI görsellerinizde çapraz seçim ve çapraz filtreleme uygulamalarını basitleştirmeye nasıl yardımcı olabileceğini öğrenin.
Power BI görselinde grafik yardımcı programları kullanmaya giriş - Power BI
Power BI görsellerinde eksenler, veri etiketleri ve göstergeler çizmeye yönelik grafik yardımcı programları arabirimleri ve yöntemleri hakkında bilgi edinin.