Configurar campos de datos
Al crear una visualización, el objeto visual se representa según los campos de datos asignados. En este artículo se muestra cómo usar las API de creación de informes de Power BI para interactuar con campos de datos y asignarlas a roles de datos. Para determinar qué roles de datos tiene un objeto visual, use el método getCapabilities
.
Agregar un campo de datos
Para agregar un campo de datos a un rol de datos visual, llame al método addDataField
del objeto visual.
addDataField(dataRole: string, dataField: models.IBaseTarget, index?: number): Promise<models.IError>
Este método tiene las siguientes variables:
-
dataRole
: el nombre del rol de datos al que se debe asignar el campo de datos. El parámetrodataRole
es equivalente al rol de datosname
propiedad. Para recuperar los nombres y roles de datos disponibles, use el métodogetCapabilities
. -
dataField
: campo de datos que se va a agregar al rol de datos. El campo de datos es un objeto de destino, que puede ser una columna, columna con agregación, medida, jerarquía o jerarquía con agregación. Para obtener más información sobre los destinos, consulte Uso de destinos para seleccionar qué campo de datos actuar en. -
index
(opcional): índice en el que se debe agregar el campo de datos. El comportamiento predeterminado es para que el campo se agregue en último lugar.
Por ejemplo:
const dataField = {
$schema: "http://powerbi.com/product/schema#column",
table: "Store",
column: "Name"
};
await visual.addDataField('Category', dataField);
Obtención de campos de datos
Para obtener una lista de los campos de datos definidos en un rol de datos, llame al método getDataFields
del objeto visual.
getDataFields(dataRole: string): Promise<models.IBaseTarget>
Este método tiene la variable dataRole
, que es el nombre del rol de datos del que se van a recuperar los campos de datos.
Por ejemplo:
let dataField = await visual.getDataFields('Category');
Eliminación de campos de datos
Para quitar un campo de datos que se aplica en un rol de datos, llame al método removeDataField
del objeto visual.
removeDataField(dataRole: string, index: number): Promise<models.IError>
Este método tiene los parámetros siguientes:
-
dataRole
: el nombre del rol de datos de destino al que está asociado el campo de datos. -
index
: índice del campo de datos que se va a eliminar.
Por ejemplo:
await visual.removeDataField('Category', 2);
Para obtener el índice del campo de datos, puede usar el índice del destino en la matriz de resultados de getDataFields
.