Aracılığıyla paylaş


Veri alanlarını yapılandırma

Görselleştirme oluşturduğunuzda, görsel atanan veri alanlarına göre işlenir. Bu makalede, veri alanlarıyla etkileşime geçmek ve bunları veri rollerine atamak için Power BI rapor yazma API'lerinin nasıl kullanılacağı gösterilmektedir. Görselin hangi veri rollerine sahip olduğunu belirlemek için getCapabilities yöntemini kullanın.

Veri alanı ekleme

Görsel veri rolüne veri alanı eklemek için görselin addDataField yöntemini çağırın.

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

Bu yöntem aşağıdaki değişkenlere sahiptir:

  • dataRole - Veri alanının atanması gereken veri rolünün adı. dataRole parametresi, veri rolü name özelliğine eşdeğerdir. Kullanılabilir veri rollerini ve adlarını almak için getCapabilities yöntemini kullanın.
  • dataField - Veri rolüne eklenecek veri alanı. Veri alanı, toplama, ölçü, hiyerarşi veya toplama içeren hiyerarşi içeren bir sütun, sütun olabilecek bir hedef nesnedir. Hedefler hakkında daha fazla bilgi için bkz. üzerinde işlem yapmak istediğiniz veri alanını seçmek için hedefleri kullanma .
  • index (isteğe bağlı) - Veri alanının eklenmesi gereken dizin. Varsayılan davranış, alanın en son eklenmesidir.

Mesela:

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

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

Veri alanlarını alma

Veri rolünde tanımlanan veri alanlarının listesini almak için görselin getDataFields yöntemini çağırın. Listede hem gizli hem de görünür alanlar bulunur.

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

Bu yöntem, veri alanlarının alındığı veri rolünün adı olan dataRole değişkenine sahiptir.

Mesela:

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

Veri alanlarını kaldırma

Veri rolüne uygulanan bir veri alanını kaldırmak için görselin removeDataField yöntemini çağırın.

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

Bu yöntem aşağıdaki parametrelere sahiptir:

  • dataRole - Veri alanının ilişkilendirildiği hedef veri rolünün adı.
  • index - Silinecek veri alanının dizini.

Mesela:

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

Veri alanının dizinini almak için, getDataFields sonuçları dizisindeki hedefin dizinini kullanabilirsiniz.

Veri alanının görünürlüğünü ayarlama

Veri alanlarının görünürlüğünü denetlemek için görseldeki setFieldHidden yöntemini kullanın. Yalnızca toplanan alanlar, ölçüler ve görsel hesaplamalar gizlenebilir veya gösterilebilir. Bu eylem, Görsel Hesaplama Düzenleme Modu'ndayken alan görünürlüğünü değiştirmekle eşdeğerdir.

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

Bu yöntem aşağıdaki parametrelere sahiptir:

  • dataRole - Veri alanının ilişkilendirildiği hedef veri rolünün adı.
  • index - Gizlenecek veya gösterilmeyen veri alanının dizini.
  • isHidden - Nerede gizlenmesi gerektiğini veya gizlenmemesi gerektiğini belirlemek için Boole değeri

Mesela:

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

Veri alanının biçim dizesini ayarlama

Belirli bir alandan görüntülenen verileri biçimlendirmek için görselin setFieldFormatString yöntemini çağırın.

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

Bu yöntem aşağıdaki parametrelere sahiptir:

  • dataRole - Veri alanının ilişkilendirildiği hedef veri rolünün adı.
  • index - Biçim dizesini ayarlamak için veri alanının dizini
  • formatString - .NET biçim dizesi bekleniyor

Örneğin: Alandaki her değerin başlangıçta $ olmasını istiyorsanız, şunu yapın:

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

Veri alanının biçim dizesini alma

Bir alanın biçim dizesini almak için görselin getFieldFormatString yöntemini çağırın.

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

Bu yöntem aşağıdaki parametrelere sahiptir:

  • dataRole - Veri alanının ilişkilendirildiği hedef veri rolünün adı.
  • index - Biçim dizesini almak için veri alanının dizini
let formatString = await visual.getFieldFormatString('Values', 0);

Veri alanının adını alma

Görseldeki her alanın görünen adından türetilmiş benzersiz bir adı vardır. Bu benzersiz tanımlayıcı, görsel hesaplamaları oluştururken DAX ifadelerindeki alana başvurmak için kullanılır. Bu benzersiz adı almak için görselin getDataFieldName yöntemini çağırın.

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

Bu yöntem aşağıdaki parametrelere sahiptir:

  • dataRole - Veri alanının ilişkilendirildiği hedef veri rolünün adı.
  • index - Alan adını almak için veri alanının dizini
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;