Invalidar cache en Command Manager

Es posible invalidar cache en Command Manager con la siguiente sentencia:

INVALIDATE ([ALL] REPORT CACHES [WHTABLE “wh_table_name“] ([SECURITY FILTER “sec_filter_id1” | SECURITY FILTERS “sec_filter_id1” [, ..”sec_filter_idN“])] [(USER “login_id“) | (NAME “user_name“)] [(USER GROUP “user_group_id“) | (NAME “user_group_name“)] [(DBLOGIN “dblogin_id“) | (DBLOGINNAME “dblogin_name“)] [DBCONNECTION “dbconnection_id“] [LOCALE “locale_name“] | REPORT CACHE “cache_name” [GUID cache_guid] [CHECKCACHEEXISTENCE]) IN PROJECT “project_name”;

  • WHTABLE “wh_table_name” es el nombre de la tabla del data warehouse asociada con la caché de informes que se van a invalidar, de tipo cadena.
  • SECURITY FILTER “sec_filter_id1..N” es la lista de todos los filtros de seguridad asociados con la caché de informes que se van a invalidar, de tipo cadena.
  • USER “login_id” es la identificación de inicio de sesión del usuario asociada con la caché de informes que se van a eliminar, de tipo cadena.
  • NAME “user_name” es el nombre de un usuario asociado con la caché de informes que se van a eliminar, de tipo cadena.
  • USER GROUP “user_group_id” es el ID del grupo de usuarios asociado con la caché de informes que se van a eliminar, de tipo cadena.
  • NAME “user_group_name” es el nombre de un grupo de usuarios asociado con la caché de informes que se van a eliminar, de tipo cadena.
  • DBLOGIN “dblogin_id” es el ID de inicio de sesión de base de datos que está asociado con la caché de informes que se van a eliminar, de tipo cadena.
  • DBLOGINNAME “dblogin_name” es el nombre de un inicio de sesión de base de datos asociado con la caché de informes que se van a eliminar, de tipo cadena.
  • DBCONNECTION “dbconnection_id” es el ID de conexión de base de datos que está asociado con la caché de informes que se van a invalidar, de tipo cadena.
  • LOCALE “locale_name” es el nombre del entorno local asociado con la caché de informes que se invalidarán, de tipo cadena.
  • REPORT CACHE “cache_name” es el nombre de la caché del informe que se va a invalidar, de tipo cadena.
  • GUID cache_guid es el GUID de la caché del informe que se va a invalidar, de tipo GUID.
  • CHECKCACHEEXISTENCE indica si tiene que verificar que existe la cache antes de purgarla.
  • PROJECT “project_name” es el proyecto en el que se invalidan la caché de informes, de tipo cadena.

Por ejemplo, si se quisieran invalidar todas las caches de informes del proyecto tutorial donde intervenga la tabla DWH_INGRESOS deberíamos escribir:

INVALIDATE ALL REPORT CACHES WHTABLE "DWH_INGRESOS" 
 IN PROJECT "MicroStrategy Tutorial";

Para ejecutar este script lo podemos hacer desde el entorno gráfico:

O bien desde la linea de comandos guardando el script anterior y ejecutándolo en el directorio de vuestra instalación. En mi caso en “Program Files (x86)\Common Files\MicroStrategy\”

cmdmgrlt.exe -n "Nombre_Origen_Proyecto" -u admin -p password -f "c:\script.scp" -o "c:\output.txt"
  • cmdmgrlt.exe: es el programa a ejecutar (command manager)
  • -n: nombre del origen de proyecto
  • -u: usuario
  • -p: contraseña del usuario (si no se escribe se entiende que el usuario no tiene contraseña)
  • -f: ubicación del script a ejecutar
  • -o: ubicacion del fichero de registro

Un ejemplo de fichero de salida a esta ejecución seria el siguiente: