Sdílet prostřednictvím


Konfigurace datových polí

Při vytváření vizualizace se vizuál vykreslí podle přiřazených datových polí. Tento článek ukazuje, jak používat rozhraní API pro vytváření sestav Power BI k interakci s datovými poli a jejich přiřazení k datovým rolím. K určení rolí dat, které vizuál má, použijte metodu getCapabilities.

Přidání datového pole

Pokud chcete přidat datové pole do role dat vizuálu, zavolejte addDataField metodu vizuálu.

addDataField(dataRole: string, dataField: models.IBaseTarget, index?: number): Promise<models.IError>

Tato metoda má následující proměnné:

  • dataRole – název role dat, ke které má být datové pole přiřazeno. Parametr dataRole odpovídá vlastnosti name role dat. K načtení dostupných datových rolí a názvů použijte metodu getCapabilities.
  • dataField – datové pole, které chcete přidat do role dat. Datové pole je cílový objekt, který může být sloupec, sloupec s agregací, mírou, hierarchií nebo hierarchií s agregací. Další informace ocílechch
  • index (volitelné) – index, do kterého se má přidat datové pole. Výchozí chování je pro pole, které se má přidat jako poslední.

Například:

const dataField = {
  $schema: "http://powerbi.com/product/schema#column",
  table: "Store",
  column: "Name"
};

await visual.addDataField('Category', dataField);

Získání datových polí

Pokud chcete získat seznam datových polí definovaných v roli dat, zavolejte getDataFields metodu vizuálu. Seznam bude obsahovat skrytá i viditelná pole.

getDataFields(dataRole: string): Promise<models.IBaseTarget>

Tato metoda má dataRole proměnnou, což je název role dat, ze které se mají načíst datová pole.

Například:

let dataField = await visual.getDataFields('Category');

Odebrání datových polí

Pokud chcete odebrat datové pole použité u role dat, zavolejte metodu removeDataField vizuálu.

removeDataField(dataRole: string, index: number): Promise<models.IError>

Tato metoda má následující parametry:

  • dataRole – název cílové role dat, ke které je datové pole přidruženo.
  • index – index datového pole, které chcete odstranit.

Například:

await visual.removeDataField('Category', 2);

Pokud chcete získat index datového pole, můžete použít index cíle v poli výsledků getDataFields.

Nastavení viditelnosti datového pole

K řízení viditelnosti datových polí použijte setFieldHidden metodu ve vizuálu. Skrytá nebo zobrazená mohou být pouze agregovaná pole, míry a vizuální výpočty. Tato akce odpovídá přepnutí viditelnosti polí v režimu úprav výpočtu vizuálu.

setFieldHidden(dataRole: string, index: number, isHidden: boolean): Promise<models.IError>

Tato metoda má následující parametry:

  • dataRole – název cílové role dat, ke které je datové pole přidruženo.
  • index - Index datového pole pro skrytí nebo zobrazení.
  • isHidden - Logická hodnota k určení, kde by měla být skrytá nebo ne

Například:

await visual.setFieldHidden('Values', 0, /*isHidden*/ true);

Nastavení řetězce formátu datového pole

Chcete-li formátovat zobrazená data z konkrétního pole, zavolejte setFieldFormatString metodu vizuálu.

setFieldFormatString(dataRole: string, index: number, formatString: string): Promise<models.IError>

Tato metoda má následující parametry:

  • dataRole – název cílové role dat, ke které je datové pole přidruženo.
  • index - Index datového pole pro nastavení řetězce formátu
  • formatString – Byl očekáván řetězec formátu .NET.

Například: Pokud chcete, aby každá hodnota v poli měla na začátku $, udělejte toto:

await visual.setFieldFormatString('Values', 0, /*formatString*/ "$0.00");

Získání řetězce formátu datového pole

Chcete-li načíst formátovací řetězec pole, zavolejte getFieldFormatString metodu vizuálu.

getFieldFormatString(dataRole: string, index: number): Promise<string>

Tato metoda má následující parametry:

  • dataRole – název cílové role dat, ke které je datové pole přidruženo.
  • index - Index datového pole pro získání řetězce formátu
let formatString = await visual.getFieldFormatString('Values', 0);

Získání názvu datového pole

Každé pole ve vizuálu má jedinečný název odvozený od jejího zobrazovaného názvu. Tento jedinečný identifikátor slouží k odkazování na pole v rámci výrazů DAX při vytváření vizuálních výpočtů. Chcete-li načíst tento jedinečný název, zavolejte getDataFieldName metodu vizuálu.

getDataFieldName(dataRole: string, index: number): Promise<string>

Tato metoda má následující parametry:

  • dataRole – název cílové role dat, ke které je datové pole přidruženo.
  • index - Index datového pole pro získání názvu pole
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;