Informes SQL personalizados

Inicio





Introducción

Los informes SQL personalizados permiten al usuario crear informes que se ajusten a sus necesidades. Esto se consigue escribiendo un script SQL que se comunica directamente con la base de datos, y que se añade al árbol de navegación de MMEX.

La interfaz del gestor de informes SQL personalizados posee las siguientes características:

Campo de texto Título del informe

Se utiliza para darle un título y acceder al script en el árbol de navegación.

Casilla de verificación

Encabezado

Se puede añadir un encabezado sin un script asociado. Un elemento del menú tiene un script asociado.

Cuando está marcado: Permite usar un título como encabezado en el árbol de navegación.

Casilla de verificación

Submenú

Cuando está marcado: El título aparecerá en el árbol de navegación como un submenú bajo el elemento anterior, el cual no tiene que ser necesariamente un encabezado.

Campo de texto

Código del script SQL

En este campo se escribe el propio script.

Botón Cargar

Cargar un script ya existente desde un fichero.

Botón Guardar

Guardar los cambios realizados sobre un script.

Botón Ejecutar

Permite ejecutar el script sin cerrar la ventana.
Advertencia: Los errores pueden dar como resultado la pérdida del script si no se guarda antes.

Botón Limpiar

Limpia el campo de código del script SQL.

Botón Cerrar

Cierra la ventana sin guardar. Es una manera de cancelar.

Una vez que se crea el script y se guarda en MMEX, se puede acceder fácilmente al informe a través del árbol de navegación.

La creación de un nuevo informe SQL personalizado se realiza mediante:

Esto abrirá la ventana de gestión de informes SQL personalizados, y permite al usuario escribir directamente un script y guardarlo como fichero.

Existen scripts SQL personalizados de utilidad disponibles en el foro de MMEX en Internet, al que se puede acceder de las siguientes maneras:

Recomendaciones:

Nota:





Volver arriba

Inicio





Ejecución de informes mediante el árbol de navegación

Los informes creados por el gestor de informes personalizados se graban permanentemente en el árbol de navegación. Al informe se le da un nombre al guardarse. Mediante el título del informe, el usuario puede:

Se puede guardar un título de informe sin un script SQL asociado. Se utiliza como título para agrupar varios scripts. En ese caso el árbol de navegación se comporta de forma similar a los informes estándar. Los informes sólo se pueden anidar en un nivel de profundidad.



Volver arriba

Inicio





Estructura de la base de datos de MMEX

Para poder crear ficheros de script, necesitamos entender la estructura subyacente de la base de datos. Esta estructura se muestra a continuación:


Estructura básica de MMEX

mmex_db_structure




Información de tabla

Esta imagen muestra los nombres de tabla con sus campos asociados, y los enlaces que conectan las tablas mediante sus claves primarias.

Nombres de tabla

Descripción de la tabla

InfoTable_V1

Contiene ajustes específicos de la base de datos.

CurrencyFormats_V1

Contiene los valores de las divisas de la base de datos.

AccountList_V1

Contiene todos los nombres de cuenta, y los datos específicos de cada cuenta.

Payee_V1

Contiene todos los beneficiarios, y la última categoría usada por cada uno.

Category_V1

Es una lista de todas las categorías del sistema.

SubCategory_V1

Es una lista de todas las subcategorías del sistema.

CheckingAccount_V1

Es la tabla principal donde se mantienen todas las transacciones.

SplitTransactions_V1

Contiene los datos asociados a las transacciones divididas.



Tablas no mostradas en el diagrama


Stock_V1

Utilizada para acciones y enlazada con la tabla: AccountList_V1 mediante el campo HeldAt

Assets_V1

Contiene todos los detalles de los activos

BudgetYear_V1

El año específico de un presupuesto

BudgetTable_V1

Detalles de presupuestos

BudgetSplitTransactions_V1

Transacciones divididas para presupuestos

BillDeposit_V1

Contiene todos los detalles de las transacciones periódicas. Similar a la tabla: CheckingAccountV1





Volver arriba

Inicio





SQL Scripting (Introducción)

Intentar enseñar programación SQL sobrepasa el alcance de este fichero de ayuda, pero a continuación se encuentra una guía rápida para comprender los scripts, y posiblemente crear los suyos propios si los necesita.

Al crear scripts, el principal comando que usaríamos es la sentencia SELECT.

El formato básico es:

SELECT <nombre>

<nombre> representa el nombre de los campos de la tabla, o * para todos los nombres.

FROM <tabla>

<tabla> representa la tabla o tablas sobre las que se dirige el comando.

WHERE <condición>

[opcional] aquí comprobamos alguna condición.

ORDER BY <parámetro>

[opcional] ordena la salida por este parámetro.


Ejemplos:

SELECT * FROM AccountList_V1;
* Mostraría todos los campos de la tabla: AccountList_V1

SELECT AccountName, Status FROM AccountList_V1 where AccountType = “Term”;
* Mostraría los nombres y el estado de las cuentas a plazo de la tabla: AccountList_V1


Aquí se describe un script más complejo:


Aunque este script es poco útil, sirve para describir algunos principios básicos.

select pT.PayeeName payee,
    cT.CategName,
    scT.SubCategName
from payee_v1 pT,
    category_v1 cT,
    subcategory_v1 scT
where
    pT.categID = cT.categID and pT.subCategID = scT.subCategID
order by
    payee


En el ejemplo vemos que el nombre de la tabla es: payee_V1 y el nombre del campo es PayeeName

En la cláusula FROM vemos el nombre de la tabla: payee_V1 pT
* Aquí el pT del final actúa como un alias para el nombre de tabla.

Ahora en el SELECT vemos: pT.PayeeName payee
* El pT. se utiliza para establecer la tabla a la que pertenece el campo PayeeName
* El payee del final es un alias para la combinación tabla.nombredecampo

Podemos separar tablas y nombres de campos con comas, como vemos en este ejemplo.

En la cláusula WHERE vemos: pT.categID = cT.categID
* Aquí hacemos una comprobación para asegurarnos que los dos campos son el mismo en ambas tablas.

Ahora en la cláusula ORDER BY podemos utlizar el nombre simplificado de payee que definimos en la cláusula SELECT.

Espero que esta pequeña introducción aclare un poco el funcionamiento de los scripts que se ven en la sección Custom SQL Report Scripts del foro de MMEX.




Volver arriba

Inicio