Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Voilà, je débute avec Qlikview .
J'ai créé un rapport contenant un tableau croisé dynamique affichant le CA par client et par mois.
Je souhaiterai dans ce tableau insérer une dimension basée sur une valeur particulière du champ "code famille élémentaire du client" qui me permettrait de regrouper les clients de type "Industriel" des autres :
Si le code famille élémentaire = 040 => Industriel
Si autre valeur => Non industriel
Comment réaliser cela dans qliview : définir une variable à l'aide de quelle fonction ?.
Merci d'avance pour votre aide
Je suis absent(e) du bureau jusqu'au 22/03/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] - Rupture conditionnelle sur une valeur de
champ" envoyé le 21/3/13 9:23:11.
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.
Créez une dimension calculée ( Propriétes -> Dimensions -> Dimension Calculée ) valant :
if( [code famille élémentaire du client] = '040' , 'Industriel' , 'Autres' )
Je suis absent(e) du bureau jusqu'au 22/03/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: Rupture conditionnelle sur une valeur de
champ" envoyé le 21/3/13 15:37:47.
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.
Merci beaucoup, cela fait XX temps que je cherchais la solution..
Je savais que c'était très simple mais suis passé par diverses tentatives :création de variable, fonction aggr notamment.
Je voulais créer une variable pour l'utiliser au même titre que d'autres dimensions
En créant avec l'instruction let nomdemavariable = if( [accounting_center] = 'INVESTISSEMENTS' , 'CASH OUT' , 'RESULTAT' )
=> je ne sais pas où loger cette instruction (pas dans module visiblement)
Ou dans paramètres variables :
if( [accounting_center] = 'INVESTISSEMENTS' , 'CASH OUT' , 'RESULTAT' )
=> la variable s'afiche dans l'éditeur d'expressions, mais l'insertion de la variable en tant que dimension ne donne pas le résultat escompté..
Merci pour votre aide si possible !
Variable 1= if( [accounting_center] = 'INVESTISSEMENTS' , 'CASH OUT' , 'RESULTAT' )
dans le champs dimension essaie:
$(=$(Variable 1))
ou
'$(=$(Variable 1))'
j'espère que l'une des solutions marchera
Bonjour,
Supposez que vous vouliez créer une dimension basée sur la formule suivante qui inclut des quotes :
if(mid(,1,1)='A','Les A','les Autres')
Soit vous écrivez votre formule directement dans la dimension calculée, soit vous procédez comme suit :
Dans la partie script, créer une variable de type constante par l’instruction SET (par cette instruction, la variable est créée mais la formule à droite du = n’est pas interprétée. Il faut de plus transformer toutes les quotes en chr(39) pour qu’elles ne prettent pas à confusion dans l’écriture de la formule. Dans notre cas, cela donnera :
set vLaDimension='if(mid(,1,1)=' & chr(39) & 'A' & chr(39) & ',' & chr(39) & 'Les A' & chr(39) & ',' & chr(39) & 'les Autres' & chr(39) & ')';
Notez l’utilisation de quote en début et en fin de formule. Cela permet de stocker une chaine de caractère dans une variable, cette chaine étant ensuite susceptible de contenir n’importe quoi.
Après rechargement de l’application, on voit apparaitre la variable dans la liste des variables associées au document, et rien n’a été interprété :
Maintenant, il suffit d’utiliser cette variable dans une dimension calculée.
Problème : si on se contente d’écrire dans la dimension calculée une expression du style =$(vLaDimension), ça ne marche qu’à moitié, parce que la variable est bien remplacée par la formule, mais la formule n’est pas interprétée. Pour faire en sorte que la variable soit remplacée par une formule et que la formule soit ensuite interprétée, il faut utiliser une nouvelle fois l’opérateur $() qui, au-delà de la substitution, permettra également d’interpréter une formule de calcul.
Donc au final, l’écriture de votre dimension calculée deviendra =$(=$(vLaDimension)). Voici la formule dans la fenêtre de la dimension calculée :
Essayez, ça marche. Cette méthode a pour avantage de vous permettre de stocker toutes vos formules dans des variables, elles-mêmes stockées dans un script qui peut par la suite être externalisé à l’application sous la forme d’un simple fichier texte en général suffixé en .qvs et appelé par des instruction du type $(include=’monprogramme.qvs’). Dans ce cas, précis, le fichier monprogramme.qvs contiendrait du code script qlikview qui serait ensuite exécuté au rechargement de l’application.
Cdt
Christophe Jouve
Senior Solution Architect
Direct: +33 1 55 62 65 54
Mobile: +33 6 76 24 22 47
Email: Christophe.Jouve@qlik.com
QlikTech
France Headquarters Office,93 avenue Charles de Gaulle
92200 Neuilly sur Seine
qlik.com<http://www.qlik.com/>
18 octobre 2012 | De la Business Intelligence à la Business Discovery...
http://www.qlikview.fr/BDWT-Paris
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
ça marche parfaitement merci à tous les deux. Je peux donc utiliser la variable comme nouvelle dimension. J'arrive au même résultat en faisant un set analysis dans l'expression de calcul.
Ce que je ne comprends pas, c'est la raison pour laquelle je ne peux pas utiliser la variable pour filtrer selon le résultat de ma variable dans un set analysis ou un if :
J'entre dans mon expression calculée :
sum({<CASHOURESULTAT={'RESULTAT'}>} account_cost)
Sum({$< CASHOURESULTAT = 'RESULTAT'>}account_cost)
Le grahique s'affiche mais ne filtre pas , j'ai les deux valeurs correspondant au calcul de la variable dans le script (RESULTAT ET INVESTISSMENT)
J'ai également essayé ceci sur base d'un post mais pas de résultat, peut être une erreur de syntaxe ?
sum ({<CASHOURESULTAT={$(=('INVESTISSEMENTS')}>} account_cost))
Merci pour votre aide !