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í.