Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je cherche à masquer les lignes où le montant de la promo = 0 euro
Comment faire ?
Merci à vous
Il n'y a qu'une colonne Display qui définit la condition d'affichage (dans ton cas, promos <> 0) 1 i la ligne doit être affichée et 0 si elle doit être cachée.
En ajoutant dans chaque expression de ta table la multiplication par Display tu appliques la condition d'affichage. Une ligne ne respectant pas ta condition d'affichage aura donc des 0 dans toutes les colonnes et QlikView la supprimera de l'affichage.
Si tu me joins un fichier QlikView en exemple, je pourrai y appliquer mon astuce et te le retourner.
Bonjour,
L'astuce consiste simplement à mettre les résultat des expression à 0 pour les lignes qui ne respecte pas votre condition d'affichage.
Dans un tableau simple, je crée une expression Display qui me permet de définir ma condition d'affichage:
= if(sum(Promos) = 0, 1, 0)
Et je multiplie les autres expressions par celle-ci :
= Display * Sum([Mt Brut (HG)])
Je masque la colonne Display dans l'onglet Présentation.
Dans un tableau croisé dynamique, il n'est pas possible de masquer une colonne. Alors soit vous mixez directement les expressions :
= if(sum(Promos) = 0, 1, 0) * Sum([Mt Brut (HG)])
Ou vous mettez votre condition d'affichage dans une variable :
= $(=vDisplay01) * Sum([Mt Brut (HG)]) avec vDisplay01 ==> if(sum(Promos) = 0, 1, 0)
Bonjour Sébastien,
Je ne comprends pas trop.
La colonne nommée "DISPLAY", va me retranscrire un 1 ou 0
Le fait ensuite de multiplier le résultat de mon montant CA x 1 va retranscrire mon montant CA, c'est comme si je n'avais rien fait, et x 0 va retranscrire un CA à 0
Mais j'aurais toujours mes lignes à 0 de visible
Par défaut dans QlikView dans un tableau lorsque pour une ligne toutes les expressions sont null ou égale à 0, cette ligne n'est pas affichée.
As-tu essayé?
Le souci est que dans mon exemple je t'ai montré que 2 colonnes, Montant et promo, mais en fait j'ai pas mal d'expressions encore derrière et les colonnes ne sont pas à 0, je me vois mal créer d'autres colonnes comme Display
Il n'y a qu'une colonne Display qui définit la condition d'affichage (dans ton cas, promos <> 0) 1 i la ligne doit être affichée et 0 si elle doit être cachée.
En ajoutant dans chaque expression de ta table la multiplication par Display tu appliques la condition d'affichage. Une ligne ne respectant pas ta condition d'affichage aura donc des 0 dans toutes les colonnes et QlikView la supprimera de l'affichage.
Si tu me joins un fichier QlikView en exemple, je pourrai y appliquer mon astuce et te le retourner.
C'est bon Sébastien, j'ai réussi : )
Mais je pensais qu'il y avait une méthode plus traditionnelle : )
Sinon peut-être envisager un objet filtre où l'on choisirait Promo = oui ou non
Merci
Bonjour Stephane,
j'aurai essayé dans ta première dimension :
if(Promo<>0, [Num facture])
et coché la case "supprimer si la valeur est nulle"
Florent
si Promo est un produit issu d'un calcul dans ton tableau, alors je le calculerai dans le script avec un
" sum(Promo) as Sum_Promo
group by [Num facture]"
et c'est ce champ que je mettrai en condition dans l'idée précédente.
Ainsi tu n'afficherais que les lignes pour lesquelles les "Sum_Promo" sont différentes de 0.
Florent
Bonjour Florent,
Non ça n'a pas fonctionné,
J'ai indiqué ta formule au niveau du bouton "Editer" = KO
Et également au niveau de la coche "Activer la condition" = KO