Créer une mesure calculée

Last modified by Aurelie Bertrand on 2024/06/12 14:24

 


Vos données ne contiennent parfois pas toutes les mesures dont vous avez besoin pour votre tableau de bord. Pour pallier ce manque, il est possible de créer vos propres mesures à partir de dimensions ou mesures existantes.

Par exemple, vous disposez du chiffre d'affaires annuel sur plusieurs années. Vous souhaitez calculer l'évolution du chiffre d'affaires par rapport à l'année précédente. Vous pouvez créer une mesure calculée donnant le chiffre d'affaires de l'année précédente puis calculer le taux de progression.

Les mesures calculées peuvent être plus ou moins complexes.

Utiliser l'assistant

L'assistant propose un ensemble de fonctions qui vous permet de créer des mesures calculées facilement.
Pour créer une mesure calculé via l'assistant :

  1. Cliquez sur le bouton Nouvelle mesure puis, dans le menu contextuel qui s'affiche, Mesure calculée.
    Menu_nouvelle_mesure
    ➡ La boite de dialogue Mesure calculée via assistant s'affiche.
    Boite_assistant_mesure.png
  2. Glissez-déposez la fonction de votre choix sur la dimension ou la mesure à laquelle elle s'applique.
    ➡ La nouvelle mesure s'ajoute alors à la liste des colonnes.

Plusieurs types fonctions sont disponibles :

  • Transformateur : donne la valeur d'une mesure pour l'année, le mois, la semaine ou le jour précédent.
  • Général : fonctions générales décrites dans le tableau ci-dessous
    % ProgressionCalcule la valeur en pourcentage de la progression entre deux mesures.
    % du totalCalcule le pourcentage d'une mesure par rapport au total d'une dimension.
     % mesuresCalcule le pourcentage entre 2 mesures.
    Nombre de lignesRenvoie le nombre de lignes cumulées.
    Nombre de membresRenvoie le nombre de membres d'une dimension.
    Rang

    Calcule le rang d'une mesure dans une dimension

  • Lissage : fonctions de lissage des données
  • Prédictif : fonctions de régression et transformation de Fourier

Créer une mesure calculée (avancée)

Vous pouvez créer des mesures basées sur des dimensions ou mesures existantes.

Ces nouvelles mesures peuvent elles mêmes utiliser des paramètres que l'utilisateur peut faire varier dans son tableau de bord (variables) afin d'analyser en temps réel leur impact sur les autres indicateurs.

Pour prévisualiser le résultat de la mesure calculée, vous devez disposer de l'autorisation Utiliser l'analyse ad-hoc.

Pour créer une mesure calculée avancée :

  1. Cliquez sur le bouton Nouvelle mesure puis, dans le menu contextuel qui s'affiche, Mesure calculée (utilisateur avancé).
    Nouvelle_mesure_calculée_avancee
    ➡ La boite de dialogue Mesure calculée s'affiche.
    Boite mesure calculée
     
  2. Dans le champ Mesure en haut à gauche de la fenêtre, entrez le nom de la mesure et cliquez sur 1697446296139-386.png.
    ➡ Une mesure temporaire du même nom est créée dans la la liste de mesures et le tableau de prévisualisation des résultats de la zone droite.
    1697446899090-488.png
  3. Vous pouvez assigner la mesure une catégorie en en sélectionnant une dans la liste ou en entrant le nom d'une nouvelle catégorie.
  4. Dans la zone centrale, placez-vous en-dessous du texte et entrez la formule de la mesure en JavaScript.
    Dans la section Ajout de mesures/dimensions, vous pouvez sélectionner des mesures, dimensions et variables à intégrer dans votre formule, ou utiliser la bibliothèque de scripts. Consultez les paragraphes suivants pour plus de détails.
  5. Cliquez sur le bouton Rafraîchir pour prévisualiser le résultat de la mesure calculée.
    L'interface est semblable à celle l'analyse ad-hoc : vous pouvez ajouter des mesures/dimensions, des filtres, etc. Consultez la page Analyse ad-hoc pour plus de détails.
    Prévisualisation mesure calculée
  6. Cliquez sur OK pour valider.

En cas d'erreur, vous pouvez déboguer la formule :

Vous devez disposer de l'autorisation Voir l’état du serveur.

  1. Cliquez sur Voir les logs : les logs s'affichent en bas de la fenêtre.
    1697448828557-477.png
    Vous pouvez filtrer le contenu et limiter le nombre de lignes affichées.

Ajouter une mesure dans la formule

Pour ajouter une mesure dans la formule de la mesure calculée : 

  1. Dans l'onglet Mesures, double-cliquez sur la mesure à ajouter pour l'insérer à la position du curseur dans la formule.
    ➡ La composante Mesure (sum) est ajoutée dans la formule. La fonction d'agrégation Somme est utilisée par défaut sur la mesure d'où la mention (sum).
  2. Vous pouvez modifier cette fonction d'agrégation en cliquant droit sur Mesure(Sum) dans la formule.
    1697445298886-778.png
  3. Dans le menu qui s'affiche, sélectionnez la fonction d'agrégation que vous souhaitez utiliser : 
    • Moyenne
    • Min
    • Max
    • Cumul sur l'axe
    • Dernier non vide : permet de récupérer la dernière valeur non nulle d'un indicateur par rapport à une dimension continue, une date par exemple.
    • Ou : Ou logique (‘|’ en programmation ou ‘+’ en arithmétique booléenne) entre les valeurs (entières) de la mesure. Exemple : 2+2=4 (somme arithmétique) mais 2|2 =2, 2|1=3, 1|0=1… (Ou logique).
    • Semi additive : permet de sélectionner une agrégation, sauf si on explore une dimension spécifique (2ème agrégation utilisée).
  4. Vous pouvez également spécifier le ou les contexte(s) dans le(s)quel(s) vous souhaitez évaluer la mesure (filtres, transformateurs, option de navigation,...). Consultez la page Définir un contexte pour plus de détails.

Exemple

Une source de données référence les stocks de produits par date. On souhaite récupérer la dernière valeur du stock pour chaque produit (exemple : pour « Valise », 916).studio_guide_fr (1)_html_fcb4629686c97216.jpgData URI image

On crée donc une mesure calculée Nombre d'articles (dernière valeur) basée sur l'indicateur Nombre d'articles stock et utilisant la fonction d'agrégation Dernier non vide suivant la dimension Date.
Mesure nombre d'articlesData URI image

On peut ensuite créer un graphe affichant la dernière valeur de stock enregistrée par produit :
studio_guide_fr (1)_html_f3a1852f6fb523e9.jpgData URI image

Ajouter une dimension dans la formule

Pour ajouter une dimension dans la formule de la mesure calculée : 

  1. Dans l'onglet Dimensions, double-cliquez sur la mesure à ajouter pour l'insérer à la position du curseur dans la formule.
    ➡ La composante Dimension(dcount) est ajoutée dans la formule. La fonction d'agrégation dcount est utilisée par défaut. Elle calcule le nombre distinct de membres de la dimension.
  2. Vous pouvez éditer la dimension et modifier cette fonction d'agrégation en cliquant droit sur Dimension(dcount) dans la formule.
    1697445840654-248.pngData URI image
  3. Dans le menu qui s'affiche, vous pouvez sélectionner la fonction d'agrégation dmember. Elle renvoie la valeur de la dimension.
  4. Vous pouvez également définir un contexte d'évaluation (filtres, transformateurs,...). Consultez la page Définir un contexte pour plus de détails.

Ajouter une variable dans la formule

Pour ajouter une variable existante du modèle de données courant dans la formule de la mesure calculée :

  • Dans l'onglet Variables, double-cliquez sur la variable à ajouter pour l'insérer à la position du curseur dans la formule.
    ➡ La composante Variable est ajoutée dans la formule. 

Vous pouvez également importer une variable ou plusieurs variables existantes d'autres modèles de données :

  1. Dans l'onglet Variables, cliquez sur le bouton Bouton_importer_variables (Importer une ou plusieurs variables existantes).
    ➡ La boite de dialogue correspondante s'affiche.
  2. Sélectionnez la ou les variables de votre choix (multi-sélection via la touche CTRL) puis cliquez sur le bouton Appliquer Bouton_appliquer
    ➡ La ou les variables sont ajoutées à la liste et peuvent être utilisées dans la formule.

Vous pouvez enfin créer une nouvelle variable :

  1. Dans l'onglet Variables, cliquez sur le bouton + (Nouvelle variable).
    ➡ La boite de dialogue Variable s'affiche.
  2. Entrez le Nom de la variable.
  3. Sélectionnez le Type de variable souhaité :
    • Calculé si vous souhaitez définir une plage de valeurs pour votre variable. Définissez la valeur Minimum et Maximum de la variable (donnez des valeurs identiques à Minimum et Maximum si vous ne souhaitez pas utiliser de minimum et de maximum) ainsi qu'une valeur d'Incrémentation de la variable.
      Sélectionnez également le Format de la variable.
    • Explicite si vous souhaitez définir de manière exhaustive chacune des valeurs possibles pour cette variable. Cliquez sur le bouton Ajouter et renseignez chacune des valeurs possibles pour la variable (Nom de la valeur et Valeur).
    • Manuel si vous souhaitez entrer manuellement les valeurs de la variable. Renseignez uniquement la Valeur par défaut.

Exemple

Vous souhaitez créer une mesure CA_Euro convertissant un chiffre d'affaires réalisé en $ (mesure CA_Dollar) en €. Cette conversion est basée sur un paramètre variable le cours du dollar. La formule que vous souhaitez utiliser est CA_Euro =CA_Dollar * Cours Du Dollar.

  1. Dans le champ Nom de la mesure, entrez CA_Euro.
  2. Dans l'onglet Mesure puis sélectionnez CA_Dollar. CA_Dollar(sum) est inséré dans la formule.
  3. Tapez ensuite *
  4. Cliquez sur + Nouvelle variable pour définir votre variable Cours Du Dollar :
    • Nom : Cours Du Dollar
    • Type : Calculé
    • Valeur Par Défaut : 0.70
    • Valeur Minimum : 0
    • Valeur Maximum : 2
    • Incrémentation = 0.1
    • Format : Nombre
      Exemple_variableData URI image

Utiliser une bibliothèque de scripts dans votre formule

Si vous utilisez des librairies de scripts (voir la page Gestionnaire de bibliothèques de scripts), vous pouvez utiliser des fonctions de ces bibliothèques lors de la création de vos mesures.

Vous devez au préalable ajouter la bibliothèque de scripts dans votre mesure. Pour cela, cliquez sur Gestionnaire de bibliothèques de scripts puis sélectionnez la bibliothèque à utiliser. Vous pouvez ensuite utiliser les fonctions de cette bibliothèque dans le code de votre mesure.

Exemple

Vous avez créé une librairie myfunctions contenant une fonction appelée double (x).

  1. Double-cliquez sur myfunctions.
    ➡ Le code ddimport('myfunctions'); est ajouté à la formule de votre mesure.
  2. Tapez les premières lettres de votre fonction double.
    ➡ La fonction double(x) est proposée dans la liste des fonctions disponibles.1697449528652-236.pngData URI image
  3. Sélectionnez la fonction puis remplacez x par la mesure souhaitée.
    1697449669371-526.pngData URI image

Effectuer une sous-requête dans une mesure calculée

Il est possible d'inclure une sous-requête dans une mesure calculée via une API.
Vous pouvez ainsi calculer une mesure à un certain niveau de détail puis la réagréger. 

Pour cela, utilisez l'API sous la forme suivante dans la mesure calculée : 

Packages.com.digdash.basetype.CubeAPI.subquery(line, ["Dimension"], ["Mesure"]);

Les fonctions suivantes peuvent être appliquées au résultat :

  • average()
  • sum()
  • min()
  • max()
  • median()
  • percentile(x) : x est compris entre 0 et 100
  • count()

Exemple

Nous disposons des notes des élèves de 2 classes de 6ème.

ElèveClasseNote
Antoine6ème A3
Bernard6ème A8
Cédric6ème B1
Dominique6ème B9
Eric6ème B8
Moyenne des élèves5,8

Nous souhaitons ici calculer la note moyenne des classes, c'est-à-dire la moyenne des moyennes des classes de 6ème A et de 6ème B comme l'illustre le tableau ci-dessous.

Moyenne par classe6ème A5,5
6ème B6
Moyenne des classes 5,75

Afin d'obtenir cette moyenne, nous devons utiliser la mesure calculée suivante : 

Packages.com.digdash.basetype.CubeAPI.subquery(line, ["Classe"], ["Note"]).average();