Closing the gap between Data Analytics and Business
Closing the gap between Data Analytics and Business Decisions Training
Guía Training 1
1. Acceso a Pyplan
Log in • Ingresar a https: //my. pyplan. org/ Acceda utilizando su usuario y contraseña de Linked. In Acceso a Pyplan
Acceso a Pyplan: Pantalla principal File Manager Barra de Menú Permite abrir un nuevo modelo y visualizar los archivos incluidos en las distintas carpetas. Modelo con el cual se está trabajando. En este caso, indica que todavía no abrimos ningún modelo Cuando se abre un modelo, el Menú incluye más opciones Acceso a Pyplan
2. File Manager 2. 1. Introducción al File Manager
Pantalla Principal File Manager Acceder haciendo click El file Manager permite administrar archivos, templates y modelos Barra de Herramientas Explorador de Carpetas Introducción al File Manager Panel de Navegación
Seleccionar Carpeta Seleccionar una Carpeta Introducción al File Manager Contenido de la misma aparece a la derecha
Espacios de Trabajo Existen dos espacios de trabajo: • Espacio Público: Es la carpeta que contiene los modelos oficiales. Público Privado Introducción al File Manager • Solo el administrador puede editar estos modelos. Los demás usuarios solo pueden navegar. Espacio Privado: Contiene los modelos usados por cada usuario, para la creación y análisis de sus desarrollos. En este espacio, cada usuario puede navegar y editar los modelos.
Barra de Herramientas Copiar En Espacio Personal Cambiar Nombre Cargar Archivo Zipear Archivo Mover/ Duplicar Deszipear Archivo Descargar Archivo Eliminar Archivo o Carpeta El más utilizado Introducción al File Manager
Copiar una carpeta en su espacio Desde el espacio público pueden copiarse las carpetas al espacio privado y poder trabajar desde allí. Introducción al File Manager
2. File Manager 2. 2. Abrir un modelo
Abrir un modelo desde File Manager Doble Click Abra el modelo copiado en su espacio Abrir un modelo
Pantalla Principal al abrir un modelo Barra de Menú ü Nombre del Modelo Cuando se abre un modelo, aparecen algunas opciones adicionales en la barra de Menú: Diagrama Interfaces Abrir un modelo
3. Navegación en sistema 3. 1. Diagrama de influencia
Acceso al diagrama Pantalla inicial Tip: También puede acceder presionando Ctrl + Alt + D Diagrama de influencia
Principales elementos del diagrama Nodo variable: Usado para cálculos y lógicas. Puede ser multidimensional. Puede ser una fórmula o un escalar. Módulo -> nodo redondeado, con el contorno marcado: Conjunto de nodos organizados como diagrama. Pueden contener otros módulos, creando una jerarquía. Índice: Define la dimensión de una matriz. Permiten identificar la fila y columna de una tabla. Diagrama de influencia
Jerarquías y búsqueda de elementos Buscar un objeto Haciendo click en este menú de jerarquías puede volver atrás rápidamente. Busque el nodo “Revenue GNG Commercial” en el modelo “Basic Exercise Solved” Diagrama de influencia
Principales características de los nodos Todas las variables tienen los siguientes atributos: • Título: Nombre de la variable. • Identifier (ID): Nombre único e irrepetible de un nodo. • Inputs: Elementos que componen a la definición de la variable. • Outputs: Variables que depende de esta. • Code (definición): Es la fórmula que define a la variable y donde Uds codificará. Diagrama de influencia
Convención de colores (Best Practices) El azul define a los nodos que son resultados de lógicas dentro del modelo. Los nodos verdes son inputs que se leen desde los Excels (Templates). Son utilizados como inputs de las lógicas. Los nodos amarillos son inputs manuales cargados por el usuario – Deben ser Mínimos (solo para parámetros que no varían). Los nodos violetas indican que es el resultado de la lógica de un módulo. Los nodos grises son reportes, visualizaciones distintas de la información con la que ya se cuenta. Diagrama de influencia
Shortcuts Nos permiten movernos con mayor rapidez dentro del sistema. Podemos anclarnos a un módulo particular en el que trabajemos con regularidad y nos dirige directamente dando click. Diagrama de influencia
3. Navegación en sistema 3. 2. Visualización de los nodos
Evaluar un nodo Doble c presen lick para tar res del ob ultado jeto Barra de Herramientas Nombre del nodo Edición Actualizar Resultados Visualización de Nodos Nombre del Nodo
Menú de ventana de resultados ü El icono despliega nuevas opciones sobre el nodo. Detalles Índices Exportar Ver en Diagrama Visualización de Nodos Generar gráfico al lado/debajo de la tabla
Editar y guardar formato de nodo Guardar los cambios En Visualización Propiedades Visualización de Nodos
Ejercicio: Visualización de Nodo - Busque el nodo de id “rep_revenue_full”. - Evalúe el nodo. - Visualizar total columna y total fila. - Dar formato a números (valor entero con separador de miles). - Resaltar con negrita los totales. - Dar un formato condicional a los números inferiores a 100, coloreando el fondo de rojo. Puede consultar el paso a paso en este video Visualización de Nodos
3. Navegación en sistema 3. 3. Exportación
Exportación rápida Exportación
Opciones de exportación Current Selection -> Nos exportará el cubo tal como estamos viéndolo en el momento. Full -> Exportará el cubo entero. Al tener muchas dimensiones, el sistema lo ordena de manera plana, para poder aplicar directamente una tabla dinámica en Excel. Las otras opciones que despliega el sistema en la exportación, dependen de la configuración regional del Excel del usuario. Se recomienda probar distintas combinaciones hasta encontrar la adecuada a su configuración. Exportación
Ejercicio: Exportación de nodo Ejemplo: Full Ejemplo: Current Selection Busque el nodo “Tariff” (id: ex_tariff) y expórtelo con Current Selection Exportación
4. Report Manager (Creación y edición de interfaces)
Cómo crear una Interface Nombre de Interface Report Manager
Al entrar en Interface Guardar Cambios Dashboard Pantalla Inicial Report Manager Barra de Herramientas Tipo de Elemento
Selección de tipo de elemento ü Incluir Elementos Deseados Pivot Tabla Gráfico Texto/Imagen y otros Diagrama Wizard (Operación sugerida) Report Manager
Incluir nodo en Interface ü Haciendo click en Wizard por su ID o título Report Manager y buscando un nodo
Propiedades de gráficos y tablas Report Manager
Ejercicio: Creación de Interface Crear un interface nueva y llamarla “My Interface” Buscar el nodo “rep_revenue_full” haciendo click en “Wizard”. Dar formato a números (valor entero con separador de miles). Agregar cuadros con los índices para los índices “time” (para el time elegir formato rango) y “ex_dem_full_client_category”. Guardar. Probar cómo cambia la tabla al escoger determinados clientes o determinados años. Puede consultar el paso a paso en este video Report Manager
Menú de opciones de Interface Compartir Editar Nombre Duplicar Exportar Borrar Click derecho para abrir menú con opciones Report Manager
Espacios de trabajo Interfaces Propios Interfaces Compartidos Report Manager
Cómo crear una Application Nombre de Application Arrastre las Interfaces dentro de la App que acaba de crear Report Manager
5. Session Manager
Consideraciones ü Permite administrar en tiempo real las sesiones que cada usuario generó cuando accedió a Pyplan. Session Manager
Consideraciones ü Cuando un usuario accede a Pyplan, el sistema crea una nueva sesión. ü Si el usuario hace click en el botón , cierra esa sesión. ü Si el usuario cierra el navegador de internet, la sesión permanece abierta. ü Solamente los usuarios con rol de administrador pueden cerrar sesiones de otros usuarios. Session Manager
Consideraciones ü Haciendo click en una sesión, el administrador puede monitorear RAM y procesador que está utilizando ese usuario y sesión. Session Manager
Consideraciones ü En el cuadro de System Summary, el administrador puede monitorear cuanta RAM, espacio en disco y utilización del CPU están consumiendo todas las sesiones en ese momento. Session Manager
6. Coding 6. 1. Creación de nuevos elementos
Modo Navegación – Modo Edición Modo Navegación Modo Edición Creación de nuevos elementos
Modo Edición Crear Variable Crear Selector Crear Indice Crear Módulo Crear Cuadro Texto Creación de nuevos elementos
Edición del Modelo ü Para agregar una variable al sistema, debe darse click y arrastrarla. Creación de nuevos elementos
Edición del Modelo Hacer Click en un Nodo Hacer Alias, duplicados, etc. Enviar al Fondo, Traer al Frente Dar Formato al Nodo Darle Color al Nodo Creación de nuevos elementos
Edición del Modelo Código Creación de nuevos elementos
Edición del Modelo Título ID Creación de nuevos elementos
6. Edición de lógicas 6. 2. Operadores matemáticos y lógicos
Operadores Matemáticos § § § + : Suma. - : Resta. * : Multiplicación. / : División. ** : Potencia. Lógicos § § § § Operadores matemáticos y lógicos | : Unión & : Intersección < : menor que. <= : menor o igual a. == : igual a. > : mayor que. >= : mayor o igual a. != : distinto que.
6. Edición de lógicas 6. 3. Principales Funciones
Funciones Principales - 1 Dataarray (alternativa 1) Sintaxis create_dataarray (0. , [Índice 1, Índice 2, …, Índice n]) Descripción Crea un cubo editable en Pyplan indexado por los índices Índice 1, Índice 2, …, Índice n. 1) Una vez creada, se debe hacer doble click en el nodo, ir a modo edición, opciones “Chart and filters” y elegir la Tabla Pivot: 2) Aceptar los cambios y tocar el lápiz para editar. 3) Presionar “Accept” para salvar los Cambios: Principales Funciones
Funciones Principales - 2 Dataarray (alternativa 2) Sintaxis create_dataarray([Valor Elemento 1, Valor Elemento 2, . . . , Valor Elemento n], [Índice 1, Índice 2, …, Índice n]) Descripción Crea una matriz indexada por el nuevo índice, permitiendo atribuirle un valor a cada elemento. Dataarray (alternativa 3) Sintaxis xr. concat([Valor Elemento 1, Valor Elemento 2, . . . , Valor Elemento n], [Índice 1]) Descripción Crea una matriz indexada por el Índice 1, permitiendo atribuirle un valor a cada elemento. Principales Funciones
Funciones Principales - 3 Subset Sintaxis subset (data. Array) Descripción Permite obtener una lista de elementos de un índice que verifican una cierta condición (mayor que cero). Copyindex Sintaxis copy_index( data. Array ) Descripción Copia los valores de un cubo unidimensional y lo transforma en un índice. Principales Funciones
Funciones Principales - 4 Subscript (alternativa 1 – Por Índice) Sintaxis subscript( data. Array, indexes) Descripción Permite seleccionar parte de una matriz, obteniendo algunos elementos del Índice 1, es decir el Índice 2). Subscript (alternativa 2 – Por Elemento) Sintaxis subscript( data. Array, indexes, values) Descripción Permite reducir una matriz en una dimensión, obteniendo los valores del Elemento 1 (que es un elemento del Índice 1). Principales Funciones
Funciones Principales - 5 Subscript (alternativa 3 – Por Posición) Sintaxis subscript( data. Array, indexes[0]) Descripción Permite tomar solo un elemento de un índice, identificando este por su posición. Importante: la primera posición en un índice es cero. (0, 1, 2…). Principales Funciones
Funciones Principales - 6 Sum Sintaxis dataarray. sum([Índice 1. name, Índice 2. name]) Descripción Suma los valores del cubo a lo largo de uno o mas índices. Cumulate Sintaxis dataarray. cumsum(Índice. name) Descripción Acumula a lo largo del índice. Principales Funciones
Funciones Principales - 7. max Sintaxis dataarray. max(Indice. name) Descripción dataarray. max(Indice. name): Devuelve el valor Máximo de una matriz a lo largo de un índice. dataarray. max(): Devuelve el valor Máximo del Cubo. xr. ufuncs. máximum() Sintaxis xr. ufuncs. maximum( cube 1, cube 2 ) Descripción Para obtener el valor máximo entre dos variables. Principales Funciones
Funciones Principales - 8. min Sintaxis dataarray. min(Indice. name) o datarray. min() Descripción dataarray. min(Indice. name): Devuelve el valor Mínimo de una matriz a lo largo de un índice. dataarray. min(): Devuelve el valor Mínimo del Cubo. xr. ufuncs. minimum() Sintaxis xr. ufuncs. minimum. min( cube 1, cube 2 ) Descripción Para obtener el valor mínimo entre dos variables. Principales Funciones
Funciones Principales - 9 Condicional Sintaxix xr. where(condition, true. Part, false. Part=None ) Descripción Equivale a un =SI() en Excel. Dada una condición determinada, el resultado es una matriz que contiene el resultado de aplicar una u otra lógica, dependiendo de si se cumple o no la condición. Principales Funciones
Funciones Principales - 10 Aggregate Sintaxis aggregate(data. Array, map. Info, source. Index, target. Index, aggregation. Function='sum' ) Descripción Transforma una matriz originalmente indexada por el Índice de origen (source. Index) en una matriz indexada por Índice objectivo (target. Index), donde cada elemento del Índice de origen se corresponde con un y solo un elemento del Índice objectivo en un Mapa De-Para (map. Info). La operación de agregación utilizada es la suma por default pero puede modificarse con la operación que se desee, media, máximo, mínimo, etc. Principales Funciones
Funciones Principales - 11 Annualise Sintaxis annualise(Variable, Chosen_month = 0 ) Descripción Time_Index, Year_Index, Transforma una matriz con valores en meses (indexados por índice Time) a valores anuales. Years_to_time Sintaxis years_to_time(data. Array, years. Index, time. Index, div=12 ) Descripción Transforma una matriz con valores en años (normalmente, índice Years) una con valores por meses (normalmente, índice Time). El parámetro Divisor permite dividir el valor anual en el número que se desee (usualmente 12 para colocar en partes iguales el valor de un año a los meses). Principales Funciones
Funciones Principales - 12 Dynamic Sintaxis dynamic( data. Array, index, shift, initial. Values=None ) Descripción Hace una simulación dinámica calculando el valor definido para cada momento del tempo. Initial Values son los valores que asume la variable para los primeros n períodos (definidos por shift) A partir del momento n+1, el valor de la variable es igual al período n+1 -n° Shift Su principal utilidad es hacer referencia a momentos de tiempo atrasados (shift=-1), e inclusive tomar el valor calculado en la misma variable en un momento anterior. Principales Funciones
Funciones Principales - 13 Otras Funciones § xr. ufuncs. fabs(dataarray): Devuelve el valor absoluto de la Variable. § dataarray. round(dígitos): Redondea la Variable con la cantidad de dígitos deseada. § change_index(dataarray, old. Index, new. Index, compare. Mode=1, default=None): transforma una matriz de un índice (pequeño) a otro (mayor) cuando ambos comparten elementos. Por default los elementos que no se encuentran en el índice menor, se completan con cero. § concat_index(Índice 1, Índice 2, …, Índice n): concatena dos o más índices. Principales Funciones
Funciones Principales - 14 Otras funciones § _array_temporal (o cualquier nombre seguido de _): crea variables locales dentro de la definición de cualquier nodo. Luego podemos utilizarlas dentro del calculo, haciendo referencia a “_array_temporal”. Funciona solo dentro del nodo donde se creó. § dataarray. fillna(0): Cambia los valores indefinidos de Pyplan (Null, Nan) por cero o el valor que se coloque como parámetro entre paréntesis. Los elementos indefinidos pueden surgir como consecuencia de un cálculo mal hecho, como por ejemplo una división por cero. Revise la documentación de Pyplan para más información Principales Funciones
7. Templates
Esquema de Trabajo de Templates Esquema de lectura de información desde Excel (template) hasta Pyplan Templates
7. Templates 7. 1. Aspectos generales de los templates
Ejemplo de Template y hojas verdes Aspectos generales de los Templates
Gestión de Templates ü Los templates son archivos Excel creados para ayudar en la carga de inputs a Pyplan. ü El formato del templates es creado de acuerdo con la estructura de datos disponibles. ü Los templates utilizan una macro (Visual Basic) para copiar los datos de las hojas rojas a las verdes. ü Hojas Rojas: Son utilizadas por los usuarios para completar los inputs. Estas hojas priorizan una estructura que facilite la carga de datos. ü Hojas Verdes: Son utilizadas para crear la estructura de datos necesarios para ser leída en Pyplan. La información en la hoja verde es la misma que en la hoja roja. Aspectos generales de los Templates
Gestión de Templates ü Deben tenerse las siguientes consideraciones: Configuración Previa Podemos No podemos • Modificar el nombre del archivo. • Modificar el nombre • Habilitar las macros Incluir fórmulas o la posición de las Incluir comentários hojas. Insertar líneas • Insertar líneas antes de la línea 6 • Insertar columnas en el rango de datos leídos. Aspectos generales de los Templates
7. Templates 7. 2. Errores comunes
Templates: mensajes de error En el caso de cambiar el nombre o el orden de las hojas, aparecerá el siguiente mensaje al intentar guardar: Ver en Excel: 3. Pyplan Template Error 1 Errores comunes
Templates: mensajes de error En el caso de que exista en las hojas verdes un error valor no válido, aparecerá el siguiente mensaje: Ver en Excel: 3. Pyplan Template Error 2 Errores comunes
Templates: errores en las lecturas Síntoma: Usted actualizó el template, lo subió al sistema y no observa cambios en el modelo. Revisar: Al momento de guardar el template, ¿estaba habilitada la macro? Revise que en la hoja verde, los datos se copiaron correctamente desde la hoja roja. Síntoma: Actualizó un template, y al subirlo al modelo nos arroja un mensaje de error. Revisar: Verifique el template fue cargado correctamente y que no se haya cambiado el nombre del template u hoja. Observe que en este caso, el mensaje nos dice cual es el cubo con error, y “File not found”. Por ejemplo; al guardar el archivo bajo el nombre Pyplan Template 1 (y no Pyplan Template) y subirlo se obtendrá error a menos que se modifique el code para contemplar el nuevo nombre del archivo. Errores comunes
7. Templates 7. 3. Actualización de los templates
Actualización de los templates ü Si se cambiaron los datos del Template, el nuevo Template debe ser cargado en Pyplan en la carpeta a la cual pertenece dentro del modelo. ü Para cargar un nuevo template, arrastre el archivo a la carpeta correspondiente, o haga click en el botón Upload. Actualización de los templates
Actualización de los templates ü Cuando cargue un nuevo template, la versión anterior cambiará de nombre y agregará “. old”. ü Para utilizar los nuevos datos del template, deberá recargar el modelo, o dar doble click en el botón Refresh Lectura Excel en caso de existir (db_refresh_excel). Actualización de los templates
7. Templates 7. 4. Lectura de Templates en el modelo
Templates: conexión con Pyplan ü Para hacer una lectura, debe realizarse la conexión entre el archivo y el modelo. ü Utilizamos los siguientes nodos para las conexiones: ü Poseen una definición como la siguiente: result= excel_connection("Pyplan Template\Pyplan Template. xlsm") Lectura de Templates en el modelo
Templates: Lectura en Pyplan ü Las lecturas son hechas con la siguiente función: result = dataarray_from_excel(excel, named. Range= =“Nombre Hoja Verde”, indexes= =[índice_1, índice_2, . . . , índice_n], value. Columns=Índice o Nombre de Columna, replace. By. Index=None, default. Value=0) ü El primer parámetro es el conector analizado en la diapositiva anterior. ü El segundo parámetro es el nombre de la hoja verde. ü El tercer parámetro son los índices que se leen en fila. ü El cuarto parámetro es el índice que se lee en columna o el nombre de la columna a leer. Lectura de Templates en el modelo
Templates: Lectura en Pyplan Va n ex um nd n. I ol e. C m lu lu Co Lectura de Templates en el modelo
Templates: Lecturas Usando Totaltime ü Para hacer la lectura del totaltime, debe utilizarse un índice auxiliar para levantarlo correctamente. ü El Help Read Totaltime tiene la misma cantidad de elementos que el totaltime, pero en lugar de tener el año y mes (2019. 01, 2019. 02, . . . ) tiene una serie de números que van del 1 hasta la cantidad de elementos del totaltime. ü Ejemplo: Si el totaltime va del 2019. 01 al 2024. 12, entonces el help_read_totaltime va del 1 al 72. ü Cuando cargamos el template, debe cargarse el value column como el help_read_totaltime Lectura de Templates en el modelo
Templates: Lecturas Usando Totaltime ü result = dataarray_from_excel(excel, named. Range= =“Nombre Hoja Verde”, indexes= =[índice_1, índice_2, . . . , índice_n], value. Columns= help_read_totaltime, replace. By. Index= totaltime) ü Una vez que tenemos el índice levantado en totaltime, debemos aplicar la función “evatime”, para pasar el cubo de totaltime a time. ü Diferencia entre totaltime y time -> El totaltime tiene la totalidad del período 2018. 01 a 2024. 12. En cambio, el time se queda solamente con la parte del período que utilizamos. Por ejemplo, 2019. 01 a 2020. 12. ü Lectura final: result = evatime(dataarray_from_excel(excel, named. Range= =“Nombre Hoja Verde”, indexes= =[índice_1, índice_2, . . . , índice_n], value. Columns= help_read_totaltime, replace. By. Index= totaltime)) Lectura de Templates en el modelo
Templates: Lecturas Usando Totaltime • Ejemplo Lectura Parámetros Generales: evatime replace. By. Index=Totaltime Lectura de Templates en el modelo
7. Templates 7. 5. Construcción de Template desde cero un
Construcción de Template Para analizar la construcción de templates se sigue el modelo “Reading from Templates. ppl”, que utiliza como template al archivo Excel “Pyplan Template”. Se modificará el template y luego el modelo en https: //my. pyplan. org/ para que lea la nueva versión. Nota: el modelo ya contiene las Novix Functions y algunas otras funciones necesarias para realizar la lectura de Templates de forma mas sencilla. Construcción de un Template desde cero
Construcción de Template Como punto de partida, una vez que se ingresó a https: //my. pyplan. org/ debe copiarse la carpeta 13 - Reading from Templates (que se ubica en la carpeta “Examples”, dentro de la subcarpeta 05 - Pyplan Library) desde el espacio público al espacio privado. Pasos a seguir: A) Para la modificación del template 1. Descargar el template “Pyplan Template” desde la carpeta “Pyplan Template” que se encuentra en 13 - Reading from Templates de su espacio privado. 2. Duplicar las últimas dos hojas, de modo de tener una nueva hoja roja y una nueva hoja verde. A la hoja roja colocarle el nombre: “Inflation Rate Projection”, y a la hoja verde colocarle el nombre “ppa_inflation_rate_projection”. Suponer que el valor inicial de la tasa de inflación es 1. 01 y que luego crece 0. 1% mensualmente. Construcción de un Template desde cero
Construcción de Template 3. Abrir Visual Basic (Alt+F 11) y abrir “Módulo 1” dentro de la carpeta “Módulos”. 4. En esta hoja está desarrollada la macro sobre la cual se harán los cambios. Cantidad de Hojas Rojas Enumeración de las Hojas, Con el Mismo Orden y Nombre. Cantidad de Hojas Rojas Construcción de un Template desde cero
Construcción de Template 4. Cambiar la macro en la definición: debemos agregar las hojas nuevas. Construcción de un Template desde cero
Construcción de Template B) Para la modificación del modelo (SIEMPRE TRABAJANDO EN SU ESPACIO PERSONAL) 1. Cargar el nuevo template en la carpeta Pyplan Template lo que generará una versión old del actual. 2. Abrir el modelo “Reading from Templates”. Las correcciones se harán sobre el ejemplo inicial. 3. Crear el nodo verde de lectura de la nueva variable. Utilizar la función dataarray_from_Excel(). Llamar al nodo “Inflation Rate Projection” y a su ID “ppa_inflation_rate_projection” para que sea idéntico a la hoja y rango del template. Nota: La solución puede chequearse en el módulo “Example of connection Solved with new data”. Puede consultar el paso a paso en este video Construcción de un Template desde cero
8. Creación de un modelo desde cero
Ejercicio de modelaje Actividad: Llevar a cabo las actividades planteadas como ejercicio en el siguiente post Creación de un modelo desde cero
Gracias! Para más información sobre las funcionalidades de Pyplan: http: //docs. pyplan. com/
- Slides: 98