Navigation

    Communauté Digdash

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    RÉSOLU Mesure calculée JS

    Studio
    2
    3
    569
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • B
      bipp_jmaryniak dernière édition par

      Bonjour,

      Je me permets de solliciter votre aide pour la création d'une mesure calculée en JS.
      J'ai plusieurs lignes (correspondant aux 'Tag', on filtre sur ceux qui se finissent par 'Estreaming_Cpt_Vitesse_Flux_Air') avec pour chacune une valeur moyenne (pas d'agrégation à faire, c'est une mesure dans la base), une valeur de référence minimale (fixée pour toutes les lignes à 0.2) et une valeur de référence maximale (fixée pour toutes les lignes à 1).

      Je peux sélectionner un jour, ou une plage de dates dans mes filtres.

      L'objectif est de créer une mesure pour sommer le nombre de lignes dont la valeur moyenne est située au dessus de la valeur de référence min et au dessous de la valeur de référence max, puis de sommer également le nombre de lignes dont la valeur moyenne est supérieure à la valeur max.
      (un compteur pour les lignes dans la fourchette (cpt1), un autre pour les lignes au dessus de la valeur max (cpt2) )

      Ces deux compteurs me permettent de calculer un indicateur : nb lignes au dessus de valeur max / nb lignes dans la fourchette (cpt2 / cpt1)
      Selon la valeur retournée, on affecte un numéro correspondant à un indice (1,2,3,4,5).

      Si la valeur moyenne est en deçà de la valeur minimale de référence, la ligne n'est pas prise en compte.

      Si je sélectionne une plage de jours, je dois prendre en compte la moyenne des valeurs moyennes.

      Je cherche comment réaliser ce calcul d'indice sachant que la dimension Tag n'est pas toujours présente dans les flux.

      Je vous joins la fonction que nous avons essayé de créer mais qui ne fonctionne pas pour le moment, ainsi qu'un Excel avec plus de précisions sur ce que j'aimerais.

      Je vous remercie d'avance,

      Justine

      var ref='Estreaming : Vitesse flux air reference';
      var ref_min='Estreaming : Vitesse flux air min reference'
      var nb_capteurs=0;
      var indice_tot=0;
      var t='Tag';
      
      Packages.com.digdash.utils.MessageStack.getInstance().addText("vitref: " + ref);
      Packages.com.digdash.utils.MessageStack.getInstance().addText("tag: " + t);
      
      for(var i=1; i<=10; i++)
      {
      
      if(t==i.toString()+'_Estreaming_Cpt_Vitesse_Flux_Air')
      {
         
         vitcpt='Estreaming: Vitesse Flux Air moyenne';
         Packages.com.digdash.utils.MessageStack.getInstance().addText("i= " + i + ": vitcpt="+vitcpt);
         if (vitcpt>ref_min)
         {
            nb_capteurs+=1;
            if(vitcpt>ref)
            {
               indice_tot+=1;
            }
         }
      }
      }
      
      
      var x=indice_tot/nb_capteurs;
      if ('niveau de risque'>=4 || nb_capteurs==0)
      {
      return 5;
      }
      else if(x>0.6)
      {
      return 4;
      }
      else if(x>=0.3 && x <=0.6)
      {
      return 3;
      }
      else if(x>0)
      {
      return 2;
      }
      else
      {
      return 1;
      }
      

      Création_Mesure_JS.xls

      1 réponse Dernière réponse Répondre Citer 0
      • J
        Johnny Nguyen Expert DigDash dernière édition par

        Bonjour,

        Le fichier Excel m'a permis de comprendre la problématique facilement.

        Vous pouvez réaliser le calcul par les jours en:

        • Créant les colonnes "Cpt1" et "Cpt2" avec leurs conditions,
        • Créant la mesure calculée "X" puis "Indice"

        Pour le calcul avec les plages, vous devrez:

        • Créer une mesure calculée se basant sur "Valeur moyenne",
        • Créer cette fois des mesures calculées vers "Cpt1 Avg" et "Cpt2 Avg" à partir de la mesure précédente,
        • Créer la mesure "X Avg" à partir des mesures précédentes,
        • Créer une mesure calculée "Indice" qui utilisera les mesures précédentes et aura comme condition quelque chose ressemblant à if(Tag(dmember)== "Overall") qui permettra au calcul du total de prendre en compte la condition.

        Johnny

        B 1 réponse Dernière réponse Répondre Citer 1
        • B
          bipp_jmaryniak @Johnny Nguyen dernière édition par bipp_jmaryniak

          Je vous remercie pour votre réponse.

          Nous avons réussi à obtenir de résultat attendu.

          Cordialement,

          Justine

          1 réponse Dernière réponse Répondre Citer 1
          • 1 / 1
          • Premier message
            Dernier message
          • Accueil
          • Webinaires
          • Documentation
          • Interviews
          • Vidéos tutos