Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
steph24350
Contributor III
Contributor III

Comment apposer un filtre en dur

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,

1 Solution

Accepted Solutions
steph24350
Contributor III
Contributor III
Author

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 ; )

View solution in original post

13 Replies
flochi75
Creator III
Creator III

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

brunobertels
Master
Master

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

flochi75
Creator III
Creator III

oups, fait à l'envers :

c'est bien

if(date(Today())-DATEVRE_CLI <360, 1,0) as ANCIENNETE_CLI

flochi75
Creator III
Creator III

ça doit pouvoir marcher aussi comme ça...

steph24350
Contributor III
Contributor III
Author

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


steph24350
Contributor III
Contributor III
Author

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 IRLANDE140 834,45 €
95759      LEKKERLAND DEUTSCHLAND 136 882,90 €
95850      CARREFOUR ITALIE ROMA132 140,40 €
113009     NESTLE ESPANA97 395,77 €
113316     EDNA INTERNATIONAL GMBH90 209,50 €

115513     TRANSGOURMET DE GMBH & CO.

etc ..

46 478,04 €

Merci : )

flochi75
Creator III
Creator III

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" :

Capture.JPG

flochi75
Creator III
Creator III

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])

brunobertels
Master
Master

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