Home
» Power BI
»
Mejores prácticas de carga y transformación de datos
Mejores prácticas de carga y transformación de datos
Me gustaría presentar las prácticas recomendadas que he adoptado al preparar informes de LuckyTemplates. En los últimos años, he consumido muchos recursos en línea sobre la carga y transformación de datos que han sido fundamentales en mi viaje, pero rápidamente me sentí abrumado por el contenido, así que terminé haciendo mis propias notas. Puedes ver el video completo de este tutorial en la parte inferior de este blog.
Esta no es una lista exhaustiva ni las mejores prácticas, son solo algunas de las que he incorporado en mi propio desarrollo. Además, las mejores prácticas siempre evolucionan con el tiempo a medida que se introducen capacidades nuevas y mejoradas en la aplicación LuckyTemplates y las presenta la comunidad de LuckyTemplates.
Me gustaría presentar el primero de los cuatro pilares del desarrollo de LuckyTemplates. Los cuatro pilares son la carga y transformación de datos , el modelado de datos , los cálculos DAX y los informes y visualizaciones . Nos ocuparemos de la configuración previa al desarrollo y el primer pilar en esta publicación de blog.
Se recomienda encarecidamente que deshabilite la función de fecha y hora automáticas en . Puede hacer esto de dos maneras.
Puede hacer esto globalmente para todos los archivos con estos pasos:
También puede desactivarlo para el archivo actual cambiando su configuración.
Deshabilitar la detección automática de relaciones
También se recomienda encarecidamente que deshabilite las relaciones de detección automática. Puede ir a Archivo y ver Opciones y configuraciones para deshabilitar la detección automática de nuevas relaciones después de que se hayan cargado los datos.
Interactuar con elementos visuales en los informes de LuckyTemplates
Lo siguiente de lo que quiero hablar es de las dos formas en que puede interactuar con las imágenes en los informes de LuckyTemplates. Estas interacciones se pueden filtrar o resaltar de forma cruzada .
El resaltado cruzado está habilitado de forma predeterminada en LuckyTemplates. Puede cambiar esto yendo a Archivo, luego a Opciones y configuraciones. Para el archivo actual en la sección de configuración del informe, puede cambiar la interacción visual de resaltado cruzado a filtrado cruzado.
Echemos un vistazo a nuestro informe. Puede ver que, de manera predeterminada, LuckyTemplates usa el resaltado cruzado en objetos visuales relacionados. Si hago clic en un canal del gráfico de barras de la izquierda, verá que la parte seleccionada se resalta en color oscuro mientras que la parte no seleccionada permanece en color claro en el segundo gráfico de barras.
Puede ver que la forma completa no cambia en el gráfico y solo ve las partes resaltadas. Puede cambiar esto desde la configuración del informe y cambiar la interacción visual predeterminada de resaltado cruzado a filtrado cruzado.
Una vez que haya hecho eso, verá que la forma de su gráfico de barras relacionado cambiará cada vez que haga una selección o un grupo de selecciones. Esta es una buena práctica para entrar.
Separación del conjunto de datos del informe
Lo siguiente de lo que quiero hablar es de separar el desarrollo de su conjunto de datos del desarrollo de su informe. Aquí es donde puede tener un archivo de conjunto de datos grueso publicado como un conjunto de datos independiente que no tiene imágenes y un desarrollo de archivo de informe delgado que usará estos conjuntos de datos publicados.
Una de las ventajas de publicar conjuntos de datos por separado es que puede usar el proceso de aprobación en el servicio LuckyTemplates para promover y certificar conjuntos de datos. Es una práctica ideal seleccionar un conjunto de datos respaldado, preferiblemente uno certificado cuando está desarrollando un nuevo informe.
Creación de una tabla de fechas dedicada
Asegúrese de que su informe tenga una tabla de Fechas dedicada en su informe. Puede usar la que está disponible en el foro de LuckyTemplates. Puede copiar y pegar el código M en una consulta en blanco.
Lo segundo que debe hacer una vez que tenga una tabla de Fechas dedicada es marcarla como tal. Esto permitirá que LuckyTemplates lo use para cálculos de inteligencia de tiempo.
Otros recordatorios para la tabla de fechas
Siempre asegúrese de que su tabla de datos sea contigua y que haya una fila por día. Además, verifique que cubra completamente los bordes de su tabla de hechos.
Además, agregue años completos a la tabla Fechas. También es una buena idea agregar un año futuro adicional a la tabla Fechas para habilitar cualquier cálculo de inteligencia de tiempo futuro o pronóstico.
Si tiene más días en su tabla Fechas de los que desea mostrar en su informe, puede controlar lo que se muestra en las segmentaciones usando la columna IsAfterToday o las columnas de compensación que están disponibles en el panel de filtro.
Hacer preguntas sobre el informe
Lo siguiente de lo que quiero hablar es si deberías hacer un informe. Mientras lo hace, verifique si hay un informe existente que pueda usar para satisfacer su necesidad. Si no hay un informe, ¿hay un modelo de datos existente que pueda usar para satisfacer la necesidad? ¿Hay un conjunto de datos existente que pueda usar o realmente necesita comenzar desde cero?
Datos de referencia y puesta en escena
Lo siguiente que se debe mencionar cuando se cargan datos son los datos de preparación y referencia. Cuando está cargando una tabla de datos plana, puede tener hechos y dimensiones en la misma tabla como un archivo de Excel. Cuando realiza una carga y la mueve a una sección de consulta provisional y le cambia el nombre, puede desmarcar Habilitar carga .
El siguiente paso es crear una referencia de esa tabla para cada hecho y dimensión de búsqueda y cambiar el nombre de las tablas de manera adecuada. Edite cada referencia, mantenga solo las columnas necesarias y elimine los duplicados.
Organice su modelo de datos y colóquelo en su propio grupo. Siempre tengo un grupo en mis modelos de datos llamado Modelo de datos que tiene todas las tablas que voy a usar en mis objetos visuales.
Reduciendo la carga de datos
Lo siguiente a hablar es el rendimiento de la herramienta a la hora de cargar datos. Una de las cosas más importantes que afecta el rendimiento es el volumen de datos, así que esfuércese por reducir la cantidad de datos que se cargarán tanto como sea posible.
Sigue este axioma:
Si no lo necesita, no lo recupere.
Es mucho más fácil agregar cosas nuevas a un informe que quitar cosas de nuestro informe. Además, cuando pone demasiadas cosas en un informe, pagará una penalización por el rendimiento que no necesita experimentar.
Preferiblemente, haga su filtrado en la fuente. Si no puede hacerlo en la fuente, use la flecha desplegable de filtro automático en la consulta avanzada para filtrar los campos que le interesan.
También en la fuente, también puede reducir la cantidad de columnas que se muestran utilizando el menú desplegable Elegir columnas y seleccionando solo las columnas que le interesen.
Puede utilizar Elegir columnas o Eliminar columnas . Recomiendo usar Elegir columnas como mejor práctica porque es fácil regresar.
Si cambia de opinión en una fecha posterior, le permite una forma rápida de hacerlo a través de la interfaz de usuario en lugar de ingresar al editor avanzado y editar el código M directamente.
Plegado de consulta
El plegado de consultas es otro intento de carga de datos de LuckyTemplates para combinar varios pasos de selección y transformación de datos en una única consulta de origen de datos.
Para determinar si una consulta se está doblando, haga clic con el botón derecho en los pasos aplicados de una consulta. Puede ver si una consulta nativa está atenuada.
Si está atenuado, la consulta no se está doblando. Si no está atenuado, la consulta se puede plegar.
Vayamos a Transform data , luego power query . En esta tabla, si hago clic con el botón derecho en el paso de navegación, puedo ver que Ver consulta nativa no está atenuada, por lo que puedo seleccionarla.
Veremos aquí una declaración de selección de SQL simple.
Si vamos al siguiente paso después de que se haya realizado el filtrado y vemos la consulta nativa, podemos ver que la consulta ha cambiado ligeramente y hay una cláusula "dónde" en la parte inferior de esa consulta.
Si vamos al tercer paso y hacemos clic derecho sobre él, podemos ver que la consulta nativa no está atenuada, por lo que podemos seleccionarla una vez más.
Una vez que seleccionamos, podemos ver que hay un colapso aún mayor de las tres consultas en una sola. Este es LuckyTemplates diciendo que la mejor manera de obtener los datos en el modelo es que la fuente haga el trabajo en lugar de que yo haga el trabajo.
Uso de orígenes de datos para el plegamiento de consultas
Las fuentes de datos que normalmente se pueden usar con el plegado de consultas son objetos estándar en bases de datos relacionales como tablas y vistas.
Las consultas SQL personalizadas a bases de datos relacionales no pueden utilizar el plegamiento de consultas. Los archivos planos y los datos web tampoco se pueden plegar.
Algunas de las transformaciones que se pueden usar con el plegado de consultas son el filtrado de filas , la eliminación de columnas , el cambio de nombre de las columnas y las uniones a otras consultas del mismo origen de datos.
Algunas de las transformaciones que no se pueden usar con el plegado de consultas incluyen la adición de columnas de índice , el cambio de tipos de datos de columnas y la combinación o adición de consultas de diferentes orígenes de datos .
Elegir el modo de conectividad correcto
Lo siguiente que debe hacer para mejorar el rendimiento es elegir el modo de conectividad correcto. El modo de importación es el predeterminado y debe usarse siempre que sea posible, ya que ofrece el mejor rendimiento de informes.
El modo de consulta directa se puede usar si se desean datos actualizados al minuto, pero tenga en cuenta que puede y probablemente tendrá un impacto negativo en el rendimiento.
Finalmente, un modo de conexión en vivo está disponible cuando accede a almacenes de datos como cubos multidimensionales SSAS.
Localizando las transformaciones
Lo siguiente de lo que quiero hablar es sobre la ubicación donde se realizarán estas transformaciones. El mejor lugar para hacerlos es en la fuente . Si no puede hacerlo en la fuente, hágalo en power query . Si no puede hacerlo en Power Query, hágalo en DAX .
Realice sus transformaciones de datos tan arriba como sea posible y tan abajo como sea necesario.
Si puede hacer algo en Power Query, probablemente debería hacerlo.
Nuevamente, si no es algo dinámico dentro del contexto de la sesión del informe, considere hacerlo en Power Query para simplificar su DAX y aumentar el rendimiento de su informe.
En cuanto a la forma de sus tablas, esfuércese por hacer que las tablas de hechos sean largas y delgadas y que las tablas de dimensiones sean cortas y anchas .
Mejores prácticas sobre nombres y tipos de datos
Utilice un esquema de mayúsculas y minúsculas coherente que sea fácil de entender para los usuarios de informes. Cambie el nombre de sus tablas y consultas según sea necesario para cumplir con los estándares de nombres y mayúsculas y minúsculas de su informe.
Cambie el nombre de sus columnas según sea necesario para cumplir con esos estándares de nomenclatura y mayúsculas y minúsculas, y también cambie el nombre de sus pasos de consulta avanzada según sea necesario para que los pasos sean autodescriptivos, ya que es posible que usted no sea la persona que mantiene el informe.
LuckyTemplates hace un excelente trabajo al asignar los tipos de datos correctos al importar datos, pero a veces también son necesarios algunos ajustes. Debe asegurarse de que las columnas de diferentes tablas se utilicen como columnas de enlace entre dos tablas que tienen el mismo tipo de datos.
Asegúrese de que todas sus columnas de fecha sean Fecha y no Texto. Divida sus columnas de fecha/hora en fechas separadas y columnas de hora separadas.
Como paso final, vuelva a verificar sus tipos de datos . Conviértase en una práctica antes de presionar Cerrar y Aplicar en Power Query para volver a verificar siempre sus tipos de datos, ya que ciertas transformaciones pueden cambiar silenciosamente los tipos de datos a texto.
Obtención de datos con una granularidad constante
Lo último a discutir es la granularidad. Durante el proceso de carga y transformación de datos, debe esforzarse por obtener sus datos con una granularidad uniforme. Cuando combine diferentes granularidades en su solución, use Power Query (preferiblemente) o DAX para asignar los datos de referencia de manera adecuada.
Por ejemplo, si sus datos de ventas principales están a nivel diario, su granularidad es diaria. Si los datos de referencia de su presupuesto están a nivel mensual, su granularidad es mensual. Este es un ejemplo de una fórmula DAX de asignación de presupuesto que puede revisar al realizar los ajustes de granularidad.
Conclusión
Espero que haya encontrado útil este tutorial sobre carga y transformación de datos. Si lo hizo, no olvide suscribirse al canal de YouTube de LuckyTemplates para asegurarse de recibir notificaciones sobre cualquier contenido nuevo.