Uso de dimensiones

Completado

Al crear un esquema de estrella, tendrá tablas de dimensiones y de hechos. Las tablas de hechos contienen información sobre eventos como pedidos de ventas, fechas de envío, distribuidores y proveedores. Las tablas de dimensiones almacenan detalles sobre entidades comerciales, como productos o tiempo, y se conectan a las tablas de hechos a través de una relación.

Puede usar jerarquías como un origen para facilitar la obtención de detalles en las tablas de dimensiones. Estas jerarquías forman segmentos naturales en los datos. Por ejemplo, puede tener una jerarquía de fechas en la que se puedan segmentar en años, meses, semanas y días. Las jerarquías son útiles porque permiten explorar en profundidad detalles concretos de los datos en lugar de verlos solo de forma general.

Jerarquías

Al crear objetos visuales, Power BI escribe de forma automática valores del tipo de fecha como una jerarquía (si la tabla no se ha marcado como tabla de fechas).

Captura de pantalla del ejemplo de una jerarquía.

En la columna Date anterior, la fecha se muestra progresivamente con más detalles mediante el año, el trimestre, el mes y el día. También puede crear jerarquías de forma manual.

Por ejemplo, imagine que quiere crear un gráfico de barras apiladas de Ventas totales por categoría y subcategoría. Puede realizar esta tarea si crea una jerarquía en la tabla Product (Producto) para categorías y subcategorías. Para crear una jerarquía, vaya al panel Campos de Power BI y, después, haga clic con el botón derecho en la columna para la que quiera la jerarquía. Seleccione Nueva jerarquía, como se muestra en la imagen siguiente.

Captura de pantalla de la nueva jerarquía en la tabla Product.

Después, arrastre y coloque la columna de subcategoría en la jerarquía que ha creado. Esta columna se agregará como un subnivel en la jerarquía.

Captura de pantalla de la jerarquía de nombres de categoría con el nombre de categoría y el nombre de subcategoría anidados.

Ahora, puede crear el objeto visual si selecciona un gráfico de barras apiladas en el panel Visualizaciones. Agregue la jerarquía Nombre de categoría en el campo Eje y Total Sales en el campo Valores.

Captura de pantalla de la jerarquía Nombre de categoría en el campo Eje, y TotalSales en el campo Valores.

Puede explorar en profundidad el objeto visual para ver Categoría y Subcategoría, en función de lo que quiera ver. Las jerarquías permiten ver niveles de datos crecientes en una sola vista.

Captura de pantalla de las dos vistas en un solo objeto visual.

Ahora que ha obtenido información sobre las jerarquías, puede ir un paso más allá y examinar las jerarquías de elementos primarios y secundarios, y su rol en varias relaciones entre tablas de hechos y tablas de dimensiones.

Jerarquía de elementos primarios y secundarios

En el ejemplo siguiente, tiene una tabla Employee (Empleado) en la base de datos que muestra información importante sobre los empleados, sus directores y sus identificadores. Al examinar esta tabla, observa que Roy F se ha repetido varias veces en la columna Manager (Director). Como se muestra en la imagen, varios empleados pueden tener el mismo director, lo que indica una jerarquía entre los directores y los empleados.

Captura de pantalla de la tabla Employee con las columnas Employee ID, Employee, Manager ID y Manager.

La columna Manager determina la jerarquía y, por tanto, es el elemento primario, mientras que los empleados son los "elementos secundarios". En este ejemplo, quiere poder ver todos los niveles de esta jerarquía. Power BI no muestra de forma predeterminada todos los niveles de la jerarquía, por lo que su responsabilidad es asegurarse de que los ve todos, o bien de "aplanar" la jerarquía para que pueda verlos con más detalle.

Aplanamiento de la jerarquía de elementos primarios y secundarios

El proceso de visualización de varios niveles secundarios en función de un elemento primario de nivel superior se conoce como aplanamiento de la jerarquía. En este proceso, se crean varias columnas en una tabla para mostrar la ruta jerárquica del elemento primario al secundario en el mismo registro. Usará PATH(), una función DAX simple que devuelve una versión de texto de la ruta de administración de cada empleado, y PATHITEM() para separar esta ruta en cada nivel jerárquico de administración.

Importante

Todavía no se ha descrito DAX, pero se hará en otro módulo. Esta función se incluye en esta sección porque explica las jerarquías. Si esta forma de usar DAX le resulta confusa, consulte el módulo sobre DAX y después vuelva a esta sección.

En la tabla, vaya a la pestaña Modelado y seleccione Nueva columna. En la barra de fórmulas resultante, escriba la función siguiente, que crea la ruta de texto entre el empleado y el director. Esta acción crea una columna calculada en DAX.

Path = PATH(Employee[Employee ID], Employee[Manager ID])

Captura de pantalla de la medida de DAX para aplanar la jerarquía de elementos primarios y secundarios.

La ruta completada entre el empleado y el director aparece en la nueva columna, como se muestra en la captura de pantalla siguiente.

Captura de pantalla de la tabla de la función PATH en Power BI.

Si examina a Roger M, la ruta de los identificadores es 1010 | 1011 | 1013, lo que significa que un nivel por encima de Roger M (id. 1013) está su director, Pam H (id. 1011) y un nivel por encima de Pam H está su director, Roy F (id. 1010). En esta fila, Roger M está en la parte inferior de la jerarquía, en el nivel secundario, y Roy F está en la parte superior de la jerarquía, en el nivel primario. Esta ruta se crea para cada empleado. Para aplanar la jerarquía, puede separar cada nivel mediante la función PATHITEM.

Para ver los tres niveles de la jerarquía por separado, puede crear cuatro columnas de la misma manera que antes, si escribe las ecuaciones siguientes. Usará la función PATHITEM para recuperar el valor que se encuentra en el nivel correspondiente de la jerarquía.

  • Nivel 1 = PATHITEM(Employee[Path],1)
  • Nivel 2 = PATHITEM(Employee[Path],2)
  • Nivel 3 = PATHITEM(Employee[Path],3)

Captura de pantalla del uso de la función PATHITEM.

Cuando haya terminado, observe que ahora tiene cada nivel de la jerarquía dentro de la tabla. Roy F está en la parte superior de la jerarquía y, a medida que recorra los Niveles 2-3, verá que los directores y los empleados se asignan entre sí.

Captura de pantalla del proceso de aplanar la jerarquía de elementos primarios y secundarios.

Ahora, puede crear una jerarquía en el panel Campos, como ha hecho antes. Haga clic con el botón derecho en Nivel 1, porque es el primer nivel de la jerarquía y, después, seleccione Nueva jerarquía. Luego, arrastre y coloque Nivel 2 y Nivel 3 en esta jerarquía.

Captura de pantalla de la nueva jerarquía para los niveles de empleado.

Ahora ha aplanado correctamente una jerarquía para poder ver los niveles individuales.

Anteriormente, se ha han descrito dimensiones que solo tienen una relación con una tabla de hechos. Pero hay situaciones en las que la tabla de dimensiones tendrá varias relaciones con una tabla de hechos.

Dimensiones realizadoras de roles

Las dimensiones realizadoras de roles tienen varias relaciones válidas con las tablas de hechos, lo que significa que se puede usar la misma dimensión para filtrar varias columnas o tablas de datos. Como resultado, puede filtrar los datos de otra manera en función de la información que necesite recuperar. Este tema es complejo, por lo que solo se presenta en esta sección. Para trabajar con dimensiones realizadoras de roles se necesitan funciones DAX complejas que se tratarán en secciones posteriores.

Captura de pantalla de las dimensiones que desempeñan roles en un modelo.

En el objeto visual anterior se muestran las tablas Calendar, Sales y Order. Calendar es la tabla de dimensiones, mientras que Sales y Order son tablas de hechos. La tabla de dimensiones tiene dos relaciones: una con Sales y otra con Order. Este es un ejemplo de dimensión realizadora de roles porque la tabla Calendar se puede usar para agrupar datos de Sales y Order. Si quisiera crear un objeto visual en el que la tabla Calendar haga referencia a las tablas Order y Sales, Calendar actuaría como una dimensión realizadora de roles.