Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Tout nouveau dans l'univers QView, j'ai un problème semble-t-il récurrent de date.
J'ai une table de Commande avec:
-Numéro de Commande
-Date de Commande
-Date de Reception commande
-Date de Livraison
-Numero de Facture
J'ai une table de Facture avec:
-Numero de facture
-Date de Facture
-Date de Reception facture
-Date de Paiement
J'essai de faire un graphique avec, par mois, le nombre de Commande passée, le nombre de Commande Reçue, le nombre de Commande Livrée, Le nombre de facture reçu et le nombre de facture payée.
Si je prend comme axe de graphe une date de la table Commande, je ne peut pas comptabiliser les factures non liées à une commande.
Si je prend comme axe de graphe une date de la table Facture, je ne peut pas comptabiliser les commandes non facturées
J'ai donc (essayé) de créer un "Master Calendar" (?!) que j'utilise comme axe de graph et j'utilise comme expression:
count (If(Date_de_Commande=TempDate,Numéro de Commande)) pour compter les commandes passées,
count (If(Date_de_Reception_Commande=TempDate,Numéro de Commande)) pour compter les commandes reçues,
count (If(Date_de_Livraison=TempDate,Numéro de Commande)) pour compter les commandes livrées,
count (If(Date_de_Facture=TempDate,Numéro de Facture)) pour compter les facturs émises,
count (If(Date_de_reception_Facture=TempDate,Numéro de Facture)) pour compter les facturs reçues,
...
Cela fonctionne à 2 problèmes prêt:
1- le temps de calcul a chaque cahngement de filtre est trés trés long
2-comme je n'ai pas de lien entre mon calendrier et mes tables Commande et facture, la selection d'une période données ne me permet pas de visualiser de quelles factures et quelles commandes il s'agit.
Quelqu'un aurait-il une solutoin ?
merci d'avance et à +
Oui. L'idée est de lier les tables Commandes et Factures avec la Calendrier.
Mais comme vous avez plusieurs colonnes dans la table Commande qu'il faut chacune lier à Calendrier, on est obligé d'ajouter une table intermédiaire, sinon on obtiendrait des clés syn.
Votre solution initiale était très très lente, car il n'y avait pas de lien, et donc un produit carthésien entre les tables. Cela faisant des millions de lignes à parcourir avec votre expression count(if(..)).
Maintenant il y a un lien entre les tables. Et on peut utiliser une expression d'analyse d'ensemble plutôt qu'un if() ....
Selon moi, vous devriez effectivement lier les tables 'commandes' et 'facture' au 'master calendar' .. mais attention cela implique de changer quelque peu votre structure actuelle et attention au clés sythétiques ... une possiblité de solution en pièce jointe.
Bonjour,
Je ne peut malheureusement pas utiliser la PJ (je suis en "Personnal Edition" et mes 3 importations ont déjà été utilisées...)
Cordialement
Bonjour,
Je ne peut malheureusement pas utiliser la PJ (je suis en "Personnal Edition" et mes 3 importations ont déjà été utilisées...)
Cordialement
Je pense que ça vaudrait la peine d'investir dans une licence
Regardez déjà si vous pouvez avancer avec les PJ ci-dessous ...
Bien d'accord pour la licence, je vais en causer à mon boss 🙂
je ne suis pas sur d'avoir tout compris mais je vais étudier ça avec attention !!
merci !
je ne comprend pas...
En PJ mes deux tables Xls (commande et facture, je n'ai pris à chaque fois que les 900 premieres ligne).
Je crois comprendre que je doit attribuer à chaque ligne si c'est une commande recu, livrée ou facturée ???? mais une commande livrée doit aussi etre comptabilisé comme passée...
Cdlt
Oui. L'idée est de lier les tables Commandes et Factures avec la Calendrier.
Mais comme vous avez plusieurs colonnes dans la table Commande qu'il faut chacune lier à Calendrier, on est obligé d'ajouter une table intermédiaire, sinon on obtiendrait des clés syn.
Votre solution initiale était très très lente, car il n'y avait pas de lien, et donc un produit carthésien entre les tables. Cela faisant des millions de lignes à parcourir avec votre expression count(if(..)).
Maintenant il y a un lien entre les tables. Et on peut utiliser une expression d'analyse d'ensemble plutôt qu'un if() ....
Ca marche impec !!!!!
genial et un grand merci !