IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Écart entre date du jour et période sélectionnée


Sujet :

QlikView

  1. #61
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut
    C'est bon, j'ai ce que je voulais.

    en fait j'ai fait comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =if(sum({<ccompte={"=sum(Solde) > sum({$ <Annee_Mois={$(=v_Date1)}>} Solde)"}>}  Solde),sum(Solde) - sum({$ <Annee_Mois={$(=v_Date1)}>} Solde),'ko')
    S'il y à une autre méthode je suis preneur.

  2. #62
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut
    J'ai une question a nouveaux.

    Je cherche tous les locataires qui ont un solde > à 0 au mois M et qui avait un solde <= 0 au mois M-x.

    Grâce à un membre du forum (PhunkyBob) , je suis arrivée à cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =concat(if(aggr(count({<solde={'>0'}>} DISTINCT ccompte), ccompte) 
    and
    aggr(count({<solde={'=0'},Annee_Mois={$(=v_Date1)}>} DISTINCT ccompte), ccompte) ,
    ccompte), ', ')
    Qand je fais mes tests , je me rend compte que j'ai un petit beug.
    Nom : Capture_tab.PNG
Affichages : 98
Taille : 6,5 Ko

    Normalement la formule devrait retourner 8, car dans mon tableau ci-dessus il y à que 8 cas dans cette condition.

    Quand je veux afficher uniquement ceux qui ont un solde <= 0 pour le Mois M-x , il retourne 10, ce qui est l'inverse de ce que m'affiche le tableaux.

    Qu'ais je mal fait ?
    Images attachées Images attachées  

  3. #63
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 651
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 651
    Points : 2 531
    Points
    2 531
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pourquoi dans votre formule, vous mettez
    alors que vous voulez
    qui avait un solde <= 0 au mois M-x
    ?

    Les lignes qui affichent un "0" dans votre capture d'écran, c'est parce qu'il y a une ligne en base qui dit "solde = 0" ou il n'y a pas de ligne, et donc la somme fait 0 ?

    On dirait qu'il n'y a pas de ligne, et du coup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count({<solde={'0'}>} DISTINCT ccompte)
    ne retourne pas "0" mais "null", car il n'y a pas de ligne correspondant à l'expression.


    Supposons que vous ayez ces données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    LOAD * INLINE [
    ccompte, Annee_Mois, solde
    0 puis 0, 1, 0
    0 puis 0, 2, 0
    0 puis positif, 1, 0
    0 puis positif, 2, 1000
    0 puis négatif, 1, 0
    0 puis négatif, 2, -100
    0 puis null, 1, 0
    positif puis positif, 1, 1000
    positif puis positif, 2, 1000
    positif puis 0, 1, 1000
    positif puis 0, 2, 0
    positif puis négatif, 1, 1000
    positif puis négatif, 2, -100
    positif puis null, 1, 1000
    négatif puis négatif, 1, -100
    négatif puis négatif, 2, -100
    négatif puis 0, 1, -100
    négatif puis 0, 2, 0
    négatif puis positif, 1, -100
    négatif puis positif, 2, 1000
    négatif puis null, 1, -100
    null puis négatif, 2, -100
    null puis 0, 2, 0
    null puis positif, 2, 1000
    ];
     
    SET v_Date1 = 1;
    Si dans votre graphique, vous mettez comme dimension "ccompte" et comme expressions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Annee_Mois={$(=v_Date1)}>} solde)
    (pour être sûr de tout afficher)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    concat(
    if(
    aggr(count({<solde={'>0'}>} DISTINCT ccompte), ccompte) > 0
    and
    aggr(count({<solde={'<=0'},Annee_Mois={$(=v_Date1)}>} DISTINCT ccompte), ccompte) > 0
    ,
    ccompte), ', ')
    Vous obtiendrez :

    --> on voit que la ligne "null puis positif" n'est pas comptée.
    Comme dit plus haut, la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aggr(count({<solde={'<=0'},Annee_Mois={$(=v_Date1)}>} DISTINCT ccompte), ccompte) > 0
    n'est ni remplie, ni pas remplie : elle n'est même pas calculée car il n'y a pas de ligne correspondant à ce Set Analysis.

    Il faut donc rajouter une condition : soit le compte avait la colonne "solde" avec une valeur <= 0, soit le compte tout solde confondu n'a pas de valeur.

    Ce qui se traduit par exemple par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    concat(
    if(
    aggr(count({<solde={'>0'}>} DISTINCT ccompte), ccompte) > 0
    and
    (
    	aggr(count({<solde={'<=0'},Annee_Mois={$(=v_Date1)}>} DISTINCT ccompte), ccompte) > 0
    	or
    	isnull(aggr(count({<Annee_Mois={$(=v_Date1)}>} DISTINCT ccompte), ccompte))
    )
    ,
    ccompte), ', ')
    qui retournera :

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Calcul en nombre de jours l'écart entre deux dates
    Par theber dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 05/12/2014, 08h57
  2. Réponses: 2
    Dernier message: 20/11/2012, 15h55
  3. Réponses: 4
    Dernier message: 21/11/2008, 11h54
  4. Requète: recherche d'écarts entre dates de commande
    Par alexandre.babey dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/05/2007, 22h12
  5. différence durée entre date jour/date champ
    Par debdev dans le forum Access
    Réponses: 9
    Dernier message: 30/11/2005, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo