Exportar datos de OneStream a CSV: guía potente

Exportar datos de OneStream a CSV con una Business Rule

Cómo exportar datos de OneStream a CSV

Puede exportar datos de OneStream a CSV mediante una Business Rule de tipo Dashboard Extender que recopila registros, codifica la salida y guarda el archivo en la base de datos de la aplicación.

Flujo para exportar datos de OneStream a CSV

Hay casos en los que desea darle al usuario la capacidad de exportar datos a un archivo CSV. Sí, muchos componentes ya traen esa capacidad incorporada, pero algunos, como el SQL Table Editor, no la tienen. O tal vez quiera un control más detallado sobre exactamente qué datos se exportan y dónde se escribe el archivo. En este ejemplo mostraré una forma de hacerlo en OneStream.
Para lograrlo usaré la función BRApi.FileSystem.InsertOrUpdateFile.
BRApi.FileSystem.InsertOrUpdateFile(si, XFfileData)
Esta función requiere un par de parámetros que, a su vez, requerirán otras funciones con varios parámetros cada una.
Para la Business Rule de tipo Dashboard Extender.
Paso 1 – Defina la ruta y el nombre del archivo donde se exportará. En este ejemplo lo exportaré a la carpeta Application Database File, dentro del directorio Users.
‘Ruta y nombre del archivo de exportación
Dim fileName As String = “CorpAccounts.csv”
Dim filePath As String = $”Documents/Users/{StringHelper.RemoveWhiteSpace(si.UserName, False)}”
Paso 2 – Defina la dimensión que se exportará. Para fines de demostración la he dejado codificada directamente en la Business Rule.
‘Dimensión que se exportará
Dim accountDimPk as DimPk = BRApi.Finance.Dim.GetDimPk(si, “CorpAccounts”)
Paso 3 – Obtenga todos los descendientes de la dimensión y cárguelos en una lista.
‘Obtener los descendientes de la dimensión en una lista
Dim listOfParents As List(Of MemberInfo) = BRApi.Finance.Members.GetMembersUsingFilter(si, accountDimPk, “A#Root.TreeDescendantsInclusive”)
Paso 4 – Recorra la lista y agregue sus miembros a un objeto StringBuilder.
‘Recorrer la lista y anexar los miembros a un objeto StringBuilder
Dim csv As New Text.StringBuilder
For Each parent As MemberInfo In listOfParents
Paso 5 – Convierta el objeto StringBuilder en un arreglo de bytes.
‘Convertir cadena a arreglo de bytes
Dim fileBytes As Byte() = System.Text.Encoding.Unicode.GetBytes(csv.ToString)

Paso 6 – Guarde el archivo CSV en el File System.
‘Guardar CSV en archivo
Dim XFfileDataInfo As New XFFileInfo(FileSystemLocation.ApplicationDatabase, fileName, filePath)
Dim XFfileData As New XFFile(XFfileDataInfo, fileBytes)
BRApi.FileSystem.InsertOrUpdateFile(si, XFfileData)
El código completo.

Código completo para exportar datos de OneStream a CSV

Ahora, para ejecutar la Business Rule.
Para esta demostración la ejecutaré desde un botón en un dashboard.

Botón del dashboard para exportar CSV en OneStream

Llamando a la Business Rule desde el botón.

Llamada a la Business Rule desde el botón

Lo que en este ejemplo exportará los miembros de dimensión de la dimensión CorpAccounts dentro de mi aplicación.

Dimensión CorpAccounts seleccionada para exportar

Esto exportará los hijos de la dimensión CorpAccounts a un archivo CSV y escribirá el archivo en la carpeta Application Database/Users/vanderms. vanderms es mi nombre de usuario en la aplicación OneStream.

Archivo CSV de CorpAccounts en la carpeta del usuario

El archivo CSV ahora contiene los miembros de la dimensión.

Miembros de OneStream exportados y abiertos en Excel

Funcionalidad útil que, aunque en este ejemplo se usa para exportar miembros de dimensión, también la he utilizado para exportar Cube Data, datos de tablas relacionales personalizadas, así como cualquier otro conjunto de datos al que pueda acceder desde una regla.

Valide y proteja la exportación CSV

Antes de publicar la función, pruebe el proceso para exportar datos de OneStream a CSV con una cuenta que no sea administradora. Confirme que el usuario solo pueda escribir en la carpeta prevista, que el filtro de miembros devuelva los registros esperados y que las comas, comillas, saltos de línea, caracteres Unicode y descripciones vacías se procesen correctamente. Agregue una fila de encabezados clara cuando los usuarios necesiten definiciones de las columnas. Para exportaciones grandes, supervise el uso de memoria y el tiempo de ejecución, evite exponer metadatos o datos de cubo restringidos y documente el propietario, el período de retención y el comportamiento de reemplazo del archivo. Vuelva a probar este método para exportar datos de OneStream a CSV después de cada actualización y antes de utilizarlo nuevamente en el entorno de producción.

Recursos para exportar datos de OneStream a CSV

Explore la orientación de MindStream sobre integración de datos de OneStream, dashboards de OneStream, reportes de OneStream, implementación de OneStream, soporte de aplicaciones y capacitación de OneStream. La documentación oficial de OneStream ofrece orientación actual de la plataforma.