A Workaround for Union Statements in SAP BusinessObjects BI4 WebIntelligence

Ocasionalmente, nuestros clientes tienen necesidades de información que requieren la creación de consultas sobre las declaraciones de la Unión, pero a veces es simplemente imposible proporcionar exactamente lo que el cliente solicita o simplemente no confiamos en el complejo proceso que está sucediendo entre bambalinas. Este artículo explica una solución alternativa en los casos en que la funcionalidad de la Unión nativa no se ajusta a nuestras necesidades.

La motivacion

Limitación del proceso: Tomemos la función Consultas combinadas del Panel de consulta en WebI. Con la funcionalidad de Union podemos tratar varios conjuntos de información, siempre que entre las consultas que deseamos combinar, tomemos la misma:

  • Numero de objetos
  • Tipo de formato de objeto (texto, número o fecha)

El requisito anterior es una propiedad conocida heredada del lenguaje SQL.

Pero puede surgir una limitación específica porque en WebIntelligence las propiedades de la consulta se comparten entre las diversas consultas combinadas, como se indica en la siguiente figura:

Tomemos el ejemplo de un cliente que informa sobre un universo financiero y desea monitorear sus VENTAS NETAS definidas como Ventas brutas + (-Retenciones), y debido a que ambas piezas de información están ubicadas en diferentes tablas, deciden usar dos consultas combinadas y Resumirlos a través de la Unión. Pero se resuelve un problema con los contextos de múltiples Universos: para consultar Ventas Brutas se usa un contexto de VENTAS, pero para consultar los retornos se usa un contexto de DEVOLUCIONES. El resultado es que dicha operación no se puede realizar correctamente porque WebI no puede asignar diferentes contextos a diferentes consultas combinadas.

Fiabilidad: otra razón puede ser para fines de verificación de datos: es posible que no se confíe en el motor de Union y, por razones de simplicidad y prueba de datos, nos gustaría consultar la información en diferentes consultas y probarlas por separado, y luego hacer la unión a nivel de informe.

Error de migración: es posible que la herramienta de administración de actualizaciones de BI4 no pueda convertir ciertos informes de DeskI según las declaraciones de la Unión.

La solución

La solución propuesta reproduce el comportamiento de UNION ALL recuperando datos en consultas separadas y combinándolos directamente en el informe. Se puede implementar siguiendo los pasos a continuación:

  1. Creación de una consulta para cada conjunto de información.
  2. Use la función "Fusionar dimensiones" combinando TODAS las dimensiones relacionadas de cada consulta.
  3. En Propiedades del documento, marque la característica "Extender los valores de dimensión combinada".
  4. Cree variables de atributo con los atributos referidos a la nueva dimensión fusionada relacionada.
  5. Cree variables de medida que muestren las medidas relacionadas que provienen de las diferentes consultas como una suma. En el ejemplo anterior, sumaríamos ventas y (-vueltas).
  6. Cree la tabla única arrastrando y soltando todas las dimensiones combinadas, las variables de atributos y las variables de medida que sean necesarias.
  7. Filtra los atributos mostrando solo los que no son nulos.

Conclusión La solución alternativa agrega valor al usuario avanzado que no puede usar la función de Unión nativa pero desea obtener los beneficios de resumir dos conjuntos de datos que vienen en formato idéntico. Si tiene preguntas sobre este método, o si desea compartir su experiencia o consejos, ¡no dude en dejar un comentario!

EspañolEnglish