0

Diseño de dashboards indpendientes en un mismo informe

Objetivo

El procedimiento descrito es un workaround muy técnico que cubre la necesidad de diseñar más de un Dashboard en el mismo informe, de forma que entre ellos sean totalmente independientes. Es decir, que cada Dashboard se alimente de una hoja de datos y tenga sus propios filtros o slicers

Consultar este artículo, en el caso de que se desee mantener un único Dashboard pero alimentado por más de una hoja de Datos


Limitaciones

Los Easy Dashbordard adicionales al primero, NO podrán ser diseñados desde el Ribbon (menú) de Easy Dashboard, si no que tendrán que realizarse desde las opciones estándar que ofrece MS Excel


Pasos a seguir

1. Crear un ED desde el asistente

2. Abrir la plantilla que se ha creado y crear una nueva hoja, llamándola Datos2

3 Abrir macros de la plantilla:

    • Insertar nuevo módulo y añadir la funciona DataRangeRows2 en un nuevo módulo:

Public Function DataRangeRows2() As Long

Dim nRows As Long
Dim nInitRow As Long
On Error GoTo catch

nInitRow = Range("DatosDetalle2").Row
nRows = Sheets("Datos2").UsedRange.Rows.Count - (nInitRow - 1)
DataRangeRows2 = nRows

finally:
Exit Function

catch:
DataRangeRows2 = 0
Resume finally

End Function

 

    • Buscar la funcion CleanData y copiarla.
    • En el  módulo anterior, pegar la función, renombrarla a CleanData2, y cambiar Range("zData") por Range("zData2")

Sub CleanData2()

Dim rg As Range

Set rg = Range("zData2")
Set rg = rg.Offset(2)
rg.ClearContents

End Sub


 

 

4. Dejar la plantilla abierta y pasar a DCR

5. Abrir el proceso creado en el paso 1 e incluir una nueva tarea de tipo Ejecutar MACRO, que llame a CleanData2

6. y seleccionar una nueva tarea de Insertar Datos

6. Seleccionar una nueva consulta

7. Crear la nueva consulta y ejecutarla

8. Exportar resultados a Excel, copiar la cabecera en la hoja Datos2 de la plantilla abierta en el paso2

9. Definir los valores en la primera fila de datos de la hoja Datos2: 0 en numerico, etc

10. Definir un nuevo rango DatosDetalle2 que cubra cabecera y primera fila de datos de la hoja Datos2

11. Definir un nuevo rango zData2 que se refiera a:

 =DESREF(DatosDetalle2;0;0;DataRangeRows2())

12. Insertar una tabla dinámica sobre el nuevo rango zData2, y llamar a la hoja por ejemplo TD2_1

13. Añadir Segmentación de datos y seleccionar los filtros/slicers

14. Crear una nueva hoja llamada por ejemplo Dashboard2

15. Cortar y pegar slicers en la hoja Dashboard2

14. Ir de nuevo a la hoja Datos2 e insertar grafico dinámico contra rango zData2

15. Construir la gráfica y moverla a la hoja Dashboard2

16. Hacer botón derecho sobre cada slicer que queramos que influya sobre la gráfica, selecionar Conexiones a tabla dinámica, y marcar la nueva tabla dinámica que se ha creado, que aparecerá desmarcada por defecto

17. Repetir la operación para cada objeto a incluir

18. Al finalizar cerrar la plantilla

19. Acabar el proceso de inserción de datos, apuntando al rango zData2

20. Ejecutar el proceso  



0 comments

Please sign in to leave a comment.