Navigation

    Communauté Digdash

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

    NON RÉSOLU Interdiction de l'affichage d'une mesure Live Security: Première mesure ignorée

    Discussion Générale
    2
    2
    122
    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
      Boubekeur dernière édition par

      Bonjour,

      J'aimerais interdire l'affichage de certaines mesures (taux de marge réelle et taux de marge standard) pour certains utilisateurs à l'aide des paramètres utilisateurs.

      J'ai donc créé deux paramètres utilisateurs VisionTauxMargeBrut et VisionTauxMargeReelle.
      J'ai ensuite créé un utilisateur "test" pour tester cette interdiction.

      Voici ma fonction de Live Security:

      // Code Société
      
      var codeSociete = getUserAttribute("CodeSociete");
      
      if (codeSociete != null && codeSociete != "") {
          var tabSociete = codeSociete.split("|");
          var dim = selection.dm.getDimensionById("Initiales Société");
          var filt = new FilterSelection(dim, -1, -1, [], tabSociete);
          selection.setFilter(filt);
      }
      
      // Vision taux de marge brut
      
      var visionTauxMrgBrut = getUserAttribute("VisionTauxMargeBrut");
      
      if (visionTauxMrgBrut !== "" && visionTauxMrgBrut != null) {
          if (visionTauxMrgBrut == 0) {
              var indexBrut = selection.indexOfMeasure("Taux de marge brut");
              if (indexBrut > 0)
                  selection.removeMeasure(indexBrut);
                  
              var indexBrutN = selection.indexOfMeasure("Taux de marge brut (Année)");
              if (indexBrutN > 0)
                  selection.removeMeasure(indexBrutN);
                  
              var indexBrutNm1 = selection.indexOfMeasure("Taux de marge brut (Année - 1)");
              if (indexBrutNm1 > 0)
                  selection.removeMeasure(indexBrutNm1);
          }
      }
      
      // Vision taux de marge standard
      
      var visionTauxMrgStandard = getUserAttribute("VisionTauxMargeStandard");
      
      if (visionTauxMrgStandard !== "" && visionTauxMrgStandard != null) {
          if (visionTauxMrgStandard == 0) {
              var indexStd = selection.indexOfMeasure("Taux de marge standard");
              if (indexStd > 0)
                  selection.removeMeasure(indexStd);
                  
              var indexStdN = selection.indexOfMeasure("Taux de marge standard (Année)");
              if (indexStdN > 0)
                  selection.removeMeasure(indexStdN);
                  
              var indexStdNm1 = selection.indexOfMeasure("Taux de marge standard (Année - 1)");
              if (indexStdNm1 > 0)
                  selection.removeMeasure(indexStdNm1);
          }
      }
      

      Pour tester cette fonction, j'ai créé un flux de type tableau et j'ai déposé toutes les mesures concernées. Voici les entêtes de ce tableau:
      a69f559c-41f0-4e46-9277-0d8b78a8c20a-image.png

      L'utilisateur "test" a pour paramètres les valeurs VisionTauxMargeBrut = 1 et VisionTauxMargeBrut = 0 (1 = oui, 0 = non)

      Voici ce que tout cela donne dans la Dashboard:
      40e95d34-fd95-4237-bd2a-ffe0a4fc0ebf-image.png

      Pour une raison que j'ignore, la première colonne de type mesure n'est pas filtrée. On peut voir le Taux de marge standard (Année) qui est la première colonne mesure, et pas tout le reste. On voit tous les taux de marge bruts donc il n'y a pas de problème de ce côté là.

      Si je change l'emplacement des colonnes en mettant une mesure taux de marge brut en premier, par exemple comme cela:
      74bbdeb4-9845-4078-855c-141a0f5f0093-image.png

      On obtient ceci dans la Dashboard:
      02bee2c3-199b-4283-aad5-f37b3c3d36f4-image.png

      Comme on peut le constater toutes les mesures taux de marge standard ont été filtrées.

      J'aimerais que la première colonne mesure ne soit pas ignorée si on doit la filtrer.

      Cordialement,

      BOUBEKEUR

      1 réponse Dernière réponse Répondre Citer 0
      • A
        Alexandre CAMPOS Mod dernière édition par

        Bonjour @Boubekeur,

        @boubekeur a dit dans Interdiction de l'affichage d'une mesure Live Security: Première mesure ignorée :

        if (indexStd > 0)

        Les indexes commence à 0 donc la condition ci-dessus explique le comportement observé.

        il faut remplacer les conditions "> 0" par "!= -1"

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