Crear Stored Procedures para generar datasets - App DataWarehouse

La app DataWarehouse te da la posibilidad de crear tus propios datasets. Para ello se debe generar un script que contenga sentencias SQL o Stored Procedures (SP). En este instructivo aprenderás a crear tus propios SP para crear datasets.

Nota: para poder utilizar esta funcionalidad, debes tener acceso a AppBuilder.

Pasos a seguir

  1. Buscar el informe del que se quiere generar el dataset.

Para ello buscar “Diccionario de Viewers”:

Luego, en el buscador escribir el nombre de la vista, por ejemplo “Análisis de Órdenes de Compra”, e ingresar:

  1. Copiar el SP.

Este se encuentra en el campo Fuente de Datos:

  1. Crear tu SP:

Entrar a DBManager (Configuración Empresarial →App Builder→DBManager) y crear un script con la siguiente estructura:

CREATE PROCEDURE miSP AS

BEGIN

SET TRANSACTION LEVEL READ UNCOMMITTED

SET NOCOUNT ON

DECLARE @VacioReportCode Int

SET @VacioReportCode = dbo.getReportCode()

INSERT INTO FAFArbolSeleccion(ID, ReportCode) VALUES (0, @VacioReportCode)

DECLARE @@ReportCodeVacio  int = @VacioReportCode

EXEC SP_ORIGINAL 
@@FechaDesde = ‘20250101’, 
@@FechaHasta = ‘20250501’, 
@@Parametro1ReportCode = @@ReportCodeVacio, 
@@Parametro1ReportCode = @@ReportCodeVacio

END

A continuación se explican las partes del código parte que se deben modificar:

CREATE PROCEDURE miSP AS

:point_up: Esto crea un nuevo SP bajo el nombre miSP. Podés elegir el nombre que quieras.

DECLARE @VacioReportCode Int

SET @VacioReportCode = dbo.getReportCode()

INSERT INTO FAFArbolSeleccion(ID, ReportCode) VALUES (0, @VacioReportCode)

DECLARE @@ReportCodeVacio  int = @VacioReportCode

:point_up: Esto genera un código que representa “vacío” o “sin selección”.

EXEC SP_ORIGINAL 
@@FechaDesde = ‘20250101’, 
@@FechaHasta = ‘20250501’, 
@@Parametro1ReportCode = @@ReportCodeVacio, 
@@Parametro1ReportCode = @@ReportCodeVacio

:point_up: Finalmente, se ejecuta el SP original pasandole los parámetros necesarios. A cada parámetro se le debe asignar un valor, que puede ser un valor fijo, por ejemplo @@FechaHasta = ‘20250501’, o bien, se le puede asignar el valor vacío que creamos anteriormente @@Parametro1ReportCode = @@ReportCodeVacio para que traiga todos los valores posibles.

Es importante notar que los únicos parámetros a los que se le puede pasar @@ReportCodeVacio son a aquellos que son aquellos que están arbolizados (Maestro de Viewers - Solapa Parámetros):

Ejemplo

Por ejemplo, para el Análisis de Órdenes de Compra con el SP P_BS_OP_0010 y los siguientes parámetros:

Se crea el siguiente SP P_BS_OP_0010_DATASET:

CREATE PROCEDURE P_BS_OP_0010_DATASET AS

BEGIN

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

SET NOCOUNT ON

DECLARE @VacioReportCode Int

SET @VacioReportCode = dbo.getReportCode()

INSERT INTO FAFArbolSeleccion(ID, ReportCode) VALUES (0, @VacioReportCode)
DECLARE @@ReportCodeVacio  int = @VacioReportCode

EXEC P_BS_OP_0010 
@@CategoriaId = -3, 
@@FechaDesde ='20250101', 
@@FechaHasta ='20250501', 
@@DocumentoTipoReportCode = @@ReportCodeVacio,
@@ClienteReportCode = @@ReportCodeVacio,
@@CircuitoContableReportCode = @@ReportCodeVacio, 
@@DimensionValor = @@ReportCodeVacio,
@@DimensionID = 0,
@@ProductoReportCode = @@ReportCodeVacio, 
@@MonedaReportCode = @@ReportCodeVacio, 
@@VerPendientes = 0, 
@@EmpresaReportCode = @@ReportCodeVacio

END

Los parámetros deben pasarse en el orden en que figuran en la tabla de parámetros. Los valores numéricos corresponden a los valores que se le asignan a los parámetros, por ejemplo:

También podemos completar algunos parámetros que no queremos dejar vacíos, como la fecha desde y fecha hasta.

  1. Crear el dataset.

Abrir la app DataWarehouse y entrar en Datasets:

Luego oprimir “Crear Dataset”:

Poner un nombre y una descripción al dataset, y pegar el nombre del SP creado:

Presioná “Guardar” y listo, tu dataset está creado y preparado para conectar a tu BI.

1 me gusta