ELABORACIÓN Y PUBLICACIÓN EN INTERNET DE CUADROS
DE MANDO O DASHBOARD EN TABLEAU, ADAPTADO A LAS
ENTIDADES LOCALES.
Autor: Gonzalo de Celis de la Gala.
VII FORO TECNOLÓGICO OCEX. BARCELONA 2017
Consejo de Cuentas de Castilla y León
1
Título: Elaboración y publicación en internet de Cuadros de Mando o Dashboard en
Tableau, adaptado a las Entidades Locales.
Autor: Gonzalo de Celis de la Gala. (Auditor técnico-informático)
Email: [email protected]
Institución: Consejo de Cuentas de Castilla y León.
Grupo 6: Foro Tecnológico.
Ante el volumen de datos que implica disponer de más de 32.000 cuentas en el sector
público de Castilla y León, en soporte informático, desde el año 2006, se impuso la
necesidad de contar con una herramienta de tratamiento masivo de datos (Big Data). Y se
eligió Tableau. Dentro de las distintas utilidades o módulos de esta Aplicación voy a
destacar 2:
1. Elaboración de los cuadros de mando o Dashboard.
Un Dashboard es una colección de varias hojas de trabajo e información
complementaria que se muestran en un solo lugar, donde se puede comparar y
supervisar una variedad de datos a la vez. Los datos han de ser representativos,
presentados de forma gráfica, de manera atractiva y de fácil manejo. Con este
criterio se elaboraron las páginas con las principales magnitudes contables de una
cuenta rendida( se definieron 6) de una entidad local o la ficha-resumen de los
Indicadores(9). http://se.consejodecuentas.es:800/magnitudes.html
A semejanza del Excel, en Tableau existen el libro de trabajo y las hojas. Y algo
particular, los Dashboard, que permiten mostrar varias hojas a la vez, de forma
interactiva. Cualquier modificación en las hojas que conforman un Dashboard se
reflejará en éste, y viceversa. Por medio de los Filtros se mostrará la información de
las distintas hojas de forma relacionada.
2. Publicación y actualización en Internet.
Una vez construidos los Dashboard, éstos actúan como auténticas plantillas a la
hora de mostrar la información. Y nos permite generar páginas web dinámicas,
fácilmente actualizables según vayamos cargando las cuentas de las entidades
locales. Simplemente tendremos que actualizar los extractos con las nuevas
cuentas y subirlo a la nube.
Consejo de Cuentas de Castilla y León
2
Introducción:
En el anterior Foro Tecnológico, en Oviedo, presenté una ponencia sobre una herramienta
o Aplicación informática adquirida por el Consejo de Cuentas, Tableau, fundamentalmente
para el tratamiento de las cuentas remitidas en el Sector Público Local. A raíz de ello,
varios compañeros de distintos OCEX se interesaron por dicha Aplicación. Ello me ha
animado a extenderme un poco más contando mi experiencia por si pudiera servir u
orientar en sus trabajos, con esta herramienta u otras similares.
Cuando nos presentan una página web, interactiva, dinámica, realizada con Tableau,
podemos opinar si nos gusta o no, con más o menos adjetivos:
http://se.consejodecuentas.es:800/magnitudes.html
Pero aquí vamos a intentar ir más allá y responder a preguntas del tipo: cómo me conecto a
los datos de origen, cómo se configuran los dashboard, cómo lo publico en Internet, cómo
actualizo la información cada semana, es muy complicado, requiere grandes conocimientos
de informática, …? Comencemos.
El origen de los datos:
a. La Base de datos de Oracle EXP_TCV2 común a todos los OCEX: con sus
tablas ACC_CONTABLES_01..ACC_CONTABLESX_01…
b. Balanceo a SQL_Server. Esquema. (La estructura con la definición de los
campos en cada tabla)
c. Reconstrucción de la cuenta a tablas ‘cristianas’, entendibles por los
auditores. VISTAS. Reconstrucción de los principales estados contables
conforme a las instrucciones de contabilidad. Hasta el 2014 y después.
Ejemplo de Vistas: Liq Presup gastos.
SELECT [ID_ENTIDAD], [ID_ENTIDAD_PRINCIPAL], [ID_PROVINCIA], [EJERCICIO], [ID_TAGSREG], [ID_ESTADO],
[COD_MODELO], [POSICION], [CNTRL], [C1] AS CreditosInicio,
[C2] AS ModifCreditos, [C3] AS CreditosDefinit, NULL AS GastosComprometidos, [C4] AS ObligRecNetas,
[C5] AS Pagos, [C6] AS ObligPtesPago31dic,
[C7] + [C8] AS RemCred, [LONGITUD], CASE WHEN LEN(SUBSTRING(CNTRL, 1, CHARINDEX('|',
CNTRL) - 1)) >= 1 THEN SUBSTRING(CNTRL, 1, 1) ELSE NULL
Consejo de Cuentas de Castilla y León
3
END AS AREA, CASE WHEN LEN(SUBSTRING(CNTRL, 1, CHARINDEX('|', CNTRL) - 1)) >= 2 THEN
SUBSTRING(CNTRL, 1, 2) ELSE NULL END AS POLITICA,
CASE WHEN LEN(SUBSTRING(CNTRL, 1, CHARINDEX('|', CNTRL) - 1)) >= 3 THEN
SUBSTRING(CNTRL, 1, 3) ELSE NULL END AS PROGRAMA,
CASE WHEN LEN(SUBSTRING(CNTRL, 1, CHARINDEX('|', CNTRL) - 1)) >= 5 THEN
SUBSTRING(CNTRL, 1, 5) ELSE NULL END AS SUBPROGRAMA,
LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1) + '0', 1) AS CAPITULO,
LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1) + '00', 2) AS ARTICULO,
LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1) + '000', 3) AS CONCEPTO,
LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1) + '00000', 5)
AS PARTIDA
FROM [EXP_TCUV2].[dbo].[ACC_CONTABLESX_08]
WHERE (COD_MODELO = 1 AND ID_TAGSREG = 834 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49) AND
EJERCICIO < 2015) OR
(COD_MODELO = 1 AND ID_TAGSREG = 1417 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)
AND EJERCICIO > 2014)
UNION ALL
SELECT [ID_ENTIDAD], [ID_ENTIDAD_PRINCIPAL], [ID_PROVINCIA], [EJERCICIO], [ID_TAGSREG], [ID_ESTADO],
[COD_MODELO], [POSICION], [CNTRL], [C1] AS CreditosInicio,
[C2] AS ModifCreditos, [C3] AS CreditosDefinit, [C4] AS GastosComprometidos, [C5] AS ObligRecNetas,
[C6] AS Pagos, [C7] ASObligPtesPago31dic, [C8] AS RemCred,
[LONGITUD], CASE WHEN LEN(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1))
>= 1 THEN LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1), 1) ELSE NULL
END AS AREA, CASE WHEN LEN(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1))
>= 2 THEN LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1), 2) ELSE NULL
END AS POLITICA, CASE WHEN LEN(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL)
Consejo de Cuentas de Castilla y León
4
- 1)) >= 3 THEN LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1), 3) ELSE NULL
END AS PROGRAMA, CASE WHEN LEN(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1,
CHARINDEX('|', CNTRL, CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL)
- 1)) >= 5 THEN LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL) + 1, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) - CHARINDEX('|', CNTRL) - 1), 5)
ELSE NULL END AS SUBPROGRAMA, LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) + 1) - CHARINDEX('|', CNTRL, CHARINDEX('|', CNTRL) + 1) - 1) +
'0', 1) AS CAPITULO, LEFT(SUBSTRING(CNTRL, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) + 1) - CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - 1) + '00', 2) AS ARTICULO, LEFT(SUBSTRING(CNTRL, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) + 1) - CHARINDEX('|', CNTRL, CHARINDEX('|', CNTRL) + 1) - 1) +
'000', 3) AS CONCEPTO, LEFT(SUBSTRING(CNTRL, CHARINDEX('|',
CNTRL, CHARINDEX('|', CNTRL) + 1) + 1, CHARINDEX('|', CNTRL, CHARINDEX('|', CNTRL,
CHARINDEX('|', CNTRL) + 1) + 1) - CHARINDEX('|', CNTRL, CHARINDEX('|',
CNTRL) + 1) - 1) + '00000', 5) AS PARTIDA
FROM [EXP_TCUV2].[dbo].[ACC_CONTABLESX_08]
WHERE (COD_MODELO = 3 AND ID_TAGSREG = 1345 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)
AND EJERCICIO < 2015) OR
(COD_MODELO = 3 AND ID_TAGSREG = 2181 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)
AND EJERCICIO > 2014) OR
(COD_MODELO = 2 AND ID_TAGSREG = 1008 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)
AND EJERCICIO < 2015) OR
(COD_MODELO = 2 AND ID_TAGSREG = 1623 AND ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)
AND EJERCICIO > 2014)
Partiendo de la tabla ’ACC_CONTABLESX_08’ extraemos los datos de las
cuentas de los modelos Básico, Normal y Simplificado mediante consultas de
Unión, variando los códigos, si es antes del 2015 o a partir del 2015 por el
cambio normativo. Todos los martes, IECISA, empresa que gestiona la
Plataforma de Rendición de Cuentas, nos pone en un directorio de Internet, 2
ficheros: El primero, con todas las cuentas que han rendido del sector público
local que han entrado a través de Plataforma hasta esa fecha(último domingo)
Consejo de Cuentas de Castilla y León
5
de todos los OCEX adheridos a la Plataforma con el Tribunal de Cuentas. El
segundo, con información específica de cada OCEX sobre contratos y reparos.
d. Ejecución de ‘procedimientos almacenados’. : Instrucciones de código de
SQL. Se crean unas tablas derivadas de los principales estados
contables donde se cargan los datos extraídos de las ACC_CONTABLES.
Creo una tabla derivada para cada Indicador, así como para los principales
estados contables como Liq. De Gastos, Ingresos, Resultados
Presupuestario, Remanente de Tesorería, Tesorería, Endeudamiento,
Balance y Cuenta Económico-Patrimonial. Los Procedimientos Almacenados
se ejecutan semanalmente. Normalmente los martes, coincidiendo con la
descarga del fichero de IECISA con todas las cuentas hasta esa fecha.. El
procedimiento suele ser repetitivo: Borra todos los datos y vuelve a cargar
(insertar) la última información disponible.
Ejemplo de Procedimiento Almacenado: Del Balance 2015
USE [EXP_TCUV2] GO /****** Object: StoredProcedure [dbo].[P_N_Balance] Script Date: 21/07/2017 10:26:26 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: gonzalo de Celis -- Create date: 18/01/2017 -- Description: Nuevo Balnce a partir del ejercicio 2015 -- ============================================= ALTER PROCEDURE [dbo].[P_N_Balance] -- Add the parameters for the stored procedure here AS BEGIN DELETE dbo.tb_N_Balance INSERT INTO tb_N_Balance SELECT TOP (100) PERCENT dbo.ACC_CONTABLESX_02.ID_ENTIDAD, dbo.ACC_CONTABLESX_02.ID_PROVINCIA, dbo.ACC_CONTABLESX_02.EJERCICIO,dbo.ACC_CONTABLESX_02.ID_TAGSREG, dbo.TAGSREG_N.NOMTAG, dbo.TAGSREG_N.DESTAG, dbo.ACC_CONTABLESX_02.COD_MODELO, dbo.ACC_CONTABLESX_02.C1 AS EjercAct, dbo.ACC_CONTABLESX_02.C2 AS EjercAnt, dbo.Aux_Entidades.NIF, dbo.Aux_Entidades.ID_TIPO, dbo.Aux_Entidades.TIPOENTIDAD, dbo.Aux_Entidades.NOMBRE FROM dbo.ACC_CONTABLESX_02 INNER JOIN
Consejo de Cuentas de Castilla y León
6
dbo.Aux_Entidades ON dbo.ACC_CONTABLESX_02.ID_ENTIDAD = dbo.Aux_Entidades.ID_ENTIDAD INNER JOIN dbo.TAGSREG_N ON dbo.ACC_CONTABLESX_02.ID_TAGSREG = dbo.TAGSREG_N.IDTAG WHERE (dbo.ACC_CONTABLESX_02.ID_TAGSREG IN (1524, 1512, 1514, 1513, 1518, 1519, 1516, 1517, 1525, 1526, 1522, 1521, 1523, 1497, 1492, 1500, 1502, 1499, 1501, 1498, 1509, 1510, 1508, 1504, 1503, 1506, 1507, 1505, 1527, 1548, 1545, 1547, 1546, 1549, 1541, 1543, 1542, 1539, 1538, 1535, 1537, 1536, 1533, 1531, 1530, 1528, 1532, 1550)) AND (dbo.ACC_CONTABLESX_02.COD_MODELO = 2) AND (dbo.ACC_CONTABLESX_02.ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)) OR (dbo.ACC_CONTABLESX_02.ID_TAGSREG IN (1966, 1955, 1956, 1953, 1954, 1968, 1969, 1947, 1949, 1951, 1950, 1959, 1958, 1960, 1963, 1964, 1962, 1965, 1919, 1922, 1923, 1920, 1924, 1921, 1928, 1926, 1930, 1927, 1929, 1925, 1941, 1942, 1938, 1940, 1939, 1944, 1945, 1943, 1946, 1932, 1933, 1931, 1935, 1936, 1937, 1934, 1970, 2000, 1997, 1999, 1998, 2001, 1995, 1993, 1992, 1991, 1994, 1989, 1987, 1988, 1986, 1984, 1983, 1982, 1985, 1980, 1977, 1976, 1978, 1974, 1973, 1971, 1979, 2002)) AND (dbo.ACC_CONTABLESX_02.COD_MODELO = 3) AND (dbo.ACC_CONTABLESX_02.ID_PROVINCIA IN (5, 9, 24, 34, 37, 40, 42, 47, 49)) ORDER BY dbo.ACC_CONTABLESX_02.EJERCICIO, dbo.ACC_CONTABLESX_02.ID_PROVINCIA, dbo.ACC_CONTABLESX_02.ID_ENTIDAD,dbo.ACC_CONTABLESX_02.ID_TAGSREG END
En el caso de los Indicadores, para cada uno creo una Tabla derivada con los campos que
necesito para su cálculo. Ejemplo del Indicador de <<Ingresos Tributarios por
Habitante>>
DELETE tb_Ind_Presup_IngrTribXHab_A2_2 INSERT INTO tb_Ind_Presup_IngrTribXHab_A2_2 ([codigoUnidad] ,[ejercicio] ,[Provincia] ,[nombreEntidad] ,[nombreEntidadDependiente] ,[NIF] ,[Entidad] ,[Poblacion] ,[Tramo] ,[DerRecNetos_123]) SELECT dbo.Aux_CensoHistorico.codigoUnidad, dbo.V_LiqPptoIngresos_Desagreg.EJERCICIO, dbo.Aux_CensoHistorico.Provincia, dbo.Aux_CensoHistorico.nombreEntidad, dbo.Aux_CensoHistorico.nombreEntidadDependiente, dbo.Aux_CensoHistorico.NIF, dbo.Aux_CensoHistorico.Entidad, dbo.Aux_CensoHistorico.poblacion, dbo.Aux_CensoHistorico.Tramo, SUM(dbo.V_LiqPptoIngresos_Desagreg.DerRecNetos) AS DerRecNetos123 FROM dbo.V_LiqPptoIngresos_Desagreg INNER JOIN dbo.Aux_Entidades ON dbo.V_LiqPptoIngresos_Desagreg.ID_ENTIDAD = dbo.Aux_Entidades.ID_ENTIDAD INNER JOIN dbo.Aux_CensoHistorico ON dbo.Aux_Entidades.NIF = dbo.Aux_CensoHistorico.NIF AND dbo.V_LiqPptoIngresos_Desagreg.EJERCICIO = dbo.Aux_CensoHistorico.Ejercicio WHERE (dbo.V_LiqPptoIngresos_Desagreg.CAPITULO < N'4') AND (NOT (dbo.V_LiqPptoIngresos_Desagreg.ARTICULO IN (N'34', N'36', N'38', N'39'))) GROUP BY dbo.Aux_CensoHistorico.codigoUnidad, dbo.V_LiqPptoIngresos_Desagreg.EJERCICIO, dbo.Aux_CensoHistorico.Provincia, dbo.Aux_CensoHistorico.nombreEntidad,
Consejo de Cuentas de Castilla y León
7
dbo.Aux_CensoHistorico.nombreEntidadDependiente, dbo.Aux_CensoHistorico.NIF, dbo.Aux_CensoHistorico.Entidad, dbo.Aux_CensoHistorico.poblacion, dbo.Aux_CensoHistorico.Tramo
En el caso de los indicadores, aprovecho que en SQL-Server incluye los campos
‘Calculados’ para extraer ya el indicador: ej (case when [Poblacion] IS NULL then '0'
when [Poblacion]='0' then '0' else [DerRecNetos_123]/[Poblacion] end)
Dado que los Indicadores exigen múltiples operaciones para su cálculo, así como la media
de los distintos tramos, es aconsejable realizar estas operaciones en la Base de datos, de
tal forma que cuando subamos la información a Internet o actualicemos la información el
servidor de internet simplemente muestre el dato, lo que agiliza enormemente el tiempo de
respuesta.
e. A estas tablas derivadas, normalmente mediante Vistas o Consultas de SQL-
Server, me conecto desde Tableau. (Renombrar las Vistas como ‘SqlT_XXX’)
Consejo de Cuentas de Castilla y León
8
Elaboración de los cuadros de mando o Dashboard.
En Tableau, a semejanza del Excel, funciona con Libros de trabajo que contienen
Hojas de trabajo. Cada hoja de trabajo tiene un origen de datos. La diferencia en
Tableau son los Dashboard. Permiten relacionar y mostrar distintas hojas a la vez en
una misma página, en una especie de DIN_A4.(En la cara de un folio).
En el caso que nos atañe, en las dos páginas publicadas: ‘Principales magnitudes
contables’ 0 ‘Ficha-resumen de los Indicadores’, una vez construidas, funcionan
como auténticas plantillas, donde simplemente al actualizar las tablas con los
nuevos registros de las cuentas incorporadas semanalmente, se van a actualizar y
reflejar los nuevos datos.
Algunos consejos a tener en cuenta:
Minimizar el número de campos.
Reducir el nº de registros. Para ello nos podemos servir de los filtros de
Extracto para mantener sólo los datos que se necesitan
Evitar el exceso de datos y campos.
Optimizar y materializar los cálculos, si es posible en la Base de Datos. Por
ejemplo: en la Liq del presup de Gastos manejo 3 tablas derivadas, una con la
información desagregada a nivel de Partida, otra a nivel de Capítulo y una
final con el Total. Dependiendo del indicador me va a permitir acelerar los
cálculos en BD. y subir el dato ya calculado a Internet.
Asumir la integridad referencial de la BD.
Utilizar los ‘Extractos’ como fuente de datos. Normalmente un extracto es
más rápido que una conexión directa al servidor de la BD, sobre todo en
Internet.
El extracto evita la conexión directa al servidor de SQL-Server; lo cual agiliza
la presentación de los resultados en internet una vez se apliquen los filtros por
parte del cliente.
Consejo de Cuentas de Castilla y León
9
Creación de un Dashboard:
Muy parecido a una tabla dinámica de éxcel, pero en vez de arrastrar campos, aquí van a
ser ‘hojas’ que colocamos en el DIN_A4 . pero de alguna manera tienen que estar
sincronizadas.
Origen de los datos : una sqlT_FichaGeneral
Como vemos, la consulta incluye información de 7 tablas o consultas distintas:Liq de
Gastos, Ingresos, Result Presup, Remanente de tesorería, Tesorería, Endeudamiento,
Se elaboran 7 hojas distintas: una por cada concepto:
Derechos reconocidos netos
Obligaciones reconocidas netas
Consejo de Cuentas de Castilla y León
10
Resultados presupuestario del ejercicio(Superavit/déficit)
Remanente de tesorería para gastos generales
Tesorería
Endeudamiento (Estado de la deuda de capitales a 31 de diciembre)
Tabla-resumen global.
Dashboard en blanco:
Consejo de Cuentas de Castilla y León
11
Insertar o arrastrar las distintas hojas que queremos aparezcan en el cuadro de mando:
Consejo de Cuentas de Castilla y León
12
Objetos (6): Horizontal, Vertical, Texto, Imagen, Página web, en Blanco.
A la hora de colocar las hojas en el Dashboard, Tableau nos permite diseñar el lugar donde
van a aparecer mediante los Objetos. Son contenedores gráficos que limitan el espacio
reservado a cada hoja que se inscruste. Actúan como auténticas plantillas que nos orientan
en el diseño.
Filtros:
Los filtros nos permiten crear páginas interactivas, dinámicas. Mediante ‘parámetros,
acotamos la información a presentar. Pero en este caso los filtros son comunes a todas las
hojas que se insertan en el Dashboard. Para ello las tablas o consultas tienen que estar
‘interrelacionadas’. Tableau ofrece varias posibilidades, tanto en la configuración de los
Combo_box como en su forma de aplicación : A una sola hoja, A las hojas seleccionadas o
como en este caso, a todas las que tengan el mismo origen de datos.
Consejo de Cuentas de Castilla y León
13
Adaptación del dispositivo:
En función de en dónde se muestre esta página web, podemos definir el formato; esto es,
si lo vamos a ver en un Ordenador, en una Tablet o en un Teléfono móvil. Tableau detecta
el dispositivo y se adapta para una mejor presentación de la página.
Tipo de Dispositivo (4): Predeterminado, Escritorio, Tablet y Móvil. Y dentro de cada uno,
salvo el Predeterminado, elegimos un prototipo. Por ejemplo, dentro de Escritorio podremos
elegir distintos tamaños en función del tamaño de la pantalla (grande, medio, genérico, etc.)
Consejo de Cuentas de Castilla y León
14
II. Publicación y actualización en Internet.
Una vez configurado el Dashboard, <<guardar como>> es aconsejable guardarlo con la
extensión *.twbx; esto es, como libro empaquetado de Tableau, si lo vamos a subir a
internet.
El libro se va a alojar en el servidor de Tableau online. Se pueden guardar ficheros que
ocupen un máximo de 10 Gigas, con la licencia Desktop. Sirva como referencia que, de
todas las páginas publicadas sobre las Entidades Locales por el Consejo de Castilla y
León, incluidas las de prueba, no ocupan más de 120 Megas.
En la barra de Menú >>Servidor >>Tableau Public
Consejo de Cuentas de Castilla y León
15
Una vez te das de alta en el Servidor Online de Tableau, con tu usuario y contraseña, ya
eres Administrador de las páginas que publiques, con tus correspondientes permisos para
borrar, modificar, eliminar, etc.
Al subir un libro ‘empaquetado’ al servidor de la nube, estamos incluyendo ‘los extractos’,
esto es, toda la información de la BD de la que dependen las hojas de trabajo. Por eso,
cada vez que cargamos los martes el fichero de IECISA que incorpora las nuevas cuentas
que han entrado en esa semana, con las famosas ACC_CONTABLESX_XX, una vez
ejecutados los ‘Procedimientos almacenados’ correspondientes, simplemente, tendremos
que ‘Actualizar los Extractos’, guardar y subir a la nube para que nuestras páginas web
recojan los cambios producidos.
Consejo de Cuentas de Castilla y León
16
Ejemplo de libro de trabajo publicado en el servidor online de Tableau Public:
Quiero llamar la atención sobre 2 vínculos en la parte inferior derecha de la página:
<<Compartir>>: Al hacer <<click>>
Consejo de Cuentas de Castilla y León
17
Nos ofrece 2 posibilidades:
a) Enlace. remitir un enlace con la dirección URL de la página creada, bien
por correo-e, Twitter y Facebook
b) Código de incrustación. Posibilidad que, desde otra página web,
podamos acceder a la página creada, insertando el código señalado. Es lo
que hacemos desde la página web de Consejo de Cuentas. Algo similar a
lo que ofrece la AEMET sobre el tiempo para que cualquiera que diseñe
una página web cree un vínculo que presente la información del tiempo.
Ej. <div class='tableauPlaceholder' id='viz1501584612678' style='position:
relative'><noscript><a href=''><img alt=' '
src='https://public.tableau.com/static/images/Co/Consejo_
Cuentas_PrincipalesMagnitudes/Principalesmagnitudescontables/1_rss.png'
style='border: none' /></a></noscript><object class='tableauViz'
style='display:none;'><param name='host_url'
value='https%3A%2F%2Fpublic.tableau.com%2F' /> <param name='site_root' value=''
/><param name='name'
value='Consejo_Cuentas_PrincipalesMagnitudes/Principalesmagnitudescontables'
/><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param
name='static_image'
value='https://public.tableau.com/static/images/Co/Consejo
Consejo de Cuentas de Castilla y León
18
_Cuentas_PrincipalesMagnitudes/Principalesmagnitudescontables/1.png' />
<param name='animate_transition' value='yes' /><param name='display_static_image'
value='yes' /><param name='display_spinner' value='yes' /><param
name='display_overlay' value='yes' /><param name='display_count' value='yes' /><param
name='filter' value='publish=yes' /></object></div> <script type='text/javascript'>
var divElement = document.getElementById('viz1501584612678'); var
vizElement = divElement.getElementsByTagName('object')[0]; if (
divElement.offsetWidth > 800 ) {
vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';
} else if ( divElement.offsetWidth > 500 ) {
vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';
} else {
vizElement.style.width='100%';vizElement.style.minHeight='995px';vizElement.style.maxH
eight=(divElement.offsetWidth*1.77)+'px';} var scriptElement =
document.createElement('script'); scriptElement.src =
'https://public.tableau.com/javascripts/api/viz_v1.js';
vizElement.parentNode.insertBefore(scriptElement, vizElement); </script>
Esta incrustación solo la hacemos la primera vez.
Nota: Crear una página web con el Editor de Texto e incluir este texto. Ver
que funciona.
<<Descargar>>:
Podemos presentar los datos como sólo lectura; o bien, permitir exportar la
información a 5 formatos distintos:
Consejo de Cuentas de Castilla y León
19
1) Libro de trabajo de Tableau. Nos obliga a tener instalada la aplicación de Tableau
para poder tratar la información.
2) PDF:
3) Tabulación cruzada. Tal cual aparecen los datos, a formato Excel
4) Datos. A formato .csv, compatible con Excel.
Consejo de Cuentas de Castilla y León
20
5) Imagen. A formato .png
Conclusión.
Lo que he pretendido, de una manera quizás apresurada, es daros una visión rápida de
cómo he adaptado esta aplicación de BIG DATA, al tratamiento de las cuentas del sector
público en Castilla y León, destacando los 2 módulos que para mí han resultado más
novedosos: la confección de los Dashboard con sus filtros; y la publicación en Internet, sin
tocar código, y su fácil actualización y mantenimiento. Igualmente reseñar la facilidad para
exportar los datos a un formato tratable desde Internet.
Esquema
• Origen de los datos.
• Elaboración de los cuadros de mando:
– Ejemplo. Principales magnitudes contables.html
– Dashboard en blanco.
– Colocación de los objetos.
– Filtros.
– Adaptación del dispositivo.
• Publicación y actualización en Internet. – Compartir:
• Enlace.
• Código de incrustación
– Descargar:
• 1) Libro de trabajo, 2) Pdf, 3) Tabulación cruzada(EXCEL), 4) Formato .csv (EXCEL) , 5) Imagen.
winscp Descarga de 2 ficheros:
Volcado a base de datos de Oracle Express:
EXP_TCV2
EXP_SCCTL
IECISA-(Martes)
(Balanceo) 2 B.D.
EXP_TCV2
EXP_SCCTL
Tablas: Principales y derivadas
Vistas: Reconstrucción de la cuenta. Origen de datos de Tableau
Procedimientos almacenados: genera tablas derivadas
Páginas administradas con Tableau en el dominio de Internet del Consejo de Cuentas de Castilla y León:
• http://se.consejodecuentas.es:800/rendiciondecuentas.html
• http://se.consejodecuentas.es:800/datoscontables.html
• http://10.151.78.10:800/datoscontables_Agregados.html
• http://10.151.78.10:800/Magnitudes.html
• http://se.consejodecuentas.es:800/Indicadores_2014.html
Top Related