Conectar Atlas SBI a BigQuery mediante Driver ODBC Simba

El volumen de datos generados por las diferentes aplicaciones de gestión, así como por los sistemas que nos relacionan con nuestros clientes, competidores, proveedores, etc. crece de forma exponencial.

El conjunto de tecnologías conocidas como Big Data nace para gestionar este gran volumen de información. Como en todos los sectores, y sobre todo cuando se trata de tecnologías incipientes, hay multitud de soluciones que van desde la instalación en nuestras dependencias a utilizar sistemas en Cloud.

En este sentido, Google ofrece BigQuery como alternativa al procesamiento de grandes volúmenes de datos sin necesidad de instalar infraestructura en nuestras dependencias. Esta tecnología permite realizar consultas que con los sistemas tradicionales podrían tardar minutos e incluso horas en apenas unos segundos.


Al final del artículo encontraréis más información sobre qué es y cómo comenzar a trabajar con Google BigQuery.

Por supuesto, no es la única tecnología válida ni el único fabricante que ofrece algo parecido, se podría hacer exactamente lo mismo con Amazon DynamoDB, Mongo DB cualquier otro sistema de Big Data.

Configuración del driver de Big Query

Para conectarnos en tiempo real a BigQuery utilizaremos el Driver ODBC para BigQuery de Simba. Una vez descargado, las claves de activación para la versión real o trial las recibiremos por separado y deberemos copiarlas en la carpeta de Simba. Cuando lo hayamos instalado, procederemos a la creación de un DSN.

Desde el Panel de control de Windows, crearemos un nuevo DSN de sistema del tipo Simba ODBC Driver with SQL Connector for Google BigQuery. Asignaremos como nombre "Google BigQuery"

Asignaremos un nombre y pulsaremos el botón Sign In.


Aparecerá una pantalla para conectar con nuestro servicio de Google BiqQuery, deberemos introducir nuestro usuario de Google y la contraseña


Una vez identificados, nos solicitará permiso para acceder a las consultas y administración de datos de Big Query.



Cuando aceptemos la petición, nos devolverá una clave que deberemos insertar en la configuración del driver ODBC. Para ello la copiaremos en el portapapeles (e incluso en algún lugar seguro).



Y la pegaremos en el campo Confirmation Code. El campo Refresh Token se actualizará con la validación por parte de Google.



Para realizar las pruebas elegiremos una de las bases de datos públicas que proporciona Google, pero podemos indicar nuestra base de datos (Catalog) y nuestro proyecto en los desplegables.



Antes de guardar el DSN provaremos la conexión.


Configuración de la conexión a BigQuery en Atlas SBI

Para configurar la conexión en Atlas SBI, abriremos nuestro proyecto, seleccionaremos la pestaña Conexiones y crearemos una nueva conexión.

Seleccionaremos ODBC como Proveedor de conexión, y el la cadena de conexión escribiremos "DSN=Google BigQuery" (o el nombre que hayamos indicado en nuestra conexión ODBC)



Probaremos la conexión


Y ya podremos utilizarla en cualquier control de Atlas SBI para obtener datos en tiempo real de Big Data.

Como podéis apreciar en la imagen, Atlas SBI muestra el esquema de la base de datos BigQuery, tanto tablas como campos y tipos de datos para facilitar la creación de consultas.


En los ejemplos utilizados hemos realizado consultas sobre bases de datos de 137 Millones de registros.




Enlaces relacionados



Más información »

Consultar el catálogo de Bases de datos en SQL Server

De la misma manera que en ocasiones necesitamos información sobre las tablas de una base de datos, podemos encontrarnos ante la necesidad de conocer qué bases de datos se hallan en una instancia de SQL Server y sus características, ya sea para su administración ulterior o como una simple consulta de estado.

No es necesario especificar el uso de la base de datos master. Se pueden ejecutar desde cualquier base de datos contenida en la instancia.

Ver los archivos de las Bases de datos

La siguiente consulta nos permitirá listar todos los archivos de las bases de datos contenidas en una instancia. Es decir, devolverá una fila por cada base de datos almacenada en la base de datos master. Además, nos permitirá conocer la ubicación física de cada una de las bases de datos, así como su tamaño y estado.


SELECT * FROM sys.master_files




Obtener una lista de las Bases de datos

Mediante la siguiente consulta obtendremos un listado de todas las bases de datos contenidas en nuestra instancia, con sus respectivos nombres, identificadores, fechas de creación y demás características.

SELECT * FROM sys.databases



Ubicaciones de los archivos de las Bases de datos

Podemos utilizar esta última consulta para averiguar las ubicaciones de los archivos de las bases de datos contenidas en nuestra instancia. Nos devolverá una fila por cada base de datos y las ubicaciones de los archivos de datos y registros, así como la fecha de creación de la base de datos.

SELECT db.name, db.database_id, db.create_date,
   dt.physical_name AS data_physical_name, dt.data_space_id AS data_data_space_id,
   lg.physical_name AS log_physical_name, lg.data_space_id AS log_data_space_id
FROM sys.databases db
   LEFT JOIN sys.master_files dt ON db.database_id = dt.database_id AND dt.type_desc = 'ROWS'
   LEFT JOIN sys.master_files lg ON db.database_id = lg.database_id AND lg.type_desc = 'LOG'
 






Podréis encontrar más información en:

https://www.datavail.com/blog/use-sys-master_files-sql-servers/
https://www.mssqltips.com/sqlservertip/1037/system-information-in-sql-server-2000-vs-sql-server-2005/
http://www.sqlservercentral.com/Forums/Topic932220-146-1.aspx


Más información »

Consultar definición de las tablas de una Base de datos

Si alguna vez habéis realizado la documentación de un proyecto sabréis el tiempo que puede llegar a consumir documentar cada una de las tablas. Una manera de reducirlo podrá ser mediante el uso de las consultas contenidas en este artículo, ya que con ellas podremos obtener, de manera rápida, completa y eficaz, información agrupada sobre nuestras bases de datos.

El resultado de cada consulta dependerá de la base de datos a la que realice la solicitud dentro de una instancia de SQL Para este artículo, utilizaremos la conocida base de datos pública Northwind, por lo que los resultados se referirán a ella. Antes de realizar la correspondiente consulta, tendremos que seleccionar la base de datos en el selector de base de datos disponibles, o bien escribir antes de la consulta: "USE Northwind", pudiendo cambiar "Northwind" por el nombre de vuestra base de datos.

Las consultas que a continuación detallaremos nos ofrecerán la siguiente información:
  1. Listado de las tablas de la base de datos
  2. Definiciones de columnas de todas las tablas
  3. Toda la información de todas las columnas
  4. Nombre de tablas e información sobre filas y espacio ocupado

Listado de las tablas de la base de datos

La primera consulta nos proporcionará un listado completo de las tablas de la base de datos.

El resultado nos dará el nombre de la BBDD ("northwind"), el nombre del esquema que contiene la tabla ("dbo"), el nombre de la tabla (TABLE_NAME) y el tipo de tabla (TABLE_TYPE).


SELECT * FROM Information_schema.tables



Si quisiéramos tener un listado únicamente de las tablas o de las vistas añadiríamos la cláusula WHERE correspondiente:

WHERE TABLE_TYPE = 'BASE TABLE'o
WHERE TABLE_TYPE = 'VIEW'


Definiciones de columnas de todas las tablas

Para obtener la definición de las columnas de todas las tablas, es decir, el esquema de la tabla, el nombre de la tabla, la posición ordinal, el nombre de la columna, el tipo de dato contenido y su longitud máxima; utilizaremos la siguiente consulta:

SELECT Table_schema, Table_Name, Ordinal_Position, Column_name, Data_Type,
Character_maximum_length as Max_length
FROM Information_schema.columns



Toda la información de todas las columnas

A diferencia de la consulta anterior, ésta devuelve no sólo la definición, sino toda la información disponible de todas las columnas.

SELECT * FROM INFORMATION_SCHEMA.columns



Nombre de tablas e información sobre filas y espacio ocupado

Ésta consulta nos facilitará los nombre e información relativa a las filas y el espacio ocupado. En concreto, nos devolverá los siguientes campos:


  • TableName: Nombre de cada tabla de la BBDD
  • IndexName: Clave primaria asignada
  • Rows: Número de filas
  • TotalPages: Número total de páginas asignadas o reservadas por esta unidad de asignación
  • UsedPages: Número total de páginas actualmente en uso
  • DataPages: Número de páginas usadas que tienen datos de fila, datos LOB y datos de desbordamiento de fila. Se omiten las páginas de índice internas y páginas de administración de asignación.
  • TotalSpaceMB, UsedSpaceMB y DataSpaceMB: Espacio en MB ocupado por las anteriores páginas.


SELECT
    t.NAME AS TableName,
    i.name AS indexName,
    p.[Rows],
    sum(a.total_pages) AS TotalPages,
    sum(a.used_pages) AS UsedPages,
    sum(a.data_pages) AS DataPages,
    (sum(a.total_pages) * 8) / 1024 AS TotalSpaceMB,
    (sum(a.used_pages) * 8) / 1024 AS UsedSpaceMB,
    (sum(a.data_pages) * 8) / 1024 AS DataSpaceMB
FROM
    sys.tables t INNER JOIN     
    sys.indexes i ON t.OBJECT_ID = i.object_id INNER JOIN
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id INNER JOIN
    sys.allocation_units a ON p.partition_id = a.container_id
WHERE
    t.NAME NOT LIKE 'dt%' AND i.OBJECT_ID > 255 AND i.index_id <= 1
GROUP BY
    t.NAME, i.object_id, i.index_id, i.name, p.[Rows]
ORDER BY
    object_name(i.object_id)






Podéis obtener más información en los siguientes enlaces:

https://www.mssqltips.com/sqlservertutorial/179/sql-server-informationschema-views-tutorial/
https://msdn.microsoft.com/es-es/library/ms189792.aspx

Más información »

Error 0x858c001b al instalar SQL Server

En la última instalación de Atlas SBI me he encontrado con el error 0x858c001b al instalar SQL Server.

En concreto:



SQL Server Setup has encountered the following error:

The SQL Server license agreement cannot be located for the selected edition, <EDITION>
. This could be a result of corrupted media or the edition being unsupported by the media.

Error code 0x858C001B.
El error se produce para cualquier versión (2012, 2014) y edición (Standard, Express,...) y es debido a que el idioma de Windows Server ha de coincidir con el idioma del SQL Server, en mi caso estaba instalando SQL Server ESN (Español) sobre un Windows Server en ENU (Inglés).

Parece ser que el error se produce incluso si las versiones de idioma y formatos de fecha no son exactamente iguales como podría pasar si se instala la versión española sobre un server con configuración de latinoamerica.

Más información en los links:
Más información »

Selección de actividades entre dos fechas

Uno de los criterios de selección que los usuarios suelen pedir con más frecuencia es poder analizar lo ocurrido entre dos fechas.

En aquellos Hechos que se producen en una fecha concreta, como por ejemplo, las facturas, las visitas a una página web, etc. La fórmula de selección es fácil y únicamente se ha de mirar si la fecha del Hecho está entre las fechas de inicio y de fin del periodo.

En otras palabras, suponiendo que la fechas de inicio y fin del periodo a evaluar se guarden en las variables FIniPeriodo y FFinPeriodo respectivamente, y la fecha del hecho se guarde en el campo FechaHecho, la fórmula de selección quedaría:

FIniPeriodo >= FechaHecho and FechaHecho <= FFinPeriodo

Actividades entre dos fechas
El tema se complica cuando queremos seleccionar las actividades abiertas entre dos fechas. Es decir, lo que queremos analizar son hechos que no se producen en un instante, sino que tienen lugar durante un periodo de tiempo. Por ejemplo, queremos analizar proyectos, expedientes, actividades de servicio, etc.

En este caso, hemos de tener en cuenta que la actividad tendrá dos fechas, la Fecha de Inicio de la Actividad (FIniActiv) y la Fecha de Fin de la Actividad (FFinActiv)

Lo primero que debemos tener claro es las variantes posibles entre fechas de inicio y fin de actividad y fechas de inicio y fin de periodo. La siguiente imagen nos muestra todas las posibilidades.

Esquema de actividades dentro de un periodo de tiempo

En concreto son:
  1. Que la actividad empiece antes de inicio del periodo y acabe dentro del periodo
  2. Que la actividad empiecen entre el periodo y acabe después
  3. Que la actividad empiece y acabe dentro del periodo
  4. Que la actividad empiece antes del periodo y acabe después
  5. Que la actividad empiece y acabe antes del periodo
  6. Que la actividad empiece y acabe después del periodo.
De todas estas, las que nuestro informe debe tratar son las 4 primeras (las que en la imagen están en verde).

El primer impulso para definir la condición que incluya los cinco casos que nos interesan, sería empezar a definir las condiciones que han de cumplir cada una de las posibilidades y unirlas mediante un or.

Sin embargo, existe una forma más fácil y limpia de hacerlo, y es concentrarnos en las que NO están dentro del periodo (las que no queremos analizar).

De esta manera, la fórmula que selecciona todas las actividades que están fuera del periodo es:

FFinActi < FIniPeriodo or FIniAct > FFinPeriodo

Una vez tenemos la condición, para obtener las actividades que SÍ están dentro del periodo, solamente tenemos que negar la condición.

Para ello, echaremos mano del algebra de Boole y en concreto de las leyes de Morgan que nos dicen que "la negación de las conjunción es la disyunción de las negaciones" y "la negación de la disyunción es la conjunción de las negaciones" o lo que se conoce como: No (A y B) es lo mismo que (No A) o (No B) -para la negación de la conjunción- No (A o B) es lo mismo que (No A) y (No B).

De esta manera, negando la condición que selecciona lo que queda fuera del periodo tendremos la condición que selecciona todas las actividades que quedan de alguna manera dentro del periodo. 

Por lo tanto, tendremos que:

Not (FFinActi < FIniPeriodo or FIniAct > FFinPeriodo) 

Aplicando la ley de Morgan


Not (FFinActi < FIniPeriodo) and Not (FIniAct > FFinPeriodo)

Finalmente, resolviendo cada una de las condiciones tendremos que la condición que selecciona las actividades que están dentro del periodo es:

(FFinActi >= FIniPeriodo) and  (FIniAct <= FFinPeriodo)






Más información »

Activar modo de compatibilidad con IE7

Cuando se abre Atlas SBI con un navegador Internet Explorer 9 o superior, es posible que los selectores y los menús no se desplieguen correctamente. Esto es debido a que se debe ejecutar con el Modo Compatibilidad activado.

El tema se soluciona solicitando al usuario que active el modo de compatibilidad cuando trabaje con nuestro servidor de Atlas SBI, pero esto no siempre es fácil. Lo mejor es disponer de un sistema que active el modo compatibilidad independientemente de la configuración del usuario.

Como explica José Manuel Alarcón en su artículo Forzar el modo compatibilidad, la forma de activar el modo compatibilidad de forma transparente para el usuario es añadir una cabecera en cada una de las páginas.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

Activación automática

La activación del modo de compatibilidad también se puede realizar de forma automática para todos los documentos de nuestro proyecto.

Para ello modificaremos los parámetros de la cabecera en el servidor (o en la aplicación virtual según sea conveniente) siguiendo los siguientes pasos:

Windows 2008 o superior
  • Abrir el Internet Information Services Manager
  • Seleccionar el servidor web (en su defecto se puede realizar a nivel de aplicación virtual)
  • Abrir la definición de HTTP Response Headers

Administración de IIS


  •  Crear una nueva cabecera con el siguiente contenido

Añadir Cabecera HTTP

Windows 2003
  • Abrir el Internet Information Services Manager
  • Seleccionar el servidor web (en su defecto se puede realizar a nivel de aplicación virtual)
  • Abrir las propiedades del servidor
  • Seleccionar la pestaña Encabezados HTTP
  • Agregar un nuevo encabezado

Añadir Cabecera HTTP W2003


Con estos sencillos pasos cuando un usuario abra los Documentos Analíticos con Internet Explorer se ejecutarán perfectamente independientemente de la configuración que tenga el usuario en su equipo.


Más información »

Sistema de ayuda para Documentos Analíticos

Aunque en general los gráficos, tablas o tacómetros son autoexplicativos, hay casos en los que conviene aclarar el tipo de información que se muestra, por ejemplo la selección que se ha realizado, si los datos se filtran con todos los selectores o que fórmula se ha utilizado para calcular el valor representado, de manera que el usuario pueda interpretar la información de manera correcta.

Atlas SBI - Sistema de Ayuda - Ventana de ayuda
Atlas SBI - Sistema de Ayuda - Ventana de ayuda


En este artículo veremos como construir un sistema de ayuda para nuestros documentos analíticos a fin de dotar al usuario de mayor información a la hora de analizar los datos mostrados.

Nuestro sistema de ayuda constará básicamente de dos elementos, una base de datos con una tabla para guardar la información a mostrar y un documento analítico con parámetros que mediante un control de tipo Grid mostrará los datos.

En el diseño del documento de ayuda veremos una técnica que nos permitirá cambiar el formato de las filas de los grids, rompiendo el tradicional esquema de filas y columnas. Esta técnica se utiliza también para mostrar la información de la ficha del cliente en el documento Cliente - Dashboard de la Demo autoinstalable de Atlas SBI.

Construcción de la base de datos

Como hemos comentado, la base de datos tendrá una única tabla llamada BIAyuda donde se indicará el Proyecto, Documento y Control al cual pertenece la ayuda, el orden en que queremos que se muestren los registros y como campos da ayuda un título, la ayuda propiamente dicha y una ayuda técnica (aclaración para los informàticos que utilicen el sistema de ayuda).

La tabla se puede crear utilizando el siguiente código SQL

USE [AyudaSBI]
GO
/****** Objeto:  Table [dbo].[BIAyuda]    ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BIAyuda](
[Proyecto] [varchar](120) NULL,
[Documento] [varchar](100) NULL,
[Control] [varchar](50) NULL,
[Titulo] [varchar](200) NULL,
[Orden] [int] NULL,
[AyudaTecnica] [varchar](max) NULL,
[Ayuda] [varchar](max) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF

Una vez creada la tabla insertaremos unos registros de prueba. En este caso cuatro registros para cuatro controles del 'Doc1' de un proyecto llamado 'Ayuda'.

INSERT INTO [AyudaSBI].[dbo].[BIAyuda]([Proyecto], [Documento], [Control],[Titulo],[Orden],[AyudaTecnica],[Ayuda])
     VALUES ('Ayuda','Doc1', 'Control1', 'Grafico Evolución mensual', 10, null, 'El Gráfico de evolución mensual permite saber <br/>bla, bla, bla, <b>bla</b>, bla, bla')

INSERT INTO [AyudaSBI].[dbo].[BIAyuda]([Proyecto], [Documento], [Control],[Titulo],[Orden],[AyudaTecnica],[Ayuda])
     VALUES ('Ayuda','Doc1', 'Control2', 'Funcionamiento control2', 20, null, 'El control 2 permite el siguiente funcionamiento <br/>bla, bla, bla, <b>bla</b>, bla, bla')

INSERT INTO [AyudaSBI].[dbo].[BIAyuda]([Proyecto], [Documento], [Control],[Titulo],[Orden],[AyudaTecnica],[Ayuda])
     VALUES ('Ayuda','Doc1', 'Control3', 'Funcionamiento control3', 30, null, 'El control 3 permite el siguiente funcionamiento <br/>bla, bla, bla, <b>bla</b>, bla, bla')

INSERT INTO [AyudaSBI].[dbo].[BIAyuda]([Proyecto], [Documento], [Control],[Titulo],[Orden],[AyudaTecnica],[Ayuda])
     VALUES ('Ayuda','Doc1', 'Control4', 'Funcionamiento control4', 40, null, 'El control 4 permite el siguiente funcionamiento <br/>bla, bla, bla, <b>bla</b>, bla, bla')

Como se puede observar, dentro del campo Ayuda insertamos código HTML para mejorar la presentación y facilitar la lectura del contenido.

Creación del documento de ayuda

Una vez creada la conexión a la base de datos, crearemos un documento llamado 'Ayuda Documentos Analíticos' y le asignaremos cuatro parámetros: Proyecto, Documento, Control y AyudaTecnica.

Atlas SBI - Creación Documento Ayuda - Parámetros
Atlas SBI - Creación Documento Ayuda - Parámetros

Seguidamente añadiremos un control de tipo Grid para seleccionar los datos que mostrará nuestro documento de ayuda. La selección se hará utilizando los parámetros del documento Proyecto, Documento, Control y AyudaTecnica.

Atlas SBI - Creación Documento Ayuda - Control Grid
Atlas SBI - Creación Documento Ayuda - Control Grid

El parámetro AyudaTecnica determinará si queremos que nuestro documento muestre el contenido del campo AyudaTecnica. El resto de parámetros determinará que registros se seleccionan de manera que la sentencia retornará todos aquellos registros del Proyecto, Documento y Control seleccionados o, en caso de que el parámetro Control contenga el valor '-Todos-', retornará todos los registros del Proyecto y Documento seleccionado.

Atlas SBI - Creación Documento Ayuda - Select del Grid
Atlas SBI - Creación Documento Ayuda - Select del Grid
Una vez tenemos la selección, generamos las columnas utilizando el botón de Generar Columnas y asignamos el campo Titulo como Clave Unica.

Atlas SBI - Creación Documento Ayuda - Columnas del Grid
Atlas SBI - Creación Documento Ayuda - Columnas del Grid

Cambio del formato de la tabla de datos

Para facilitar la lectura de la ayuda cambiaremos la estructura tradicional de filas y columnas de nuestro Grid cambiando la disposición de los campos mediante una plantilla HTML en la sección Data Row Template.

Atlas SBI - Creación Documento Ayuda - Formato de las columnas del grid
Atlas SBI - Creación Documento Ayuda - Formato de las columnas del grid

Distribuyendo los campos en filas con codigo HTML para destacar los puntos que creamos conveniente como por ejemplo el título o definir el tamaño.

Atlas SBI - Creación Documento Ayuda - Formato de las columnas del grid
Atlas SBI - Creación Documento Ayuda - Formato de las columnas del grid
Una vez hayamos colocado el control Grid en el diseño HTML del documento estará listo para ser llamado desde cualquier control.

Llamada desde un control

Para llamar a la ayuda, abriremos el control desde el que queremos llamarla y crearemos un enlace al documento que acabamos de crear.

Atlas SBI - Creación enlace al documento de Ayuda
Atlas SBI - Creación enlace al documento de Ayuda

En el campo Texto del menú escribiremos el texto que queremos que le aparezca al usuario cuando haga clic sobre el control. Este texto ha de ser fácilmente entendible por lo que en este ejemplo pondremos 'Como interpretar este gráfico'.

Atlas SBI - Creación enlace al documento de Ayuda
Atlas SBI - Creación enlace al documento de Ayuda

En los parámetros del enlace activaremos la opción Valor y asignaremos los valores de Proyecto, Documento y Control que correspondan, así como si queremos que se muestre la ayuda técnica o no.

Una vez guardado el proyecto, podremos ver que nuestro control muestra una nueva opción al hacer clic sobre él con el texto de la ayuda.

Atlas SBI - Sistema de Ayuda
Atlas SBI - Sistema de Ayuda

Y al seleccionar la opción mostrará el contenido de la ayuda definida en la base de datos.

Atlas SBI - Sistema de Ayuda - Ventana de ayuda
Atlas SBI - Sistema de Ayuda - Ventana de ayuda


Llamada desde el documento

Creación de un botón 

Podemos utilizar el mismo sistema para proporcionar ayuda a todo el documento. Para ello crearemos un control de tipo Button al que le asignaremos el texto Ayuda.
Atlas SBI - Sistema de Ayuda - Creación botón Ayuda
Atlas SBI - Sistema de Ayuda - Creación botón Ayuda

Llamada al documento de ayuda

Tal como hicimos en el ejemplo anterior, crearemos un enlace a nuestro documento de ayuda. En este caso adaptaremos el texto del menú cambiando 'gráfico' por 'documento', ampliaremos el alto de la ventana, y lo más importante, en el parámetro Control escribiremos el texto '-Todos-' para que seleccione todos los registros de ayuda del documento y proyecto concretos.

Atlas SBI - Sistema de Ayuda - Creación botón Ayuda
Atlas SBI - Sistema de Ayuda - Creación botón Ayuda

Insercción del botón en el panel

Seguidamente añadiremos el botón creado al panel de selectores añadiendo un margen para que se desplace a la derecha. y guardaremos nuestro proyecto.

Atlas SBI - Sistema de Ayuda - Creación botón Ayuda
Atlas SBI - Sistema de Ayuda - Creación botón Ayuda

Con esto conseguimos que al pasar sobre el botón Ayuda se desplegue la opción como interpretar el documento.
Atlas SBI - Sistema de ayuda de documento
Atlas SBI - Sistema de ayuda de documento

Que al ser seleccionada abre una ventana con la ayuda de todos los controles del documento que se haya definido en nuestra base de datos de ayuda.

Atlas SBI - Sistema de ayuda de documento
Atlas SBI - Sistema de ayuda de documento

Este ejemplo se puede mejorar añadiendo campos a la tabla de base de datos para ofrecer una ayuda más personalizada como por ejemplo el idioma o el rol en caso de que diferentes usuarios deban tener información diferente.

Más información »

C04. Creación de un Report PDF

Uno de los controles que incorpora Atlas SBI para crear Documentos Analíticos es el Report PDF. Con este control se pueden crear informes estáticos en formato PDF que garantizan la perfecta impresión del documento.

Report en PDF con Atlas SBI
Report PDF con Atlas SBI

El control Report incorpora, él sólo, toda la potencia de los sistemas de reporting tradicionales como Cristal Report o jReport.

Además de toda la potencia de diseño que permite incorporar imágenes personalizadas para cada registro, generación de códigos de barra, menús de marcadores, etc. Cuando el usuario abre el Documento Analítico que contiene el Report PDF, podemos elegir entre mostrarle directamente el informe en PDF o una página web con el informe renderizado y la posibilidad que él mismo guarde el documento en uno de los siguientes formatos:

  • PDF
  • RTF (Word)
  • Excel
  • CSV
  • Texto
  • MHT (HTML)
  • Imagen
En el siguiente video vemos como crear un informe PDF con la información de los vendedores de una empresa con un gráfico de la evolución sus ventas, convenientemente maquetado.


El video mostrado aquí requiere una versión más reciente de Adobe Flash Player. Si está utilizando un navegador con JavaScript desactivado, por favor actívelo ahora. En caso contrario, por favor, actualice la versión gratuita de Flash Player descargándolo aquí.

Más información »

Union in Memory

En el artículo Joins in Memory vimos como unir dos tablas en memoria mediante un Join de manera que el resultante era una tabla con las mismas filas que la tabla principal pero el total de columnas de las dos tablas.

En determinados casos, nos puede interesar unir los resultados de dos consultas una detrás de otra en la misma tabla resultante, o lo que es lo mismo, realizar un UNION en memoria.

Si las dos tablas están en la misma base de datos se puede realizar mediante una única consulta

Select 'Ventas' as Serie, Mes, Sum(ImporteBruto) as Valor
FROM VistaVentas
Where Ejercicio = 2014
Group By Mes

UNION

Select 'Objetivo' as Serie, Mes, Sum(Objetivo) as Valor
FROM Objetivos
Where Ejercicio = 2014
Group By Mes

Sin embargo, esta operación no se puede realizar en caso de que las bases de datos de Ventas y de Objetivos estén en sistemas diferentes, en este caso podemos utilizar los pasos de Atlas SBI para obtener nuestra tabla unida.

En primer lugar crearemos un paso con la consulta de los valores


Seguidamente crearemos un nuevo paso de tipo DataBaseQuery.



y modificaremos el nombre de la tabla destino (Target table) poniendo el mismo nombre de la tabla destino del primer paso tal como indica la siguiente figura.


acto seguido podremos seleccionar la nueva conexión y especificar la consulta, teniendo en cuenta, eso sí que los nombres de campos han de coincidir con los nombres de campos de la primera consulta.




Más información »

Lo más visto