Los usuarios normalmente necesitan que sus tablas de datos de Web Intelligence (WebI) se exporten automáticamente a archivos de texto para poder utilizarlos en otros módulos de BI de BusinessObjects de SAP. Lamentablemente, SAP BusinessObjects, incluida la más reciente versión de SAP BI 4, no incluye una opción directa para automatizar la exportación de contenido de una pestaña de documento WebI al formato de texto. Con el fin de cubrir esta brecha y lograr la exportación a la función de texto para WebI hemos diseñado un proceso totalmente automatizado que se muestra en este artículo.
El problema
Los usuarios quieren exportar automáticamente las tablas de datos sin procesar desde el archivo WebI al TXT, pero ninguna de las opciones de formato de programación existentes (PDF, XLS y CSV) es satisfactoria porque:
- Un PDF trae un documento estático que no puede ser reutilizado directamente
- Un XLS o XLSX tiene la limitación de 65535 o 1 millones de filas, respectivamente
- CSV no exporta tablas, solo exporta el contenido de la consulta
Los usuarios de versiones anteriores podrían usar el antiguo módulo Desktop Intelligence (DeskI) como una alternativa, pero desafortunadamente se ha interrumpido en la nueva versión de SAP BusinessObjects BI4.
Las consecuencias
Los usuarios ven a WebI como un módulo "limitado" en términos de opciones de intercambio y tamaño de exportación. Por otra parte, los clientes no migrarán al nuevo SAP BI4, especialmente aquellos que hacen pesadamente Query & Analysis y exportan la tabla de resultados al txt usando DeskI. El futuro no parece muy prometedor porque:
- Incluso si una exportación manual a TXT está disponible desde SAP BI4 FP3, la automatización para ella no está disponible actualmente y SAP no tiene una fecha de lanzamiento para esta característica
- DeskI no es posible en SAP BI4. Incluso si un complemento DeskI está previsto para las próximas versiones, el futuro de su función de programación es incierto y las empresas no deben permitir DeskI para ser parte de su hoja de ruta de BI.
La solución
El siguiente método describe una forma de programar un informe WebI con la función Exportar a texto e implica el uso de los siguientes elementos:
- A 1st WebI document with the table to be exported
- Un servicio Web que apunta a esa tabla de documentos como una fuente
- A 2nd WebI document with just one query that sits on the Web Service created. No tables nor charts are needed here
- A vbs script that adapts the output from this 2nd WebI document
Los pasos detallados a seguir para cada artículo son:
- The 1st webI document contains all the development needed (Queries, objects, variables, filters) and a table with the final data you would like to export
- This 1st WebI document must be edited with WebI Rich Client. Select the table you want to export -> Right Click -> Publish Block -> Create Web Service
- The 2nd WebI document which contains the Web Service based query can be scheduled to run with the following options:
- Tipo CSV
- Calificador de texto de comillas dobles, delimitador de columnas de pestañas
- Exportar a una carpeta de servidor (por ejemplo, D :)
- Nombre con extensión txt (por ejemplo, Results1.txt)
Vea a continuación una instantánea con el detalle de la configuración de la programación:
Este ejemplo se aplica a sólo 1 tabla para exportar, pero se pueden exportar varias tablas por documento marcando la opción "Generar CSV separado por proveedor de datos".
Una vez ejecutado con éxito, el resultado de este programa será un archivo de texto (Results1.txt) con el contenido delimitado por tabulaciones, pero con un pequeño defecto: el llamado calificador de texto (comillas dobles) aparece en todas partes.
Para eliminar este calificativo de texto molesto (comillas dobles) se puede programar un programa. Usted puede utilizar su estilo libre pero si usted copia y pega el txt siguiente en un archivo llamado "QuoteRemoval.vbs" hará el trabajo:
Set objRe = new RegExp
ObjRE.Pattern = "" ""
ObjRE.Global = Verdadero
StrFileName = "D: Results1.txt"
Set objFS = CreateObject ("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile (strFileName)
StrFileContents = objTS.ReadAll
ObjTS.Close
StrNewContents = objRE.replace (strFileContents, "")
Set objWS = objFS.CreateTextFile ("D: Results2.txt")
ObjWS.Write StrNewContents
ObjwS.close
El resultado de este script ejecutado será un archivo Results2.txt perfectamente formateado
Por último, pero no menos importante, puede crear un sistema de eventos que desencadena secuencialmente los distintos elementos o incrustar estos elementos en un paquete de objetos que se puede programar como un todo.
Aplicabilidad y Beneficios
This method enhances the sharing options for the SAP BusinessObjects platform, allowing an unlimited amount of raw data to exit the platform through WebI automatically, and be re-used in Big Data modules like HANA, Visual Intelligence, Explorer or simply for individual consumption.
Seeing even further, this turns WebI into a real ETL (Extraction, Transformation and Load) tool providing integration capabilities to the end users.
Resumiendo, este método:
- Permite una mejor integración de SAP BusinessObjects con los procesos de BI corporativos mejorando la eficiencia y la eficacia
- Facilita a las empresas optar por una migración a la versión SAP BI4, con todos los beneficios que aporta la nueva plataforma
Si tiene preguntas sobre este método, o si desea compartir su experiencia o sugerencias, no dude en dejar un comentario.