Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Como desarrollador, puede crear sus propios objetos visuales de Power BI. Estos objetos visuales pueden ser utilizados por usted, su organización o por terceros.
Este artículo es una guía paso a paso para crear un objeto visual con tecnología R para Power BI.
En este tutorial, aprenderá a:
- Crea un visual impulsado por R
- Edición del script de R en Power BI Desktop
- Agregar bibliotecas al archivo de dependencias del objeto visual
- Adición de una propiedad estática
Prerrequisitos
- Una cuenta de Power BI Pro . Regístrese para obtener una evaluación gratuita antes de comenzar.
- Un motor R. Puede descargar uno gratis desde muchas ubicaciones, incluida la página de descarga de Microsoft R Open y el repositorio CRAN. Para más información, consulte Creación de objetos visuales de Power BI mediante R.
- Power BI Desktop.
- Windows PowerShell versión 4 o posterior para usuarios de Windows o el Terminal para usuarios de macOS.
Comienza
Prepara algunos datos de ejemplo para la visualización. Puede guardar estos valores en una base de datos de Excel o en un archivo .csv e importarlo en Power BI Desktop.
NúmeroMes Total de unidades 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 8 1515 9 2516 10 3131 11 3170 12 2762 Para crear un objeto visual, abra PowerShell o Terminal y ejecute el siguiente comando:
pbiviz new rVisualSample -t rvisualEste comando crea una nueva carpeta para el objeto visual rVisualSample . La estructura se basa en la
rvisualplantilla. Crea un archivo denominado script.r en la carpeta raíz del objeto visual. Este archivo contiene el script de R que se ejecuta para generar la imagen cuando se representa el objeto visual. Puede crear el script de R en Power BI Desktop.En el directorio recién creado
rVisualSample, ejecute el siguiente comando:pbiviz startEn Power BI Desktop, seleccione Visual de script R:
Asigne datos al visual del desarrollador arrastrando MonthNo y Total de unidades a Valores del visual.
Establezca el tipo de agregación de Total units en No resumir.
En el editor de scripts de R en Power BI Desktop, escriba lo siguiente:
plot(dataset)Este comando crea un gráfico de dispersión mediante los valores del modelo semántico como entrada.
Seleccione el icono Ejecutar script para ver el resultado.
Editar el script de R
El script de R se puede modificar para crear otros tipos de objetos visuales. Vamos a crear un gráfico de líneas a continuación.
Pegue el código de R siguiente en el editor de scripts de R.
x <- dataset[,1] # get the first column from semantic model y <- dataset[,2] # get the second column from semantic model columnNames = colnames(dataset) # get column names plot(x, y, type="n", xlab=columnNames[1], ylab=columnNames[2]) # draw empty plot with axis and labels only lines(x, y, col="green") # draw line plotSeleccione el icono Ejecutar script para ver el resultado.
Cuando el script de R esté listo, cópielo en el
script.rarchivo ubicado en el directorio raíz del proyecto visual.En el archivo capabilities.json, cambie
dataRoles:namea dataset y ajuste la entrada dedataViewMappingsa dataset.{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }Agregue el código siguiente para admitir el cambio de tamaño de la imagen en el archivo src/visual.ts .
public onResizing(finalViewport: IViewport): void { this.imageDiv.style.height = finalViewport.height + "px"; this.imageDiv.style.width = finalViewport.width + "px"; this.imageElement.style.height = finalViewport.height + "px"; this.imageElement.style.width = finalViewport.width + "px"; }
Adición de bibliotecas al paquete visual
El corrplot paquete crea una presentación gráfica de una matriz de correlación. Para obtener más información sobre corrplot, vea Introducción al paquete corrplot.
Agregue la
corrplotdependencia de biblioteca aldependencies.jsonarchivo. Este es un ejemplo del contenido del archivo:{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }Ahora puede empezar a usar el paquete corrplot en el
script.rarchivo.library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")El resultado del uso
corrplotdel paquete es similar al de este ejemplo:
Agregar una propiedad estática al panel de propiedades
Ahora que tenemos un objeto visual básico corrplot , vamos a agregar propiedades al panel de propiedades que permiten al usuario cambiar la apariencia del objeto visual.
Usamos el method argumento para configurar la forma de los puntos de datos. El script predeterminado usa un círculo. Modifique el objeto visual para permitir que el usuario elija entre varias opciones.
Defina un
objectdenominado settings en el archivo capabilities.json y asígnele las siguientes propiedades."settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }Abra el archivo src/settings.ts . Cree una
VisualCardSettingsclase con las propiedades públicasmethod,name,displayNameyslicescomo se muestra en el cuadro de código a continuación.import ItemDropdown = formattingSettings.ItemDropdown; const methodOptions = [ { displayName: "Circle", value: "circle" }, { displayName: "Square", value: "square" }, { displayName: "Ellipse", value: "ellipse" }, { displayName: "Number", value: "number" }, { displayName: "Shade", value: "shade" }, { displayName: "Color", value: "color" }, { displayName: "Pie", value: "pie" } ] class VisualCardSettings extends FormattingSettingsCard { method: FormattingSettingsSlice = new ItemDropdown({ name: "method", displayName: "Method", items: methodOptions, value: methodOptions[0] }); name: string = "settings"; displayName: string = "Settings"; slices: Array<FormattingSettingsSlice> = [this.method]; }Después de estos pasos, puede cambiar la propiedad del objeto visual.
Por último, el script de R debe tener una propiedad predeterminada. Si el usuario no cambia el valor de propiedad (en este caso, la configuración de la forma), el objeto visual usa este valor.
En el caso de las variables en tiempo de ejecución de R para las propiedades, la convención de nomenclatura es
<objectname>_<propertyname>, en este caso,settings_method.Ejecute el siguiente script de R:
library(corrplot) corr <- cor(dataset) if (!exists("settings_method")) { settings_method = "circle"; } corrplot(corr, method=settings_method, order = "hclust")
Empaqueta e importa tu objeto visual
Ahora puede empaquetar el objeto visual e importarlo en cualquier informe de Power BI.
Rellene los
displayName,supportUrl,description,namedel autor yemail, y cualquier otra información importante en el archivopbivis.json.Si desea cambiar el icono del objeto visual en el panel de visualización, reemplace el archivo icon.pngen la carpeta assets.
Desde el directorio raíz de tu aplicación visual, ejecuta:
pbiviz packagePara obtener más información sobre el empaquetado del objeto visual, consulte Empaquetado del objeto visual personalizado.
Importe el archivo pbiviz del objeto visual a cualquier informe de Power BI. Consulte Importación de un archivo visual desde el equipo local en Power BI para obtener instrucciones sobre cómo hacerlo.
Tu objeto visual final tiene el siguiente aspecto: