Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
La formule suivante
Sum( {<KPI={"BROAD"},SKPI,GROUPE>} VOL)
permet d'obtenir le volume du KPI BROAD quelque soit les selections SKPI ou GROUPE.
A partir d'une dimension calculée GROUPE_select =if(SKPI='INTERNET', GROUPE)
La formule n'est plus opérationnelle si l'on effectue une sélection dans le filtre GROUPE_select.
Comment rendre le calcul indépendant de cette dimension calculée?
Pour exemple, le QVF (feuille Test2) ou la formule doit retourner la valeur 119.
Je n'ai pas complètement compris votre demande mais j'ai peut-être 2 pistes pour vous :
Comment et où faites-vous appel à la condition if. De mon côté, j'aurais plutôt écrit
=if(SKPI='INTERNET',
Sum( {<KPI={"BROAD"},SKPI={'INTERNET'},GROUPE>} VOL), // Valeur si la condition est rempli (pour moi l'instruction SKPI={'INTERNET'} et SKPI sont d'ailleurs identiques puisque le SKPI nommé INTERNET doit être sélectionné pour que la condition fonctionne. On pourrait même se passer de renseigner SKPI puisque sa valeur correspond justement à celle du filtre SKPI.)
Sum( {<KPI={"BROAD"},SKPI,GROUPE>} VOL) // Valeur si la condition n'est pas rempli
)
Ensuite, pour exclure le filtre GROUPE il faut ajouter = après le E sinon il est justement pris en compte dans votre formule
Sum( {<KPI={"BROAD"},SKPI={'INTERNET'},GROUPE=>} VOL)
Je ne peux malheureusement pas accéder au fichier .qvf pour vous donner la syntaxe exacte.
Merci à toi Cidecp007 de ton approche
Je vais préciser en explicitant mon qvf avec ta formule de calcul (même comportement)
vue de la feuille
réalisé via la table source 4 dimensions KPI ,SKPI , GROUPE, CANAL et une mesure vol (voir le fichier sourceggg.xlsx)
Dans QLIK Sense, une dimension a été créer GROUPE_SELECT via
avec la formule =if(SKPI='INTERNET', GROUPE) pour réduire le choix à deux éléments de la dimension GROUPE (visibilité et sécurité)
les calculs s'effectuent dans deux mesures cBroad & cServ.Internet
cBroad: Sum({<KPI={"BROAD"},SKPI=,GROUPE=>}VOL)
cServ.Internet : Sum({<SKPI={"INTERNET"}>}VOL)
cBroad affiche 119 quelques soient les sélections effectuées dans la dimension GROUPE
cServ.Internet reste sensible à la sélection (pour voir la différence)
Avec la dimension GROUPE_S
cBroad n'affiche plus 119 et cServ.Internet s’adapte
Pourquoi la formule de CBroad est bonne sur le filtrage GROUPE et mauvaise sur celui du filtrage dans GROUPE_S (du mal à comprendre pourquoi)
l'objectif est d'avoir un calcul réagissant à la sélection dans la dimension réduite (GROUPE_Select)
Ta formule pour cBroad: Sum({<KPI={"BROAD"},SKPI=,GROUPE=>}VOL) ne défiltre pas ta nouvelle dimension GROUPE_Select.
Il faut écrire Sum({<KPI={"BROAD"},SKPI=,GROUPE=,GROUPE_Select=>}VOL)
En effet, GROUPE_Select n'étant pas un KPI BROAD mais SERVICE ta formule cherchait le KPI = BROAD + le GROUPE_Selec (égale au GROUPE) SECURITE et/ou VISIBILITE mais avec un KPI = SERVICE donc valeur nulle.
Bjr,
GROUPE_Select n'est pas une dimension présente, elle n'est pas accessible dans l'éditeur.
Si j'avais ajouté dans le script la création de la dimension GROUPE_Select sur GROUPE alors ton code était parfait.
Si l'on créé la dimension via élément principaux , elle n'est pas accessible dans l'éditeur. Du moins je ne parviens pas l'utiliser dans ce cas.
L'impression est d'avoir une dimension personnalisée incompatible en raison du if?
Ta dimension s'appelle "GROUPE_select"
donc Sum({<KPI={"BROAD"},SKPI=,GROUPE=,GROUPE_select=>}VOL)
Sauf erreur, Qlik fait la différence entre majuscule et minuscule.
Qlik fait la distinction de la case, J'ai testé avec la bonne syntaxe et le défaut persiste
Je pense qu'il faut utiliser la fonction Total.
Peux-tu tester la formule ci-dessous ?
Sum({<KPI={"BROAD"},SKPI=,GROUPE=>}Total VOL)
Merci pour l'idée de forcer par total pour autant la sélection par la dimension GROUPE_select ne produit pas le bon résultat.
J'ai deux solutions de substitution
1-dans forcer la sélection GROUPE sur les éléments désirées via les actions et la formule devient opérante. (la dimension GROUPE_select devient inutile). l'inconvénient c'est d'avoir des éléments en grisé
2-Dans le chargement créer , la dimension GROUPE_select basée sur GROUPE (table de transposition) la formule Sum( {<KPI={"BROAD"},SKPI,GROUPE_select>} VOL) fonctionne.
Est-il vraiment possible d'utiliser une dimension générée par élément dans une mesure ? j'en doute.
encore merci de ta contribution.