Créer une mesure conditionnée au niveau d’exploration
Avec this.selection.dimsToExplore
Pour choisir la valeur d’une mesure selon le niveau sur lequel je suis dans une hiérarchie, je crée une mesure calculée qui utilise les objets
this.selection
et
this.selection.dimsToExplore
permettant de récupérer des informations sur la sélection courante.
Exemple:
var dim = "myDimension"; // Dimension ID explored to search in the flow
var niv = -1;
// Look for the dimension in the information flow to get its exploration level
for (var idx = 0; idx < this.selection.dimsToExplore.length; idx++)
{
if (this.selection.dimsToExplore[idx].dim.id == dim)
{
niv = this.selection.dimsToExplore[idx].lPos;
// niv => -1: root level, 0: deepest level (close to root),.. n-1: highest level
break;
}
}
if (niv == 1) return 1234;
else if (niv == 0) return 5678;
else return 0;
Avec this.selection.dimsToFilter
Pour choisir la valeur d’une mesure selon le niveau sur lequel je suis dans une hiérarchie, et en présence d'un filtre, je crée une mesure calculée qui utilise les objets
this.selection
et
this.selection.dimsToFilter
permettant de récupérer des informations sur la sélection courante.
Exemple:
var dim = "myDimension"; // Dimension ID explored to search in the flow
var niv = -1;
// Look for the dimension in the information flow to get its exploration level
for (var idx = 0; idx < this.selection.dimsToFilter.length; idx++)
{
if (this.selection.dimsToFilter[idx].dim.id == dim)
{
niv = this.selection.dimsToFilter[idx].level;
// niv => -1: root level, 0: deepest level (close to root),.. n-1: highest level
break;
}
}
if (niv == 1) return 1234;
else if (niv == 0) return 5678;
else return 0;