Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour messieurs,
Dans un tableau, on me demande de filtrer tous les CA de clients qui ont été crées il y a moins d'un an
Je dispose de la date de création (DATECRE_CLI)
Grâce à un filtre indiquant toutes les dates de création de client, je pourrais éventuellement les sélectionner une par une, mais je ne désire pas effectuer cette manipulation.
J'aimerais donc qu'à l'intérieur du tableau, un filtre soit apposé en dur, du style :
- filtrer tous les clients dont la date de création est > (date du jour-360)
Merci à vous
Cordialement,
Merci Bruno et Florent : )
En fait, j'ai testé la solution de cocher "Supprimer si la valeur est nulle" et nickel ça fonctionne !!
Merci pour votre réactivité à tous : )
A bientôt ; )
Bonjour Stéphane,
personnellement, en script, je rajouterai un champ :
...
DATECREA_CLI,
if(DATEVRE_CLI-date(Today())<360, 1,0) as ANCIENNETE_CLI
from MaTable;
et j'utiliserai ce champ en condition dans le tableau:
DIM : CLIENT,
EXP : sum(if(ANCIENNETE_CLI=1,CA))
Florent
Bonjour
Pour ton tableau , si je comprends bien tu as
une dimension [Client]
Une mesure sum(CA)
Et tu ne veux que les clients dont la date de création est inférieur ou égal a un an à la date du jour
Ce qui devrait donner quelque chose comme ceci :
dimension client :
if(date(DATECRE_CLI,'DD/MM/YYYY')>=today()-360, [Client])
mesure :
Sum(CA)
Bruno
oups, fait à l'envers :
c'est bien
if(date(Today())-DATEVRE_CLI <360, 1,0) as ANCIENNETE_CLI
ça doit pouvoir marcher aussi comme ça...
Merci Bruno et florent pour ces réponses.
Je vais commencer par la solution de Bruno, elle est plus facile pour moi car grand novice dans QV : )
Par contre j'ai testé, mais ça ne fonctionne pas : (
=if(date(DATECRE_CLI,'DD/MM/YYYY')>=today()-360, [LIB CLIENT COMPLET FAC])
Je pense que c'est en raison du format de date.
En effet, je m'aperçois que dans QV, le format de date ressort comme ceci :
DD/MM/YYYY 00:00:00 (c'est toujours inscrit en suffixe 00:00:00)
Peut-être est-ceci le problème ?
Merci à vous
Ah non oups, ça fonctionne bien : )
Mais par contre il va falloir que je règle le visuel car il est troublant dans mon tableau
En effet, ça m'indique le total global (sans filtre) en haut soit 7 390 175 .31 €
En-dessous la différence, et 7 390 175.31 - 6 244 572.11 = bien mon chiffre = 1 145 603 .20 €
Comment afficher le total filtré : ( soit 1 145 603 .20 € à la place des 7 390 175 .31 et ne plus voir les 6 244 572 .11 €
CA | |
7 390 175,31 € | |
6 244 572,11 € | |
112437 PALLAS FOOD IRLANDE | 140 834,45 € |
95759 LEKKERLAND DEUTSCHLAND | 136 882,90 € |
95850 CARREFOUR ITALIE ROMA | 132 140,40 € |
113009 NESTLE ESPANA | 97 395,77 € |
113316 EDNA INTERNATIONAL GMBH | 90 209,50 € |
115513 TRANSGOURMET DE GMBH & CO. etc .. | 46 478,04 € |
Merci : )
je pense que c'est parce qu'il te calcule aussi dans le total les valeurs exclues :
vérifie que dans la vue dimension, tu aies bien coché "supprimé si la valeur est nulle" :
parce le "if" a 2 réponses : si vrai (affiché), si faux (ici, pas de valeurs, donc non affiché, mais inclu dans le calcul total)...
if(date(DATECRE_CLI,'DD/MM/YYYY')>=today()-360, [LIB CLIENT COMPLET FAC])
Bonjour
Pas sur de mon hypothèse car suis débutant aussi sur Qliksense pour ma part. Mais je pense que ton problème d'affichage du total provient de ma solution :
En effet nous avons opter pour une dimension calculée : c'est à dire que tu affiches que les clients qui ont une date de création de moins d'un an et en mesure sum(CA)
Du coup la ligne total affiche le TOTAL du CA sans tenir compte de la dimension calculée car la formule en If a une valeur si VRAI et rien si FAUX donc par défaut la mesure calcule toutes les valeurs
Tu dois avoir une option sous qlikview pour ne pas afficher / calculer les valeurs exclues.
Sinon on peut restreindre dans la mesure plutot que dasn la dimension
essaye cette mesure :
sum({$<date(DATECRE_CLI,'DD/MM/YYYY')={$(=today()-360)>}CA)
Enfin pour ton format date qui est un timestamp ( date + heure) tu peux dans ton script changer le format
Tu dois avoir une ligne :
date(DATECRE_CLI) as DATECRE_CLI ou date(monchampdate) as DATECRE_CLI,
remplace la par :
Date(Floor(Date("monchampdate,'DD/MM/YYYY hh:mm:ss')),'DD/MM/YYYY') as DATECRE_CLI
bruno