Udostępnij za pomocą


Konfigurowanie pól danych

Podczas tworzenia wizualizacji wizualizacja jest renderowana zgodnie z przypisanymi polami danych. W tym artykule pokazano, jak używać interfejsów API tworzenia raportów usługi Power BI do interakcji z polami danych i przypisywania ich do ról danych. Aby określić, jakie role danych ma wizualizacja, użyj metody getCapabilities.

Dodawanie pola danych

Aby dodać pole danych do roli danych wizualnych, wywołaj metodę addDataField wizualizacji.

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

Ta metoda ma następujące zmienne:

  • dataRole — nazwa roli danych, do której ma zostać przypisane pole danych. Parametr dataRole jest odpowiednikiem właściwości name roli danych. Aby pobrać dostępne role danych i nazwy, użyj metody getCapabilities.
  • dataField — pole danych, które ma zostać dodane do roli danych. Pole danych jest obiektem docelowym, który może być kolumną, kolumną z agregacją, miarą, hierarchią lub hierarchią z agregacją. Aby uzyskać więcej informacji na temat obiektów docelowych, zobacz Use targets to select which data field to act on.
  • index (opcjonalnie) — indeks, w którym należy dodać pole danych. Domyślne zachowanie dotyczy pola, które ma zostać dodane ostatnio.

Na przykład:

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

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

Pobieranie pól danych

Aby uzyskać listę pól danych zdefiniowanych w roli danych, wywołaj metodę getDataFields wizualizacji. Lista będzie zawierać zarówno ukryte, jak i widoczne pola.

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

Ta metoda ma zmienną dataRole, która jest nazwą roli danych, z której mają być pobierane pola danych.

Na przykład:

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

Usuwanie pól danych

Aby usunąć pole danych zastosowane do roli danych, wywołaj metodę removeDataField wizualizacji.

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

Ta metoda ma następujące parametry:

  • dataRole — nazwa roli danych docelowych, z którą jest skojarzone pole danych.
  • index — indeks pola danych do usunięcia.

Na przykład:

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

Aby uzyskać indeks pola danych, możesz użyć indeksu obiektu docelowego w tablicy wyników getDataFields.

Ustawianie widoczności pola danych

Aby kontrolować widoczność pól danych, użyj setFieldHidden metody w wizualizacji. Tylko zagregowane pola, miary i obliczenia wizualne mogą być ukryte lub wyświetlane. Ta akcja jest odpowiednikiem przełączania widoczności pola w trybie edycji obliczeń wizualnych.

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

Ta metoda ma następujące parametry:

  • dataRole — nazwa roli danych docelowych, z którą jest skojarzone pole danych.
  • index - Indeks pola danych do ukrycia lub ukrycia.
  • isHidden - Wartość logiczna określająca, gdzie powinna być ukryta, czy nie

Na przykład:

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

Ustawianie ciągu formatu pola danych

Aby sformatować wyświetlane dane z określonego pola, wywołaj setFieldFormatString metodę wizualizacji.

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

Ta metoda ma następujące parametry:

  • dataRole — nazwa roli danych docelowych, z którą jest skojarzone pole danych.
  • index - Indeks pola danych, aby ustawić ciąg formatu
  • formatString — Oczekiwano ciągu formatu .NET

Na przykład: Jeśli chcesz, aby każda wartość w polu miała wartość $ na początku, wykonaj następujące czynności:

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

Pobieranie ciągu formatu pola danych

Aby pobrać ciąg formatu pola, wywołaj getFieldFormatString metodę wizualizacji.

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

Ta metoda ma następujące parametry:

  • dataRole — nazwa roli danych docelowych, z którą jest skojarzone pole danych.
  • index - Indeks pola danych w celu pobrania ciągu formatu
let formatString = await visual.getFieldFormatString('Values', 0);

Pobieranie nazwy pola danych

Każde pole w wizualizacji ma unikatową nazwę pochodzącą z jego nazwy wyświetlanej. Ten unikatowy identyfikator służy do odwołowania się do pola w wyrażeniach języka DAX podczas tworzenia obliczeń wizualnych. Aby pobrać tę unikatową nazwę, wywołaj metodę getDataFieldName wizualizacji.

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

Ta metoda ma następujące parametry:

  • dataRole — nazwa roli danych docelowych, z którą jest skojarzone pole danych.
  • index - Indeks pola danych, aby uzyskać nazwę pola
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;