Navigation

    Communauté Digdash

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    1. Accueil
    2. Brenda
    B
    • Profil
    • Abonnements 0
    • Abonnés 0
    • Sujets 1
    • Messages 9
    • Meilleur sujets 2
    • Groupes 0

    Brenda

    @Brenda

    5
    Réputation
    6
    Vues
    9
    Messages
    0
    Abonnés
    0
    Abonnements
    Inscrit Dernière connexion

    Brenda Se désabonner S'abonner

    Meilleurs messages postés par Brenda

    • Astuce : centrer un élément sur une page du tableau de bord

      PS : Utiliser les groupes pour réunir plusieurs éléments à centrer en un seul block

      Supposons un groupe (ou un éditeur peu importe) que l'on souhaite centrer et dont les dimensions sont : largeurRéelle = 770px et hauteurRéelle=510px
      Pour centrer cet élément, il faudrait éditer ses propriétés taille&position comme suit :

      centrer_element_tdb.png

      Coordonnée X = 50%
      Coordonnée Y = 50%
      Largeur = largeurRéelle/2 = 385px
      Hauteur = hauteurRéelle/2 = 255px
      Marge en haut = - hauteurRéelle/2 = -255px
      Marge à gauche = - largeurRéelle/2 = -385px

      Petite astuce pour avoir un signe négatif : se positionner dans la cellule vide et appuyer la touche « flèche vers le bas » du clavier. Il apparait « -1 » ; ajouter le nombre souhaité derrière et effacer le « 1 ».

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • RE: Appliquer un filtre "contient" sur une dimension via du JS

      @Olivier-Le-Boulch
      Bonjour,
      Ci-dessous une proposition de script Live Security pour répondre à votre besoin.
      Je vous le mets dans un fichier : Live_Security_contient.js

      /* START CONFIG */
      
      var securedDims = {};
      securedDims["lab5"] = "Direction" ; /*Séparer par un | pour ajouter d'autres membres Ex: "Direction | Administration"  */
      
      /* Ajouter ici les autres dimensions sur lequel du live security doit s’appliquer */
      /*
      securedDims["DIMENSION_NAME_2"] = getUserAttribute("USER_PARAM_2");
      */
      
      /* END CONFIG */
      
      /* MODIFY THE SCRIPT BELOW WITH CAUTION */
      var sLogPrefix = "[LIVE_SECURITY] [live-sec-thread-" + Math.floor(Math.random()*16777215).toString(16) + "]"; /* 16777215 is FFFFFF in decimal */
      
      for (var dimId in securedDims)
      {
      	var dim = selection.dm.objName[dimId];
      	Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Ce qu'il y a dans dim: " + dim.id);
      	
      	var persoVal = securedDims[dimId];
      
      	//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Applying user filters on: " + dimId + ", persoVal:" + persoVal);
      	if (dim)
      	{
      		if (persoVal == null || persoVal.length == 0)
      		{
      			// user must no see any value
      			var persoValuesTab = ["-noval-"];
      			var filt = new FilterSelection(dim, -1, -1, [], persoValuesTab);
      			selection.setFilter(filt);
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      		}
      		else if (persoVal && persoVal != ".*")
      		{
      			//user is limited to some value(s)
      			var persoValuesTab = persoVal.split("|");
      			Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[0] + "]");
                  //var dim_2 = selection.dm.getDimensionById("lab5");
                  var members = dim.members;
                  
      
      
                  var filterToSet = [];
                  
                  for(var i=0;i<persoValuesTab.length;i++){
                      Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members.length + "]");
                      for(var j=0;j<members.length;j++){
                          Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[i] + "]");
      
                          if(members[j].indexOf(persoValuesTab[i]) != -1){
                              filterToSet.push(members[j]);
                              Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members[j] + "]");
                          }
                      }
                  }
                  
      			var exFilter = selection.filterByDimName[dimId];
      			if (!exFilter)
      			{
      				//there is no exisitng filter on that dimension => create a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				selection.setFilter(filt);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      			}
      			else
      			{
      				//there is already a filter on that dimension => merge (intersect) into a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				filt.recalcIds();
      				exFilter.recalcIds();
      				exFilter = mergeFilters(exFilter, filt);
      				selection.setFilter(exFilter);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (origIds) on " + dimId + ": [" + exFilter.origIds + "]");
      			}
      		}
      		else // perso value is .*
      		{
      			// do nothing, user can see everything
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters on " + dimId + ": All (.*)");
      		}
      	}
      	else
      	{
      		//Packages.com.digdash.utils.MessageStack.getInstance().addError(sLogPrefix + " Dimension " + dimId + "not found");
      	}
      }
      

      Cordialement,

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda

    Derniers messages publiés par Brenda

    • RE: Appliquer un filtre "contient" sur une dimension via du JS

      @olivier-le-boulch

      Bonjour Olivier,

      Vous pouvez cliquer sur les trois petits points et choisir l'option:

      516bdfde-18a2-4343-ab86-6f7c01ab326e-image.png

      Merci.

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • RE: Appliquer un filtre "contient" sur une dimension via du JS

      @olivier-le-boulch

      Bonjour Olivier,
      Ravie de vous avoir aidé 🙂

      Pouvez-vous marquer le sujet en "Résolu" svp ?

      Merci.

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • RE: Appliquer un filtre "contient" sur une dimension via du JS

      @Olivier-Le-Boulch
      Bonjour,
      Ci-dessous une proposition de script Live Security pour répondre à votre besoin.
      Je vous le mets dans un fichier : Live_Security_contient.js

      /* START CONFIG */
      
      var securedDims = {};
      securedDims["lab5"] = "Direction" ; /*Séparer par un | pour ajouter d'autres membres Ex: "Direction | Administration"  */
      
      /* Ajouter ici les autres dimensions sur lequel du live security doit s’appliquer */
      /*
      securedDims["DIMENSION_NAME_2"] = getUserAttribute("USER_PARAM_2");
      */
      
      /* END CONFIG */
      
      /* MODIFY THE SCRIPT BELOW WITH CAUTION */
      var sLogPrefix = "[LIVE_SECURITY] [live-sec-thread-" + Math.floor(Math.random()*16777215).toString(16) + "]"; /* 16777215 is FFFFFF in decimal */
      
      for (var dimId in securedDims)
      {
      	var dim = selection.dm.objName[dimId];
      	Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Ce qu'il y a dans dim: " + dim.id);
      	
      	var persoVal = securedDims[dimId];
      
      	//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Applying user filters on: " + dimId + ", persoVal:" + persoVal);
      	if (dim)
      	{
      		if (persoVal == null || persoVal.length == 0)
      		{
      			// user must no see any value
      			var persoValuesTab = ["-noval-"];
      			var filt = new FilterSelection(dim, -1, -1, [], persoValuesTab);
      			selection.setFilter(filt);
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      		}
      		else if (persoVal && persoVal != ".*")
      		{
      			//user is limited to some value(s)
      			var persoValuesTab = persoVal.split("|");
      			Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[0] + "]");
                  //var dim_2 = selection.dm.getDimensionById("lab5");
                  var members = dim.members;
                  
      
      
                  var filterToSet = [];
                  
                  for(var i=0;i<persoValuesTab.length;i++){
                      Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members.length + "]");
                      for(var j=0;j<members.length;j++){
                          Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[i] + "]");
      
                          if(members[j].indexOf(persoValuesTab[i]) != -1){
                              filterToSet.push(members[j]);
                              Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members[j] + "]");
                          }
                      }
                  }
                  
      			var exFilter = selection.filterByDimName[dimId];
      			if (!exFilter)
      			{
      				//there is no exisitng filter on that dimension => create a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				selection.setFilter(filt);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      			}
      			else
      			{
      				//there is already a filter on that dimension => merge (intersect) into a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				filt.recalcIds();
      				exFilter.recalcIds();
      				exFilter = mergeFilters(exFilter, filt);
      				selection.setFilter(exFilter);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (origIds) on " + dimId + ": [" + exFilter.origIds + "]");
      			}
      		}
      		else // perso value is .*
      		{
      			// do nothing, user can see everything
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters on " + dimId + ": All (.*)");
      		}
      	}
      	else
      	{
      		//Packages.com.digdash.utils.MessageStack.getInstance().addError(sLogPrefix + " Dimension " + dimId + "not found");
      	}
      }
      

      Cordialement,

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • RE: Nombre moyen de lignes par semaine à partir d'une date

      Bonjour @adrien,

      Vous pourriez ajouter à votre source une colonne "Nombres de ligne" qui retourne 1. En choisissant la hiérarchie Semaine année / Semaine sur la date, vous pourriez afficher le nombre de lignes par semaine. Et ensuite, vous ajouter une valeur récapitulative pour obtenir la moyenne:

      64a81bff-2af0-4ace-804d-badc28f53fcd-image.png

      posté dans Studio
      B
      Brenda
    • RE: Exclure un total de la mesure "rang"

      Bonjour @nfillion,

      Je pense que le problème vient du filtrage (et par conséquent un autre sujet). Il serait peut-être nécessaire de regarder votre projet en particulier.
      Je vous suggère d'utiliser un seul filtre et de choisir le type de visualisation "Liste Min/Max":

      206a6515-201b-4ca8-935c-4c6ba1301522-image.png

      posté dans Studio
      B
      Brenda
    • RE: Exclure un total de la mesure "rang"

      @nfillion super, pourriez-vous marquer le sujet comme résolu svp ? Merci.

      posté dans Studio
      B
      Brenda
    • RE: Exclure un total de la mesure "rang"

      Bonjour @nfillion ,
      Il faudrait que la ligne "Total nouveautés " soit une valeur récapitulative dans Digdash, sur la colonne "Code coloris centre" :

      e5400eba-b110-46da-a7cd-e09bbe0dedd1-image.png

      posté dans Studio
      B
      Brenda
    • RE: Exclure un total de la mesure "rang"

      Bonjour @nfillion,

      1- Dans la configuration de la mesure "Rang sur CA Net", mettez uniquement la dimension "Code coloris centre" dans le champ Dimension du rang et laissez vide le champ Dimension du rang (réinitialisation):
      5ce8672d-7eda-4f70-b644-63b0b3aa54e9-image.png

      A noter que j'ai ajouté un multiplicateur -1 dans la mesure calculée CA(Rang) pour avoir le classement dans le sens décroissant :
      5af17783-bc1d-4e63-9786-855cdcf1775a-image.png

      2- Puis sur votre flux, faites un clic-droit dans la cellule du rang du Total et cliquer sur Cellule ensuite Texte et mettre un espace dans le texte de la cellule (cf. capture d'écran):
      bd1ec7b4-2817-43ce-9f1e-7a0da6f8c89f-image.png

      Normalement vous devez tomber comme moi sur la capture ci-dessous :
      d27ac680-cda6-4efe-bc23-2c0f7cc0355b-image.png

      posté dans Studio
      B
      Brenda
    • Astuce : centrer un élément sur une page du tableau de bord

      PS : Utiliser les groupes pour réunir plusieurs éléments à centrer en un seul block

      Supposons un groupe (ou un éditeur peu importe) que l'on souhaite centrer et dont les dimensions sont : largeurRéelle = 770px et hauteurRéelle=510px
      Pour centrer cet élément, il faudrait éditer ses propriétés taille&position comme suit :

      centrer_element_tdb.png

      Coordonnée X = 50%
      Coordonnée Y = 50%
      Largeur = largeurRéelle/2 = 385px
      Hauteur = hauteurRéelle/2 = 255px
      Marge en haut = - hauteurRéelle/2 = -255px
      Marge à gauche = - largeurRéelle/2 = -385px

      Petite astuce pour avoir un signe négatif : se positionner dans la cellule vide et appuyer la touche « flèche vers le bas » du clavier. Il apparait « -1 » ; ajouter le nombre souhaité derrière et effacer le « 1 ».

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda