Hay momentos en OneStream en los que necesita extraer una lista de tiempo para facilitar la ejecución de un trabajo de data management o incluso producir un número definido de periodos en una cube view. Para poder establecer un rango de tiempo, puede que necesite crear una lista de tiempo basada en un número seleccionado de periodos. A veces una expansión estándar de Member Filter puede ayudar, pero en otras ocasiones los usuarios quieren la flexibilidad de seleccionar cuántos meses desean ver.

En esta publicación exploraremos un fragmento de código que ayuda a generar una lista de meses basada en la selección del usuario sobre el número de meses a pronosticar. Este código es especialmente útil en escenarios de pronóstico financiero, donde necesitamos calcular valores para una cantidad específica de meses.

¿Qué hace el código?

El código está diseñado para generar una lista de meses comenzando desde un mes específico, con base en un escenario seleccionado y un número seleccionado de meses. Luego devuelve esa lista, que puede utilizarse en cálculos posteriores o mostrarse en un reporte.

Paso 1: obtener el mes inicial

El código comienza recuperando el valor de Scenario a partir de un parámetro de escenario seleccionado que ofrece a los usuarios una lista de escenarios para elegir. Si el escenario seleccionado es “Forecast”, entonces el código recupera el Global Time configurado en la aplicación. De lo contrario, recupera el mes inicial desde el campo de texto 1 del escenario. Para este blog, usaremos el escenario Forecast como punto de partida, por lo que se utilizará Global Time y se establecerá en 2024M8.

Paso 2: número de meses seleccionado por el usuario

El usuario también debe seleccionar el número de meses de pronóstico desde una lista de parámetros que le ofrece opciones de 6, 12, 24 o 36 (esto se configura usando un parámetro de lista delimitada y puede usarse cualquier número de meses). Esto representa cuántos meses quiere incluir el usuario en el pronóstico. Este número determinará cuántos meses se generan en la lista.

Paso 3: generar la lista de meses

Con el mes inicial y el número de meses en mano, el código llama a una función llamada GenerateMonthList. Aquí es donde ocurre la magia.

Dentro de GenerateMonthList, el código hace lo siguiente:

  • 1. Analizar el mes inicial: lee el mes inicial como año y mes, por ejemplo 2024M8 para agosto de 2024.
  • 2. Agregar el mes inicial: el mes inicial se agrega primero a la lista.
  • 3. Recorrer los meses: luego el código recorre la cantidad de meses solicitada por el usuario.

En cada iteración, agrega un mes a la lista. Si el mes excede 12 (diciembre), el código pasa al siguiente año y vuelve a contar desde enero.

Por ejemplo, si el Global es 2024M8 y el usuario solicitó 6 meses, la lista incluirá:

  • • T#2024M8 (agosto de 2024)
  • • T#2024M9 (septiembre de 2024)
  • • T#2024M10 (octubre de 2024)
  • • T#2024M11 (noviembre de 2024)
  • • T#2024M12 (diciembre de 2024)
  • • T#2025M1 (enero de 2025)
  • • T#2025M2 (febrero de 2025)

Paso 4: devolver el resultado

Finalmente, el código une la lista de meses en una sola cadena y la devuelve. Este resultado puede utilizarse en otras partes de la aplicación, como en reportes o cálculos posteriores.

Este código es una herramienta poderosa para automatizar la generación de secuencias de meses en escenarios de pronóstico. Se adapta dinámicamente a distintos escenarios y entradas del usuario, asegurando que siempre se calculen y devuelvan los meses correctos.

¡Esperamos que este desglose le haya ayudado a entender cómo funciona el código y cómo puede aplicarse en escenarios reales! A continuación se muestra un fragmento del código utilizado:

Crear lista de meses en OneStream