Créer une mesure conditionnée au niveau d’exploration

Modifié par Aurelie Bertrand le 2024/09/20 11:53

❗La fiche résolution est susceptible de ne pas fonctionner selon la version utilisée. Le cas échéant, veuillez contacter le support en décrivant ce qui ne fonctionne pas.  



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;