Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Voici ma question :
Dans un tableau simple, j'ai une dimension A pour laquelle j'ai en expression une valeur B.
est-il possible de conditionner l'affichage des lignes de A en fonction des valeurs B ?
En résumé je souhaite afficher uniquement les lignes A supérieur à 1 par exemple.
Merci de votre aide
Christophe
Christophe,
Sinon vous pouvez toujours gérer cela par vos expressions, solution qui serait toujours moins gourmande que par le biais d'une dimension calculée.
Pour ceci, vous devrez utiliser du Set Analysis.
Si votre expression initiale est :
sum(A)
Celle-ci deviendrait :
sum({<B={">1"}>} A)
J'espère que celà vous rendra service,
Martin Favier
Je suis absent(e) du bureau jusqu'au 02/01/2013
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Condition d'affichage des dimensions"
envoyé le 27/12/12 20:44:14.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Bonjour et merci pour cette solution qui comme vous le dites,
est beaucoup moins gourmande et c'est très bien !!
C'est parfait
Je suis absent(e) du bureau jusqu'au 02/01/2013
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Condition d'affichage des dimensions"
envoyé le 28/12/12 9:57:12.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Bonjour Martin,
La demande initiale est d'afficher les lignes de dimension A pour lesquelles l'expression sum(B)>1.
J'utilise moi-même un calcul sur la dimension similaire à celui préconisé par Reynald :
if(aggr(sum(B), A)>1, A,Null()) en cochant "Supprimer si la valeur est nulle"
Mais je suis intéressé par toute autre méthode et vous en proposez deux :
- utiliser les limites dimensionnelles, c'est possible en V11mais sur les tableaux simples, pas sur les tableaux croisés.
- utiliser le SET ANALYSIS sur l'expression, plutôt qu'un calcul sur la dimension.
Cette méthode me semble bien mais je ne comprends pas votre expression :
sum({<B={">1"}>} A)
Pouvez-vous me l'expliquer, rapportée à la demande initiale ?
Merci,
Didier Brenet
Bonjour Didier,
La formule indiquée ci-dessus indique que vous sommez les valeurs du champ A, lorsque que le champ B a lui-même une valeur supérieure à 1.
Le résultat serait le même qu'en faisant :
sum(if(B>1, A))
La différence est que la formule utilisée dans mon post précédent est beaucoup plus optimisée et peut également être plus poussée.
Vous trouverez plus de détail sur cette syntaxe dans l'aide de QlikView, rubrique "Analyse d'ensembles".
Martin Favier
Je suis absent(e) du bureau jusqu'au 02/01/2013
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Condition d'affichage des dimensions"
envoyé le 28/12/12 11:51:17.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Je suis absent(e) du bureau jusqu'au 02/01/2013
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Condition d'affichage des dimensions"
envoyé le 28/12/12 12:13:50.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Martin,
Je comprends bien la syntaxe de B>1 en utilisant le SET ANALYSIS mais pourquoi une somme de A qui, dans notre cas, est une dimension ?
Prenons l'exemple suivant :
dimension A : Salarié
expression E1 : nb heures théoriques
expression E2 : nb heures réelles
expression B : écart E2-E1
on veut afficher tous les salaries pour lesquels B>1
Pouvez-vous rapporter votre expression à cet exemple ?
Merci,
Didier
Désolé Didier, j'avais en effet mal compris votre exemple.
Dans ce cas, je ferais donc un tableau avec la dimension A et 3 expressions.
Voici les formules pour chacune de ces expressions :
Expression B:
Sum(NbHeuresReelles) - Sum(NbHeuresTheoriques)
Expression E1:
if([Expression B], Sum(NbHeuresReelles))
Expression E2:
if([Expression B], Sum(NbHeuresTheoriques))
C'est certe plus contraignant que la solution proposée Raynald, mais beaucoup mieux en terme de performance machine.
Après tout dépend de vos données et de la volumétrie...
Martin Favier