Toujours le même souci.
j'utilise déjà cette expression(c'est même vous qui m'avez aider) et elle fonctionne, j'ai juste rajouté le Or.
Toujours le même souci.
j'utilise déjà cette expression(c'est même vous qui m'avez aider) et elle fonctionne, j'ai juste rajouté le Or.
Chez moi, ça fonctionne.
Vérifiez que vous utilisez les bonnes variables et les bons noms de colone.
D'après votre message, vous avez 2 variables :
vMois
et
v_Mois1
bizarre de mettre un "_" dans l'une et pas dans l'autre...
ce Set Analysis dit "on filtre sur le champ "champ1" qui prendra comme valeurs le cumul des ensembles "ensemble_1" et "ensemble_2"".
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum({$ <champ1={ensemble_1}+{ensemble_2}>} champ2)
Après vérification avec un fonction "if" afin d'être sur de mes résultats ,j'en suis venu à conclure que cette syntaxe est la bonne et elle fonctionne.
Cependant dans mon tableau , j'ai une nouvelle condition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part count({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"} + {"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) = 0"}>} DISTINCT ccompte)))
Pour mes autres set ça à marché mais là, j'ai aucun retour. Devrais agréer en fonction de kpi_nbre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 =if(kpi_nbre='Montant de la dette',count({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) < sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>} DISTINCT ccompte) - if(kpi_nbre='Montant de la dette',count({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"} + {"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) = 0"}>} DISTINCT ccompte)))
Je ne comprends pas votre condition.
A quoi sert le 2em "if", alors que c'est la même condition que le premier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 si kpi_nbre='Montant de la dette' alors count1 - si kpi_nbre='Montant de la dette' alors count2 fin si fin si
Pour quoi ne pas mettre tout dans la même condition ? :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 =if(kpi_nbre='Montant de la dette', count({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) < sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>} DISTINCT ccompte) - count({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"} + {"=sum({$ <Annee_Mois={$(=vMois)}>} Solde) = 0"}>} DISTINCT ccompte) )
Pourquoi faire compliqué quand il y à simple.
Merci PhunkyBob.
Bonjour,
Je cherche à obtenir tous les locataires dont le montant de leur créance a augmenté entre deux dates.
v_Date = date de la sélection active
v_Date1 = date paramétrable via une zone de saisie.
Pour cela j'ai fais :
Afin d'obtenir le nombre de locataire qui ont vu leur créance augmenter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part count({<ccompte={"=({$ <Annee_Mois={$(=v_Date)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>} DISTINCT ccompte)
Là ou ça se complique pour moi , c'est qu'en suite je dois faire la somme de leur solde. Et c'est ce dernier que je dois afficher.
Je cherche tous ceux qui entre dans ma 1ere condition puis je somme leur solde.
En remplaçant le "count" par un "sum" et le dernier ccompte par un "solde" et en rajoutant un filtre sur la date, ça ne fonctionne pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum({<ccompte={"=({$ <Annee_Mois={$(=v_Date)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"},Annee_Mois={$(=v_Date)}>} DISTINCT Solde)
Pourquoi avoir ajouter le filtre sur la date ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Annee_Mois={$(=v_Date)}
Parce-que la formule :
je l'ais déjà faite , et ça marchais mais j'avais des doutes
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum({<ccompte={"=({$ <Annee_Mois={$(=v_Date)}>} Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>} DISTINCT Solde)
Encore moi.
J'ai de nouveau une question.
Je veux connaitre le nombre de toutes les nouvelles demandes de prélèvement pour le mois M .
Comment je sais que c'est une demande de prélèvement , j'ai un flag prélèvement (prelev).
nouvelle demande de prélèvement : prelev= 1
pas de demande de prélèvement : prelev =0
Pour avoir toutes les nouvelles demandes de prélèvement pour le mois M j'ai fais ceci :
Mon M-x est déterminé comme suis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =count({<Prelev={1}>}Prelev)Là ou j'en appel à votre expérience , c'est la suite .
Code : Sélectionner tout - Visualiser dans une fenêtre à part Annee_Mois={$(=v_Date1)}
En fait je dois vérifier, si le mois M le flag est à 1 donc le flag du mois M-x doit être à 0 , puis je compte.
je vérifier le changement d'état, le passage de 1 à 0.
car si l mois M le flag est à 1 et qu'au Mois M-x aussi, donc ce n'es pas une nouvelle demande de prélèvement.
Pour faire un tableau qui met en évidence les erreurs de flag, il faut faire la même chose que dans l'expression avec les mouvements de Solde.
Il n'y a pas beaucoup de différence entre "trouver les comptes qui avaient un solde à 0 en M-1 et qui ont un solde > 0 en M" et "trouver les comptes qui avaient un flag à 0 en M-1 et qui ont un flag à 1 en M".
Sinon, le plus simple, c'est de faire en sorte que le flag soit toujours bon...
Personnellement, je veux bien aider les membres à progresser dans QlikView, mais je ne veux pas faire du QlikView à la place des membres (je n'exerce pas mon métier gratuitement).
je comprend bien et c'est gentil à vous de me répondre.
J'ai justement essayer cette solution car je trouvais aussi que le principe était le même, mais je dois sans doute mal poser les conditions.
En suivant vos conseils j'ai commencer ma fonction par un concat. car quand je fesais le count j'avais un nombre mais je voulais en être sur.
Pour ça j'ai posé l’expression suivante:
en posant cette expressions , je me suis dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =Concat({<ccompte={"=sum({$ <Annee_Mois={$(=v_Date)}>} Prelev =1)"}+{"=sum({$ <Annee_Mois={$(=v_Date1)}>} Prelev =0)"}>} DISTINCT ccompte, ', ')
Je fais la somme de toute les nouvelles demandes de prélèvement au mois M and ceux qui n'ont pas demande de prélèvement au mois M-x (v_Date1)
Puis j'ai poser cette expression :
mais je me mélange les pinceaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum(Prelev=1) <> sum({$ <Annee_Mois={$(=v_Date1)}>} Prelev=1)"}>} DISTINCT ccompte, ', ')
L'expression
n' pas de sens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum(Prelev=1)
Par contre
retournera "1" pour les comptes qui répondent à la condition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum({$ <Prelev={1}>} distinct Prelev)
Donc
affichera la liste des ccompte donc Prelev vaut 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum({$ <Prelev={1}>} distinct Prelev) = 1"}>} DISTINCT ccompte, ', ')
-->
affichera la liste des ccompte donc Prelev vaut 1 ce mois-ci et ne valait pas 1 le mois dernier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum({$ <Prelev={1}>} distinct Prelev) = 1 and sum({$ <Prelev={1},Annee_Mois={$(=v_Date)}>} distinct Prelev) = 0"}>} DISTINCT ccompte, ', ')
Je vais poser peut etre une question bete ,désolé c'est pour que je comprenne et évite de poser ce genre de question la prochaine fois.
dans votre formule à quoi correspond le =0 ?
Si je souhaite afficher la liste des ccompte dont Prelev vaut 0 ce mois-ci et ne valait pas 0 le mois dernier. j'inverse les conditions 0 à la place de 1 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum({$ <Prelev={1}>} distinct Prelev) = 1 and sum({$ <Prelev={1},Annee_Mois={$(=v_Date)}>} distinct Prelev) = 0"}>} DISTINCT ccompte, ', ')
Pour connaitre le nombre de ces prélèvements , on remplace le concat par count et le ccompte par prelev.
Je vérifie si, en additionnant les Prelev qui ont Prelev à 1, j'ai bien "0", ce qui signifie qu'il n'y en a aucun à 1 (et donc ils sont tous à 0).
Si je vérifie en additionnant les Prelev qui ont un Prelev à 0, j'ai bien "0", j'aurai un résultat faux : la formule retournera aussi "0" pour ceux qui ont un Prelev à 1, vu qu'on ne filtre que sur le "0"...
D'accord donc avec cette syntaxe on ne peux calculer le cas ou il y à des ccomptes qui n'ont pas de prélèvement.
si on veux la liste des comptes dont prelev vaut 0 (qui n'ont pas de prélèvement)
on peux faire :
Là il va sommé tous les ccomptes qui ont un flag à 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum({$ <Prelev={0}>} distinct Prelev) = 0"}>} DISTINCT ccompte, ', ')
ou je me suis trompé ou j'ai pas bien compris (dans les deux cas c'est quasi pareil)
mais que je mette le flag à 1 ou 0,il m'affiche aucun des ccompte qui sont dans ces conditions.
En revanche cette syntaxe m'affiche bien la liste des ccompte donc Prelev vaut 1 ce mois-ci et ne valait pas 1 le mois dernier
Et pour pousser mon test (et c'est pourquoi je vous ais poser la question) je souhaite afficher la liste des ccompte donc Prelev vaut 0 ce mois-ci et ne valait pas 0 le mois dernier
Code : Sélectionner tout - Visualiser dans une fenêtre à part =concat({<ccompte={"=sum({$ <Prelev={1}>} distinct Prelev) = 1 and sum({$ <Prelev={1},Annee_Mois={$(=v_Date)}>} distinct Prelev) = 0"}>} DISTINCT ccompte, ', ')
Je fais vos formules pas à pas afin de comprendre le cheminement.
Pas forcément : il va pour chaque ccompte vérifier que la somme de Prelev qui valent 0 fait bien 0.
Mais si un ccompte a un Prelev à 1, la somme de ses Prelev (quand on ne regarde que les Prelev qui valent 0) fera quand même 0. En fait, tout dépend de la façon dont les données sont structurée, du fait qu'un même ccompte puisse avoir plusieurs valeurs Prelev, du fait qu'un même ccompte puisse ne pas avoir de valeur Prelev, ...
L'important, c'est que vous obteniez le résultat que vous attendez
Merci PhunkyBob,
J'ai une autre question.
Si on souhaite avoir la différence entre le solde de vMois et celui de v_Mois1.
Je vérifie la condition , puis je somme la différence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 =if(sum({<ccompte={"=sum({$ <Annee_Mois={$(=vMois)}>} Solde)> sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>}),sum({$ <Annee_Mois={$(=vMois)}>} Solde) - sum({$ <Annee_Mois={$(=v_Date1)}>} Solde),'')
Est ce la bonne syntaxe ou me suis je trompé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager