Ordenar filas de tabla dinámica de Excel que consume datos OLAP

Posted by anabisbe on febrero 15, 2010
Business Intelligence - BI SQL Server 2008, Cubos SSAS y Excel

Los datos multidimensionales creados con SSAS se generan ordenados en correspondencia con el tipo de dato a mostrar, ya sea por el propio elemento que se muestra, ya sea por un campo clave invisible para el usuario final, es decir, los tan necesarios e útiles ID.

Les voy a mostrar un par de casos de la dimensión Products del Tutorial de SSAS. Los temas dimensiones, jerarquías y atributos fueron introducidos antes aquí .

El atributo Product Name está ordenado por el campo clave, que es el Product.ProductKey, aunque lo que muestra es la descripción del nombre del producto, es decir, Product.EnglishProductName.

ordenakey

Por su parte, el atributo Category, también dentro de la dimensión Product se ordena por Name, aunque también lleva un campo clave que está vinculado a la clave de la categoría, en este caso no define el orden.

ordenaname

Según han sido definidos estos atributos, así será el resultado al mostrarlos, Product Name, no está ordenado alfabéticamente, mientras que Product Category sí.

verordenados

Las razones que nos llevan a establecer un orden u otro son varias, optimización, frecuencia de búsqueda, estética, en fin, las que en cada caso se correspondan con nuestra problemática.

Cuando se consumen cubos OLAP en Excel, estamos en condiciones de trabajar sobre el orden propuesto y definido en el diseño de atributos y dimensiones. Hay varias formas de hacerlo.

Ordenar desde el menú

El menú Herramientas de tabla dinámica, ficha Opciones, grupo Ordenar menuordenar, muestra accesos directos para ordenar alfabéticamente los datos ordenaflechasy para acceder a la ventana ordenar.

comandoordenar

Vamos a detenernos un momento en esta ventana.

ordenorigenEste caso está claro, lo que había en el cubo, es lo que veremos. Es por ello que el nombre del producto no se muestra en orden alfabético. Más adelante veremos cómo remediarlo.

verordenorigen

ordenmanual

Manualmente, este es un caso específico, cuando por la razón que sea, es necesario mantener un orden genérico cambiando algún o algunos de los elementos. Es necesario seleccionar la celda y cuando se ven las cuatro flechas, arrastrarla al lugar deseado, como se ve en este caso, va a pasar de la posición A6

moviendo a la A7 movido

ordenporname Es aquí donde vamos a poder poner en orden el atributo Product Name

También se puede indicar un campo valor, en este caso,ordenporvalor se ordena sobre los valores totales, hay que ver que EEUU no siempre es el que tiene más ventas; pero sí el que tiene más en la columna Total general.

verordenporvalor

Esto no es siempre así, es posible que necesitemos ordenar por una columna determinada, digamos un año, en lugar del Total general. Para esto Excel brinda la ventana Más opciones de ordenación que se activa con el comando Más opciones. Ya vimos el efecto que se produce al ordenar por Total general, veamos qué ocurre si seleccionamos una columna en particular, en este caso, la columna D, correspondiente al año 2003.

masopcionesordenar

vermasopcionesordenar

Es decir, aunque EEUU tiene más en el Total, está ordenado según la columna D y quien más tiene es Australia.

Si la celda seleccionada es un dato tipo Valor, el botón Más opciones … lo que muestra es una ventana diferente, más concreta:

masopcionesordenarporvalor

Ordenar automáticamente

La tabla se va a reordenar en la medida que se agreguen o quiten datos, según se haya definido la casilla autoordenar

Ordenar desde la lista de campos

Esta funcionalidad la tenemos en la Lista de campos de tabla dinámica, esta lista la vemos visto antes en la medida que arrastramos el ratón por los elementos se activa en el borde derecho de la lista un triángulo invertido  productnamelista que indica que hay aun más posibilidades de actuación, referidas específicamente a la ordenación y los filtros. En caso de tener seleccionada la casilla Aplazar la actualización del diseño no se tendrá acceso a estas acciones.

ordenardesdelista

Ordenar desde el menú contextual

Vamos a tener las mismas posibilidades de antes.

ordenardesdemenucontextual

En resumen, los datos provenientes de SSAS traen un orden que es el predeterminado para la tabla Excel, luego, nuestras necesidades y las posibilidades de Excel para modificarlo, hacen el resto. En la próxima entrega estaremos hablando de Mover y agrupar datos.

Saludos,

Ana

Tags: , ,

Comments are closed.