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

Deski Discussion :

tableau simple avec 2 colonnes d'un même indicateur filtré différemment.


Sujet :

Deski

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut tableau simple avec 2 colonnes d'un même indicateur filtré différemment.
    Bonsoir,

    Je dois comparer des chiffres d'affaire sur deux périodes aléatoires (et donc non classiques comme mois ou année) de l'année.
    Pour celà, mon unique fournisseur de donnée me ramène d'abord toute les lignes de facture de l'année.

    Puis je souhaite obtenir, agrégé par famille de produit, deux colonnes "Montant période 1" et "Montant période 2" qui soient toute les deux les "ventes" mais chacune filtrées sur une date de facture dans un intervale de date différent.

    famille MontantPériode1 MontantPériode2

    Dans un premier temps pour la première colonne MontantPériode1 :
    J'ai essayé de filtrer par "où" mais il faut oublier; j'ai ensuite essayé par une variable indicateur "Si Date de facture entre deux date alors Ventes sinon 0" et là j'obtiens l'erreur CALCUL.

    Un copain m'a alors parlé de créer une variable dimension à partir de la variable indicateur ci dessus puis de créer une variable =somme(de cette variable...dimension!!!).
    Ce n'est pas vraiment concluant et je dois avoir loupé un truc car des résultats s'affichent si je ramène aussi la DatedeFacture mais ne se somment pas correctement si je vire la DatedeFacture.

    Bref je coince piteusement à la première colonne (= MA QUESTION 1) quand je me demande maintenant (= MA QUESTION 2) si de toute façon Deski serait-il techniquement capable de sortir ainsi dans un tableau simple, deux colonnes agrégées d'un même indicateur filtré sur deux fourchettes de DatesdeFacture différentes ??

    NB: J'ai déjà construit le tableau simple à partir de 2 requètes liées, chacune ramenant sa période. Mais je cherche une possible méthode plus....simple (si si !) pour les utilisateurs et moi.

    Bonne nuit et la nuit apporte conseil, c'est bien connu.

  2. #2
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Citation Envoyé par tpeluchon
    je cherche une possible méthode plus....simple (si si !) pour les utilisateurs et moi
    Malheureusement je crois que la méthode la plus simple tu l'as déjà donnée...
    En effet pour la mise en oeuvre le plus simple est de créer 2 requêtes, chacune filtrée par une invite sur la période désirée. Le but est de ramener à l'affichage uniquement les éléments communs que tu veux voir afficher : famille de produit, etc... (et ce afin d'éviter les problèmes de synchronisation entre tes requêtes) ainsi que l'indicateur faisant la somme de tes factures.

    Pour info, il est normal que dans le cas d'une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si Date de facture entre deux date alors Ventes sinon 0
    il soit nécessaire d'afficher la date facture dans ton tableau, sinon BO ne sait pas sur quel date effectuer son test.
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    OK Tom et merci.

    Si je peux encore profiter de ton expérience ; Est-ce à dire aussi que pour comparer des chiffre d'affaire ou autre, sur des périodes même classiques comme Année N, N-1,N-2 , il te semble aussi plus facile de passer par plusieurs requètes ramenant chacune les enregistrements par période ?

    çà me fait remarquer aussi que si, comme tu me l'apprends, la datedefacture doit être affichée dans le tableau (et pas seulement être ramenée par le fournisseur) pour pouvoir m'en servir comme élément de filtre d'une colonne. Alors il n'est plus possible d'agréger l'indicateur à cause de toute ces dates affichées. A moins que tu vois un truc pour masquer la colonne DatedeFacture et ainsi agréger les ventes ?

    Buenas noches, senor !

  4. #4
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Citation Envoyé par tpeluchon
    Si je peux encore profiter de ton expérience
    Mais tant que tu veux

    Alors, pour ta première question effectivement je considère qu'il vaut mieux créer une requête par période car cela te permet d'éviter de devoir placer des contextes (Où, Dans, etc...) qui sont générateurs d'erreurs, alors qu'avec deux requêtes il te suffit de faire un calcul simple entre deux objets.

    Et pour ta deuxième question, deux réponses :

    Effectivement l'affichage de toutes ces dates empêchera l'agrégation de ton indicateur. Mais quelquepart c'est logique dans la mesure où tu ventiles ton indicateur avec une donnée supplémentaire.
    Donc si tu dois placer un test sur Date Facture tu seras obligé de l'afficher pour que ce test fonctionne. Tu peux effectivement masquer la colonne en passant par Format de Tableau > Rotation > Masquer mais l'agrégation ne se fera pas pour autant. En effet, les lignes auxquelles correspondent ces dates seront toujours affichées. Cette option sert juste à ne pas afficher la colonne, mais sans la supprimer.

    Par contre, tu peux utiliser l'objet DateFacture en tant que filtre mais pas en tant qu'élément d'une condition si tu veux garder l'agrégation. En clair, si tu dois filtrer sur les dates factures entre il y a deux mois et aujourd'hui, pas de souci, il suffit de créer un filtre complexe sur cet objet. Par contre, si tu dois appliquer une formule avec un Si() à DateFacture , ça coince.
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Et alors si je te suis bien :

    Un filtre s'applique sur tout un rapport (global) ou bien sur un tableau entier (bloc) mais pas sur une colonne Chiffre d'affaire N (filtrée sur une période de DatedeFacture) avec une autre colonne Chiffre d'Affaire N-1 (filtrée sur une autre période de DatedeFacture).

    Et la boucle me semblerait donc bouclée pour devoir me replier sur un fournisseur de données par période !

    C'est bien çà ?

  6. #6
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Citation Envoyé par tpeluchon
    Un filtre s'applique sur tout un rapport (global) ou bien sur un tableau entier (bloc) mais pas sur une colonne Chiffre d'affaire N (filtrée sur une période de DatedeFacture) avec une autre colonne Chiffre d'Affaire N-1 (filtrée sur une autre période de DatedeFacture)
    C'est exactement ça.
    Cependant, il est possible de ramener tes deux années en une seule requête et d'afficher chaque colonne en fonction de l'année par exemple. Par contre, si tu dois faire des calculs dessus, ça va t'obliger à utiliser l'opérateur contextuel "Où" qui n'accepte que des données en dur, c'est donc très moyen

    Résultat, fonce sur la solution des deux requêtes
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2012, 20h40
  2. Tableau html avec 1ere colonne fixe et scrollbar
    Par Olivier3000 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 01/03/2011, 12h12
  3. [PHP 4] session et tableau array avec 4 colonnes
    Par sooprano dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2009, 13h38
  4. Réponses: 0
    Dernier message: 29/06/2009, 15h32
  5. Réponses: 4
    Dernier message: 05/12/2006, 11h43

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