Definición de la granularidad de los datos

Completado

La granularidad de los datos es el detalle que se representa dentro de los datos, lo que significa que cuanto mayor sea la granularidad, mayor será el nivel de detalle.

La granularidad de los datos es un tema importante para todos los analistas de datos, con independencia de las herramientas de Power BI que use. Definir la granularidad correcta de los datos puede tener un gran impacto en el rendimiento y la facilidad de uso de los informes y objetos visuales de Power BI.

Definición de la granularidad de los datos

Imagine un escenario en el que la empresa administra 1000 camiones frigoríficos. Cada pocos minutos, en cada camión se usa una aplicación IoT de Microsoft Azure para registrar su temperatura actual. Esta temperatura es importante para la organización porque, si la refrigeración no funcionara correctamente, se podría estropear toda la carga, lo que costaría miles de dólares. Con tantos camiones y sensores, se generan numerosos datos cada día. Los usuarios del informe no quieren tener que consultar multitud de registros para encontrar los que les interesan especialmente.

¿Cómo se puede cambiar la granularidad de los datos para que el modelo semántico sea más fácil de usar?

En este escenario, es posible que quiera importar los datos con una media diaria para cada camión. Ese enfoque reduciría los registros de la base de datos a uno diario para cada camión. Si decide que el enfoque era lo suficientemente aceptable para realizar el seguimiento de los costos y los errores, podría usar esa granularidad de los datos. Como alternativa, podría seleccionar la última temperatura registrada, o bien importar solo los registros que estén por encima o por debajo de un intervalo normal de temperaturas. Cualquiera de estos métodos reducirá el número total de registros que se importan, a la vez que proporciona datos completos y valiosos.

Para otros escenarios, podría limitarse a la granularidad de los datos definida semanal, mensual o trimestralmente. Por lo general, cuanto menor sea la cantidad de registros con la que se trabaja, más rápido funcionarán los informes y los objetos visuales. Este enfoque se traduce en una frecuencia de actualización más rápida para todo el modelo semántico, lo que podría permitirle actualizar con más frecuencia.

Pero ese enfoque tiene un inconveniente. Si los usuarios quieren profundizar en cada una de las transacciones, resumir la granularidad impedirá que lo hagan, lo que puede afectar de forma negativa a su experiencia. Es importante negociar el nivel de granularidad de los datos con los usuarios del informe, para que comprendan las implicaciones de estas opciones.

Cambio de la granularidad de los datos para establecer una relación entre dos tablas

La granularidad de los datos también puede tener un impacto cuando se crean relaciones entre las tablas de Power BI.

Por ejemplo, imagine que va a crear informes para el equipo de ventas de Tailwind Traders. Se le ha pedido que diseñe una matriz de ventas totales y presupuesto en el tiempo mediante las tablas Calendario, Ventas y Presupuesto. Observa que el nivel más bajo de detalle basado en el tiempo para la tabla Ventas es por día, por ejemplo 1/5/2020, 7/6/2020 y 18/6/2020. La tabla Presupuesto solo muestra el nivel del mes; por ejemplo, los datos del presupuesto son 5/2020 y 6/2020. Estas tablas tienen diferentes granularidades que es necesario unificar para poder crear una relación entre ellas.

En la imagen siguiente se muestra el modelo semántico actual.

Captura de pantalla de la granularidad de los datos de un modelo semántico.

Como se muestra en la imagen anterior, falta una relación entre Budget (Presupuesto) y Calendar (Calendario). Por tanto, tendrá que crear esta relación antes de poder diseñar el objeto visual. Tenga en cuenta que si transforma las columnas Year y Month de la tabla Calendar en una nueva columna, y hace la misma transformación en la tabla Budget, puede hacerlas coincidir con el formato de la columna Date de la tabla Calendar. Después, puede establecer una relación entre las dos columnas. Para completar esta tarea, concatenará las columnas Year y Month, y después cambiará el formato.

Captura de pantalla de las tablas Budget y Calendar.

Seleccione Transformar datos en la cinta. En Pasos aplicados, en el panel de la derecha, haga clic con el botón derecho en el último paso y, luego, seleccione Insertar paso después.

Captura de pantalla del menú contextual Editar configuración del objeto visual de los pasos aplicados.

En Agregar columna en la cinta Inicio, seleccione Columna personalizada. Escriba la siguiente ecuación, que concatenará las columnas Year y Month y, después, agregue un guion entre los nombres de columna.

Column = Table.AddColumn(#"Renamed Columns", "Custom", each [Year] & "-" &[Month])

Cambie el tipo de datos a Fecha y después cambie el nombre de la columna. La tabla de presupuesto debe ser similar a la de la figura siguiente.

Captura de pantalla de la columna personalizada para la fecha.

Ahora, puede crear una relación entre las tablas de presupuesto y de calendario.

Creación de una relación entre tablas

Power BI detecta las relaciones de forma automática, pero también puede ir a Administrar relaciones > Nueva y crear la relación en la columna Fecha. La relación debe ser similar a la de la imagen siguiente.

Captura de pantalla del establecimiento de relaciones.

Al completar esta tarea, se ha asegurado de que la granularidad es la misma entre las diferentes tablas. Ahora, tendrá que crear medidas de DAX para calcular Total Sales (Ventas totales) y BudgetAmount (ImporteDelPresupuesto). Vaya al panel Datos en Power BI Desktop, seleccione Nueva medida y, después, cree dos medidas con las ecuaciones siguientes:

TotalSales = SUM(Sales[Total Sales])
BudgetAmount = SUM (Budget[BudgetAmount])

Seleccione el objeto visual de tabla en el panel Visualización y, después, escriba estas medidas y el valor de Date en el campo Valores. Ha conseguido el objetivo de crear una matriz de las ventas totales y los presupuestos en el tiempo.

Captura de pantalla de la creación del objeto visual de matriz.