En artículos anteriores hemos visto como conectar MicroStrategy a Python con mstrio escribiendo nosotros mismos el código y también hemos visto como instalar la extension MicroStrategy for Jupyter que nos facilita la vida y nos crea parte del código automáticamente. En esta ocasión vamos a explicar como importar un informe en Python y seleccionar lo que nos interesa de él. Mas adelante, en este articulo, utilizaremos esta importación para crear un cubo.
Especificaciones del entorno
- Microsoft Windows 10
- MicroStrategy 2020 update 2
- Mstrio 11.2
- Python v3.9
- Jupyter Notebook
- MicroStrategy for Jupyter
Importación
Seleccionar el informe y los datos
- Abre Jupyter Notebook y create un nuevo Python
- Haz clic en el botón de MicroStrategy y conectate a tu entorno.
- En la pestaña Importar datos buscamos un informe. En el ejemplo he utilizado el informe Sectores de ventas del proyecto MicroStrategy Tutorial. Podemos pulsar el botón Importar para importarlo todo o el botón Preparación de datos para escoger lo que queremos.
- En la nueva ventana he seleccionado los atributos Categoría y Año y todos los indicadores. Estos atributos e indicadores serán los que compondrán nuestro nuevo cubo.
- Al pulsar importar se nos creara el código automáticamente y se ejecutará mostrándonos una vista previa de los datos.
Explicación del código
Aunque el código es automático deberíamos entender qué es lo que esta realizando por si fuera necesario modificarlo.
from mstrio.connection import Connection
from mstrio.report import Report
from getpass import getpass
mstr_base_url = "http://localhost:8080/MicroStrategyLibrary/api/"
mstr_project_id = "B7CA92F04B9FAE8D941C3E9B7E0CD754"
mstr_username = input("Username: ")
mstr_password = getpass("Password: ")
mstr_login_mode = 1
mstr_connection = Connection(mstr_base_url, mstr_username, mstr_password, project_id=mstr_project_id, login_mode=mstr_login_mode, verbose=False)
Sectores_de_ventas = Report(mstr_connection, "40F694344E44272A422E84B85D5C82D8")
Sectores_de_ventas.apply_filters(attributes = ["8D679D3711D3E4981000E787EC6DE8A4","8D679D5111D3E4981000E787EC6DE8A4"], metrics = ["4C05177011D3E877C000B3B2D86C964F"], attr_elements = None)
Sectores_de_ventas.to_dataframe()
Sectores_de_ventas_df = Sectores_de_ventas.dataframe
Sectores_de_ventas_df
Lenguaje del código: JavaScript (javascript)
- De la línea 1-3 importa las clases necesarias para después poder conectarse a MicroStrategy y al informe.
- De la linea 5-9 establece los parámetros para poder conectarse al servidor.
- En la línea 11 procede a conectarse al servidor de MicroStrategy con los parámetros anteriores.
- En la línea 13 nos conectamos al servidor y leemos el informe con el ID del informe.
- En la línea 14 le indicamos los atributos e indicadores que queremos de ese informe.
- En la línea 15 creamos un dataframe para guardar los resultados.
- En la línea 17 asignamos a una variable el contenido del dataframe.
- Con la línea 18 conseguimos mostrar la vista previa de los datos.