Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je suis entrain de réaliser un graphique comparatif année / année et /Mois en fonction de mes différentes entitées
Mon souci actuel et que les dimensions suivante fonctionne MAIS je souhaiterais inclure que SI aucune donnée est sélectionné alors le graphique m'affiche par défaut une courbe comparant les années entre elles.
Actuellement ca fonctionne toutefois, si aucune donnée n'est sélection je n'ai pas de courbe mais des points
Dimension 1
If(WildMatch(GetCurrentSelections([MandantName]), '*MandantName*') = 0
OR
WildMatch(GetCurrentSelections([ProjectManager]), '*ProjectManager*') = 0,
If(WildMatch(GetCurrentSelections([AccountingEntryDetailPeriod.autoCalendar.Year]), '*Year*') = 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
),
If(WildMatch(GetCurrentSelections([AccountingEntryDetailPeriod.autoCalendar.Year]), '*Year*') = 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
)
)
Dimension 2
If(WildMatch(GetCurrentSelections([MandantName]), '*MandantName*') = 0
OR
WildMatch(GetCurrentSelections([ProjectManager]), '*ProjectManager*') = 0,
If(WildMatch(GetCurrentSelections([AccountingEntryDetailPeriod.autoCalendar.Year]), '*Year*') = 0,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
),
If(WildMatch(GetCurrentSelections([AccountingEntryDetailPeriod.autoCalendar.Year]), '*Year*') = 0,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
)
)
Mesure
(Sum({$<[AccountingEntryDetailPeriod.autoCalendar.Year] =- {'2014', '>($(=Year(Today())))'}, AccountNr={'3000','3005','3006','3008','3009','3081'},
AccountNrLvl1={'PL'},AccountingEntryDetailTypeCode-={'99'}>} AccountingEntryDetailAmountCHF))
Si je supprime la dimension 2, cela fonctionne
comment faire pour garder le comparatif /Mois de N-1 comme cela ,
mais avoir la courbe par année?
En vous remerciant
Déjà, l'utilisation de la fonction GetCurrentSelections() n'est pas correcte, tu ne peux pas passer un champ en paramètre ( voir GetCurrentSelections - fonction de graphique ‒ Qlik Sense )., mais il n'en tient visiblement pas compte.
Essaye en utilisant la fonction GetSelectedCount() :
Dimension 1
If( GetSelectedCount([MandantName]) = 0 OR GetSeelctedCount([ProjectManager]) = 0,
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
),
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
)
)
Dimension 2
If( GetSelectedCount([MandantName]) = 0 OR GetSeelctedCount([ProjectManager]) = 0,
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Year],
[AccountingEntryDetailPeriod.autoCalendar.Month] ),
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Year],
[AccountingEntryDetailPeriod.autoCalendar.Month
)
)
Par contre, je ne vois pas l'intérêt du 1er if, car que la condition soit correct ou non le même traitement est appliqué.
On pourrait donc écrire simplement :
Dimension 1
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
)
Dimension 2
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) = 1,
[AccountingEntryDetailPeriod.autoCalendar.Year],
[AccountingEntryDetailPeriod.autoCalendar.Month]
)
Justement cette formule je l'avais testé avant et cela m'affiche les mois / année (ici chaque mois correspond à une courbe)
et ce n'est pas du tout ce que je recherche, la fonction Wildmatch de mon 1er IF sert a dire que si aucune n'est sélectionner alors affiche la courbe annuelle, SI un année est sélectionnée alors affiche les mois comme je disais a la base quand je n'ai qu'une seule dimension cela marche parfaitement....
mon souci se porte dès le moment ou je mets une 2ème dimension...la je ne sais pas pourquoi les point restent (c'est top) mais la courbe elle disparaît, et c'est juste sur ce point la que je n'arrive pas à régler
Merci
J'ai toujours pas compris ton 1 er if (If( GetSelectedCount([MandantName]) = 0 OR GetSeelctedCount([ProjectManager]) = 0) mais passons, c'est pas le problème principal.
Si une ou plusieurs Année sont sélectionées, tu veux voir l'évolution du CA par Mois pour chacune des années sélectionnées, dans ce cas on a besoin de 2 dimensions : Mois et Année.
Si aucune année n'est sélectionnée, tu veux simplement afficher l'évolution du CA par Année, dan sce cas on a besoin d'une seul dimension : Année
Essaie comme ceci :
Dimension 1
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) >= 1,
[AccountingEntryDetailPeriod.autoCalendar.Month],
[AccountingEntryDetailPeriod.autoCalendar.Year]
)
Dimension 2
If( GetSelectedCount([AccountingEntryDetailPeriod.autoCalendar.Year]) >= 1,
[AccountingEntryDetailPeriod.autoCalendar.Year],
''
)