Crear modificar y eliminar atributos en Command Manager

En MicroStrategy es posible crear modificar y eliminar atributos en Command Manager con un sencillo script.

La sintaxis para crear un atributo es la siguiente:

CREATE ATTRIBUTE ""
[DESCRIPTION ""]
[LONGDESCRIPTION ""]
IN [FOLDER] ""
[HIDDEN (TRUE | FALSE)]
ATTRIBUTEFORM ""
[FORMCATEGORY "ID"]
[FORMDESC ""]
[FORMTYPE (NUMBER | TEXT | DATETIME | DATE | TIME | URL | EMAIL | HTML | PICTURE | BIGDECIMAL | PHONENUMBER)]
[REPORTSORT (NONE | ASC | DESC)] [BROWSESORT (NONE | ASC | DESC)] EXPRESSION "" [MAPPINGMODE (AUTOMATIC | MANUAL)]
[EXPSOURCETABLES "" [, "" …]]
LOOKUPTABLE "" FOR PROJECT "";Lenguaje del código: CSS (css)

Vamos a verlo con un ejemplo:

CREATE ATTRIBUTE "Dia"
DESCRIPTION "Dia de la semana" 
IN FOLDER "\Schema Objects\Attributes" 
ATTRIBUTEFORM "ID" 
FORMCATEGORY "ID" 
FORMDESC "ID del atributo" 
FORMTYPE TEXT 
REPORTSORT ASC 
EXPRESSION "[DAY_DATE]" 
MAPPINGMODE  MANUAL 
LOOKUPTABLE "DT_DAY" 
FOR PROJECT "ENTERPRISE MANAGER";Lenguaje del código: JavaScript (javascript)

Si vamos a Developer a ver el resultado de ejecutar este script veremos lo siguiente:

También es posible modificar un atributo ya creado escribiendo tantos parámetros como queramos de la sintaxis inicial. Por ejemplo, si se quiere mover de carpeta y cambiar el nombre seria de la siguiente forma:

ALTER ATTRIBUTE "Dia" 
IN FOLDER "\Schema Objects\Attributes" 
NAME "Dia de la semana" 
FOLDER "\Schema Objects\Attributes\Tiempo" 
FOR PROJECT "ENTERPRISE MANAGER";Lenguaje del código: JavaScript (javascript)

Si por el contrario queremos borrar el atributo se debe escribir el siguiente comando:

DELETE ATTRIBUTE "Dia de la semana" 
IN FOLDER "\Schema Objects\Attributes\Tiempo" 
FROM PROJECT "ENTERPRISE MANAGER";Lenguaje del código: JavaScript (javascript)

Por último, siempre que se realizan operaciones con objetos del esquema se debe actualizar con la siguiente sentencia:

UPDATE SCHEMA REFRESHSCHEMA RECALTABLEKEYS 
RECALTABLELOGICAL RECALOBJECTCACHE 
FOR PROJECT "ENTERPRISE MANAGER";Lenguaje del código: JavaScript (javascript)

Escribir un comentario