Procedimiento para listar objetos de todos los proyectos en Command Manager

El propósito de este procedimiento para listar objetos de todos los proyectos en Command Manager es crear un fichero CSV con el listado del objeto deseado (cubos, informes, documentos, suscripciones, etc) de todos los proyectos. En este ejemplo se listaran todos los cubos inteligentes de todos los proyectos. Al final del articulo puedes descargarte el procedimiento de ejemplo.

Especificaciones del entorno

  • Microsoft Windows 10
  • MicroStrategy 2021 update 4.1

Demostración en video

Explicación del código

A continuación se explica el código linea a linea. Puedes copiar y pegar el código en Command Manager o abrir el procedimiento de ejemplo desde MicroStrategy Command Manager (Menú Archivo > Abrir Procedimiento). Para que se exporten los resultados en un fichero csv se debe ejecutar via linea de comandos.

//Creado por MiguelTroyano.com
 
//Cabecera
printOut( "Fecha;NombreProyecto;RutaCubo;NombreCubo");
 
// Obtenemos todos los proyectos
ResultSet rsProyectos = executeCapture("LIST ALL PROJECTS;");
 
// Nos posicionamos en el primer proyecto encontrado
rsProyectos.moveFirst(); 
 
// Mientras que existan proyectos entramos en el bucle 
while (!rsProyectos.isEof()){
 
             // Se declara la varibable para guardar el nombre del proyecto
             String sNombreProyecto = rsProyectos.getFieldValueString(DisplayPropertyEnum.NAME);  
 
             //Obtenemos los cubos del proyecto
             ResultSet rsCubos = executeCapture("LIST ALL INTELLIGENT CUBES FOR PROJECT '" + sNombreProyecto  + "';");
             rsCubos.moveFirst();  
             
             //Mientras que existan cubos entramos en el bucle
             while (!rsCubos.isEof()){
                          // Se declaran las variables de ruta y nombre para el cubo
                          String sRutaCubo = rsCubos.getFieldValueString(DisplayPropertyEnum.PATH);
                          String sNombreCubo = rsCubos.getFieldValueString(DisplayPropertyEnum.NAME);
                         
                           // Se muestra el resultado
                          printOut(";" + sNombreProyecto + ";" + sRutaCubo + ";" + sNombreCubo);	
		
                          // Nos movemos al siguiente cubo
                          rsCubos.moveNext();
             }
 
             // Nos posicionamos en la siguiente suscripcion por si tiene más de una
             rsProyectos.moveNext();
}

Si en lugar de listar todos los cubos quieres listar por ejemplo todas las métricas, debes cambiar LIST ALL INTELLIGENCE CUBES por LIST ALL METRICS. Este procedimiento también funciones con hechos, atributos, suscripciones, etc.

Ejemplo a descargar

El fichero a descargar contiene los siguientes ficheros:

  • Fichero con extensión .bat con el código necesario para ejecutar el script de Command Manager (solo funciona en Windows)
  • Fichero con extensión .scp de Command Manager que contiene el código para ejecutar el procedimiento.
  • Fichero con extensión .cmp de Command Manager que contiene el código del procedimiento.

Si necesitas más información de como se ejecutan procedimientos de Command Manager haz clic aquí.

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.