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.
En este artículo se describe paso a paso cómo crear un trazado de embudo a partir de un script de R en un objeto visual de R. Los archivos de origen están disponibles para descargar en cada conjunto de pasos.
En este artículo aprenderá a crear lo siguiente:
- Un script de R para RStudio
- Un objeto visual de R en Power BI
- Un objeto visual con tecnología de R basado en PNG en Power BI
- Un objeto visual con tecnología de R basado en HTML en Power BI
El trazado de embudo proporciona una manera fácil de consumir, interpretar y mostrar la cantidad de variación esperada. Para crear el embudo se usan los límites de confianza y los valores atípicos que se muestran como puntos fuera del embudo.
En este ejemplo, el trazado de embudo se usa para comparar y analizar diversos datos de conjuntos.
Requisitos previos
Obtenga una suscripción a Microsoft Fabric. También puede registrarse para obtener una evaluación gratuita de Microsoft Fabric.
Instale las herramientas de pbiviz.
Compilación de un script de R con un modelo semántico
Descargue un script de R mínimo y su tabla de datos, dataset.csv.
Después, edite el script para reflejar este script. Esto agrega control de errores de entrada y parámetros de usuario para controlar la apariencia del trazado.
Generación de un informe
Después, edite el script para reflejar este script. Esto carga dataset.csv en lugar de read.csv en el área de trabajo de Power BI Desktop y crea una tabla Cancer Mortality (Mortalidad del cáncer). Vea los resultados en el siguiente archivo PBIX.
Nota
dataset
es un nombre codificado de forma rígida para el elemento data.frame
de entrada de cualquier objeto visual de R.
Creación de un objeto visual con tecnología de R y un paquete en código de R
Ejecute el comando siguiente para crear un objeto visual con tecnología de R:
pbiviz new funnel-visual -t rvisual cd funnel-visual npm install pbiviz package
Este comando crea la carpeta funnel-visual con el objeto visual de plantilla inicial (
-t
para plantilla). PBIVIZ se puede encontrar en la carpeta dist y el código de R en el archivo script.r. Intente importarlo en Power BI y vea lo que sucede.Edite el archivo script.r y reemplace el contenido por el script anterior.
Edite capabilities.json y reemplace la cadena
Values
pordataset
. Esto reemplaza el nombre de "Role" en la plantilla para que sea similar al código de R.(opcional) Edite dependencies.json y agregue una sección para cada paquete de R necesario para el script de R. Esto indica a Power BI que importe de forma automática estos paquetes cuando se carga por primera vez el objeto visual.
Vuelva a empaquetar el objeto visual con el comando
pbiviz package
e intente importarlo en Power BI.
Nota
Vea PBIX y código fuente para la descarga.
Mejoras de objetos visuales basados en R
El objeto visual todavía no es descriptivo porque el usuario tiene que conocer el orden de las columnas de la tabla de entrada.
Divida el campo de entrada
dataset
en tres campos (roles):Population
,Number
yTooltips
.Edite capabilities.json y reemplace el rol
dataset
por los tres roles nuevos, o bien descargue capabilities.json.Tendrá que actualizar las secciones: en
dataRoles
ydataViewMappings
, se definen los nombres, los tipos, la información sobre herramientas y el número máximo de columnas para cada campo de entrada.Para obtener más información, vea funcionalidades.
Edite script.r para admitir
Population
,Number
yTooltips
como tramas de datos de entrada en lugar dedataset
, o bien descargue script.r.Sugerencia
Para seguir los cambios en el script de R, busque bloques de comentarios:
#RVIZ_IN_PBI_GUIDE:BEGIN: Added to enable visual fields ... #RVIZ_IN_PBI_GUIDE:END: Added to enable visual fields #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields ... #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields
Vuelva a empaquetar el objeto visual con el comando
pbiviz package
e intente importarlo en Power BI.
Nota
Vea PBIX y código fuente para la descarga.
Adición de parámetros de usuario
Agregue funciones para que el usuario controle los colores y tamaños de los objetos visuales, incluidos los parámetros internos de la interfaz de usuario.
Edite capabilities.json y actualice la sección
objects
. Aquí se definen los nombres, las informaciones sobre herramientas y los tipos de cada parámetro, y también se decide la partición de los parámetros en grupos (en este caso, tres).Descargue capabilities.json y vea propiedades de objeto para obtener más información.
Edite src/settings.ts para reflejar este archivo settings.ts. Este archivo está escrito en TypeScript.
Aquí encontrará dos bloques del código agregado a:
- Declaración de una interfaz nueva para que contenga el valor de propiedad
- Definición de una propiedad miembro y valores predeterminados
Edite script.r para reflejar este archivo script.r. Esto agrega compatibilidad con los parámetros en la interfaz de usuario mediante la adición de llamadas a
if.exists
por cada parámetro de usuario.Sugerencia
Para seguir los cambios en el script de R, busque comentarios:
#RVIZ_IN_PBI_GUIDE:BEGIN:Added to enable user parameters ... #RVIZ_IN_PBI_GUIDE:END:Added to enable user parameters #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to enable user parameters ... #RVIZ_IN_PBI_GUIDE:END:Removed to enable user parameters
Puede decidir no exponer los parámetros en la interfaz de usuario, como se ha hecho.
Vuelva a empaquetar el objeto visual con el comando
pbiviz package
e intente importarlo en Power BI.
Nota
Vea PBIX y código fuente para la descarga.
Sugerencia
Aquí se han agregado parámetros de varios tipos (booleanos, numéricos, de cadena y de color) a la vez. Para obtener un caso sencillo, vea este ejemplo sobre cómo agregar un solo parámetro.
Conversión del objeto visual en un objeto visual basado en RHTML
Como el objeto visual resultante está basado en PNG, no responde al desplazamiento del mouse, no se puede acercar el zoom, etc., por lo que es necesario convertirlo en un objeto visual basado en HTML. Ahora se creará una plantilla de objeto visual basado en HTML con tecnología de R y, después, se copiarán algunos scripts del proyecto basado en PNG.
Ejecute el comando:
pbiviz new funnel-visual-HTML -t rhtml cd funnel-visual-HTML npm install pbiviz package
Abra capabilities.json y anote la línea
"scriptOutputType":"html"
.Abra dependencies.json y anote los nombres de los paquetes de R que se enumeran.
Abra script.r y anote la estructura. Puede abrirlo y ejecutarlo en RStudio, ya que no usa la entrada externa.
Esto crea y guarda out.html. Este archivo es independiente (sin dependencias externas) y define los gráficos dentro del widget HTML.
Importante
Para los usuarios de
htmlWidgets
, se proporcionan utilidades de R en la carpeta r_files a fin de facilitar la conversión de objetosplotly
owidget
en HTML independiente.Esta versión del objeto visual con tecnología de R también admite el comando
source
(a diferencia de los tipos de objetos visuales anteriores), para que el código sea más legible.Reemplace capabilities.json por el archivo capabilities.json del paso anterior, o bien descargue capabilities.json.
Asegúrese de mantener lo siguiente:
"scriptOutputType": "html"
Combine la versión más reciente de script.r con el archivo script.r de la plantilla, o bien descargue script.r.
El nuevo script usa el paquete
plotly
para convertir el objeto ggplot en un objeto plotly y, después, el paquetehtmlWidgets
para guardarlo en un archivo HTML.La mayoría de las funciones de utilidad se mueven a r_files/utils.r y se agrega la función
generateNiceTooltips
para la apariencia del objeto plotly.Sugerencia
Para seguir los cambios en el script de R, busque comentarios:
#RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based ... #RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based ... #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based
Combine la versión más reciente de dependencies.json con el archivo dependencies.json de la plantilla, para incluir nuevas dependencias de paquete de R, o bien descargue dependencies.json.
Edite src/settings.ts de la misma manera que en los pasos anteriores.
Vuelva a empaquetar el objeto visual con el comando
pbiviz package
e intente importarlo en Power BI.
Nota
Vea PBIX y código fuente para la descarga.
Compilación de ejemplos adicionales
Ejecute el comando siguiente para crear un proyecto vacío:
pbiviz new example -t rhtml cd example npm install pbiviz package
Tome el código de esta presentación y realice los cambios resaltados:
Reemplace el archivo script.r de la plantilla y vuelva a ejecutar
pbiviz package
. Ahora el objeto visual se incluye en el informe de Power BI.
Trucos y sugerencias
Se recomienda que los desarrolladores editen pbiviz.json para almacenar los metadatos correctos, como versión, correo electrónico, nombre, tipo de licencia, etc.
Importante
El campo guid es el identificador único de un objeto visual. Si crea un proyecto para cada objeto visual, el GUID también será diferente. Solo será el mismo cuando se usa un proyecto anterior y se copia en un objeto visual nuevo, algo que no se debe hacer.
Edite assets/icon.png para crear iconos únicos para el objeto visual.
Para depurar código de R en RStudio con los mismos datos que en el informe de Power BI, agregue lo siguiente al principio del script de R (edite la variable
fileRda
):#DEBUG in RStudio fileRda = "C:/Users/yourUserName/Temp/tempData.Rda" if(file.exists(dirname(fileRda))) { if(Sys.getenv("RSTUDIO")!="") load(file= fileRda) else save(list = ls(all.names = TRUE), file=fileRda) }
Esto guarda el entorno de un informe de Power BI y lo carga en RStudio.
No es necesario desarrollar objetos visuales con tecnología de R desde cero con código disponible en GitHub. Puede seleccionar el objeto visual que se va a usar como plantilla y copiar el código en un proyecto nuevo.
Por ejemplo, pruebe a usar el objeto visual personalizado de spline.
Todos los objetos visuales de R aplican el operador
unique
a su tabla de entrada. Para evitar que se quiten filas idénticas, considere la posibilidad de agregar un campo de entrada adicional con un identificador único y omitirlo en el código de R.Si tiene una cuenta de Power BI, use el servicio Power BI para desarrollar un objeto visual sobre la marcha en lugar de volver a empaquetarlos con el comando
pbiviz package
.
Galería de widgets HTML
Explore los objetos visuales en la galería de widgets HTML para usarlos en el siguiente objeto visual. Para facilitar el proceso, se ha creado un repositorio de proyectos de objetos visuales con más de 20 objetos visuales HTML interactivos entre los que elegir.
Sugerencia
Para cambiar entre los widgets HTML, use Formato>Configuración>Tipo. Pruébelo con este archivo PBIX.
Para usar una muestra para el objeto visual
- Descargue la carpeta completa.
- Edite script.r y dependencies.json para mantener un solo widget.
- Edite capabilities.json y settings.ts para quitar el selector de
Type
. - Cambie
const updateHTMLHead: boolean = true;
porfalse
en visual.ts. (para mejorar el rendimiento) - Cambie los metadatos de pbiviz.json, en especial, el campo
guid
. - Vuelva a empaquetar y continúe con la personalización del objeto visual como de la forma prevista.
Nota
No todos los widgets de este proyecto son compatibles con el servicio.
Contenido relacionado
Para obtener más información, vea tutoriales de Power BI adicionales, Desarrollo de un objeto visual Circle Card de Power BI y Objetos visuales de R.
Obtenga información sobre cómo desarrollar y enviar objetos visuales a la Tienda Office (galería), o para obtener más ejemplos, vea la presentación de scripts de R.