Funcionalidades y propiedades de objetos visuales de Power BI

Todos los objetos visuales tienen un archivo capabilities.json en el que se describe el objeto visual para el host. En el archivo capabilities.json, se indica al host qué tipo de datos acepta el objeto visual, qué atributos personalizables se deberán colocar en el panel de propiedades y otra información necesaria para crear el objeto visual. Todas las propiedades del archivo capabilities.json son opcionales.

El archivo capabilities.json tiene el siguiente formato:

{
    "dataRoles": [ ... ],
    "dataViewMappings": [ ... ],
    "objects":  { ... },
    "supportsHighlight": true|false,
    "advancedEditModeSupport": 0|1|2,
    "sorting": { ... }
    ...
}

Cuando se crea un objeto visual, el archivo capabilities.json predeterminado incluye los siguientes objetos raíz:

Los objetos anteriores son los necesarios para el enlace de datos. Se pueden editar según se requiera para el objeto visual.

Los siguientes objetos raíz adicionales se pueden agregar según sea necesario:

Puede encontrar todos estos objetos y sus parámetros en el esquema capabilities.json

dataroles: definición de los campos de datos que espera el objeto visual

Para definir los campos que se pueden enlazar con los datos, use dataRoles. dataRoles es una matriz de objetos DataViewRole que define todas las propiedades necesarias. Los objetos dataRoles son los campos que aparecen en el panel Propiedades.

El usuario arrastra campos de datos hasta ellos para enlazar los datos de los campos de datos a los objetos.

Propiedades de DataRole

Las instancias de DataRole se definen mediante las propiedades siguientes:

  • name: nombre interno de este campo de datos (tiene que ser único).
  • displayName: nombre que se muestra al usuario en el panel Propiedades.
  • kind: tipo de campo:
    • Grouping: valores discretos que se usan para agrupar campos de medida.
    • Measure: valores de datos numéricos.
    • GroupingOrMeasure: valores que se pueden usar como una agrupación o una medida.
  • description: breve descripción textual del campo (opcional).
  • requiredTypes: tipo de datos necesario para este rol de datos. Los valores que no coinciden se establecen en null (opcional).
  • preferredTypes: tipo de datos preferido para este rol de datos (opcional).

Tipos de datos válidos para requiredTypes y preferredTypes

  • bool: valor booleano.
  • integer: valor entero.
  • numeric: valor numérico.
  • text: valor de texto.
  • geography: datos geográficos.

Ejemplo de dataRoles

"dataRoles": [
    {
        "displayName": "My Category Data",
        "name": "myCategory",
        "kind": "Grouping",
        "requiredTypes": [
            {
                "text": true
            },
            {
                "numeric": true
            },
            {
                "integer": true
            }
        ],
        "preferredTypes": [
            {
                "text": true
            }
        ]
    },
    {
        "displayName": "My Measure Data",
        "name": "myMeasure",
        "kind": "Measure",
        "requiredTypes": [
            {
                "integer": true
            },
            {
                "numeric": true
            }
        ],
        "preferredTypes": [
            {
                "integer": true
            }
        ]
    }
]
...
}

Los roles de datos anteriores crearían los campos que se muestran en la siguiente imagen:

Campos de roles de datos

dataViewMappings: cómo quieren asignar los datos

Los objetos dataViewMappings describen cómo se relacionan los roles de datos entre sí y permiten especificar requisitos condicionales para mostrar vistas de datos.

La mayoría de los objetos visuales proporcionan una sola asignación, pero puede proporcionar varios elementos dataViewMappings. Cada asignación válida genera una vista de datos.

"dataViewMappings": [
    {
        "conditions": [ ... ],
        "categorical": { ... },
        "table": { ... },
        "single": { ... },
        "matrix": { ... }
    }
]

Para obtener más información, consulte Información sobre las asignaciones de vistas de datos en objetos visuales de Power BI.

objects: definen las opciones del panel de propiedades

Los objetos describen propiedades personalizables que están asociadas al objeto visual. Los objetos definidos en esta sección son los objetos que aparecen en el Panel de formato. Cada objeto puede tener varias propiedades y cada propiedad tiene un tipo asociado.

"objects": {
    "myCustomObject": {
        "displayName": "My Object Name",
        "properties": { ... }
    }
}

Para obtener más información, vea Objetos y propiedades de objetos visuales de Power BI.

Pasos siguientes