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)