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

Power BI Discussion :

[PBI]Mise en place d'un filtre de dates sur plusieurs calendriers


Sujet :

Power BI

  1. #1
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 346
    Par défaut [PBI]Mise en place d'un filtre de dates sur plusieurs calendriers
    Bonjour à tous,


    Dis comme, ça le titre, ça fait pas rêver, mais je vais essayer de vous expliquer au mieux ma problématique, et si quelqu'un peut m'aider, ça serait top

    J'ai un tableau de données, avec des commandes, et des dates de traitement : la date de la demande, la date d'export, et la date de validation.
    Ces 3 dates n'ont pas vraiment de liens entre elles, étant donné que les différents travaux sur les commandes ne se font pas au même moment.

    Pour prendre un exemple, et vous faire un tableau simple de données :
    Commande Date demande Date export Date validation
    1 01/03/2026 04/03/2026 05/03/2026
    2 01/03/2026 02/03/2026 04/03/2026
    3 04/03/2026 06/03/2026 07/03/2026
    4 05/03/2026 06/03/2026 07/03/2026

    Pour faire un tableau global des commandes, j'ai créé un calendrier, que j'ai affecté à la date de la demande, pour avoir, sur le mois de mars, le nombre de demandes qui ont été exportées, validées, mais en se basant ici uniquement sur la date de la demande.
    Par contre, pour un autre besoin, il m'a été demandé de rajouter le nombre de commandes validées, exportées, par jour. Donc en ne se basant plus sur la date de la demande, mais sur la date où le traitement de validation ou d'export a été effectué.

    Pour reprendre mon exemple ci-dessus, le résultat donnerait un truc de ce genre :

    date 01/03 02/03 03/03 04/03 05/03 06/03 07/03
    Nb demandes 2 1 1
    Nb export 1 1 2
    Nb val 1 1 2


    De ce fait, pour cette demande, j'ai créé un calendrier de validation et un calendrier d'export, qui se base sur les champs en question.

    Mais je ne sais pas comment faire mon tableau par rapport aux dates, pour qu'il prenne la date correctement ?

    VOus auriez une idée ?

    Merci d'avance pour votre retour
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  2. #2
    Membre émérite Avatar de Tippa
    Homme Profil pro
    Consultant Formateur en Business Intelligence
    Inscrit en
    Mars 2010
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Formateur en Business Intelligence
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2010
    Messages : 339
    Par défaut Table de Dates
    Bonjour,

    Si je comprends bien le problème la solution devrait être plus simple que prévue.
    1/ Ne conserve qu'une seule table de dates reliée aux 3 dates (1 relation active (par ex DateDemande et 2 relations inactives DateExport et DateValid, pointillée)
    Pour mon exemple cette table de dates s'appele Calendrier, mais tu la nommes bien comme tu veux ;-)
    2/ Créer ensuite 3 mesures :
    1 pour compter selon date demande ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nb selon DateDemande = COUNT( TaTable[NumCommande] )
    ou DISTINCTCOUNT ou DISTINCTCOUNTNOBLANK selon besoin...
    1 mesure pour la date export
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nb selon date Export = CALCULATE( [Nb selon DateDemande] , USERELATIONSHIP( TaTable[DateExport] , Calendrier[Date] )
    et idem pour Date Validation.
    J'utilise la première mesure pour calculer les autres, plus facile en cas de maintenance/correction qui se transmettront entre les mesures.
    3/ Tu construis ta matrice avec ta date de la table calendrier, tu ajoutes tes mesures et tu devrais avoir tes comptes.
    Dis nous si ça fonctionne ?

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 346
    Par défaut
    super ça marche parfaitement bien

    Merci beaucoup

    J'ai par ailleurs une question subsidaire.

    Là ça marche nickel pour avoir mon 2e tableau donc ça c'est parfait.
    Par contre, avant, avec mes 3 tables de calendrier, quand je cliquais sur une des lignes de mon tableau des dates de demande, les autres tableaux se mettaient "à jour", et je pouvais voir pour les demandes à une date donnée, quand elles avaient été traitées.

    Pour reprendre mon exemple, si je clique sur mon tableau sur la date du 01/03/2026, mes tableaux d'export et de validation se mettaient à jour, et je pouvais voir d'un coup d'oeil que pour pour les 2 demandes du 01/03, j'en ai une qui a été exportée le 02/03, l'autre le 02/03, et qu'elles ont été validées le 04/03 et le 05/03.

    En ne mettant qu'un calendrier comme tu me l'as recommandé, je perd cette fonctionnalité.


    Faudrait-il que je garde quand même mes 2 autres calendriers, en effectuant des relations inactives ?

    Merci d'avance pour ton aide et ton retour
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  4. #4
    Membre émérite Avatar de Tippa
    Homme Profil pro
    Consultant Formateur en Business Intelligence
    Inscrit en
    Mars 2010
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Formateur en Business Intelligence
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2010
    Messages : 339
    Par défaut Plusieurs solutions possibles
    Bonjour,

    Plusieurs solutions possibles, plusieurs tables de dates mais pas toujours simple à gérer (après je ne connais pas tout le projet, mais rarement recommandé),
    la fonction CROSSFILTER qui te permet d'activer une relation dans un sens ou l'autre ou de désactiver une relation pour un calcul,
    Une table de dates déconnecté du modèle (sans relation aucune), dont tu récupères les valeurs via SELECTEDVALUE et tu utilises ces valeurs pour faire ton calcul…
    Certes dans ce dernier cas tu as 2 tables de dates (une connectée et une déconnectée), mais comme seule l'une d'entre elles est connectée ça reste un modèle avec une seule table de dates.
    Et sûrement d'autres pistes selon ce que tu souhaites vraiment ou ce que tu connais déjà

Discussions similaires

  1. [XL-2013] Mise en place d'un filtre élaboré
    Par l.flipper dans le forum Excel
    Réponses: 2
    Dernier message: 11/03/2020, 14h33
  2. Réponses: 0
    Dernier message: 24/11/2017, 14h27
  3. Mise en place d'un RSO VPN internet sur plusieurs sites
    Par Solsbury dans le forum Développement
    Réponses: 0
    Dernier message: 12/10/2010, 15h03
  4. Réponses: 1
    Dernier message: 10/12/2009, 16h13
  5. Mise en place du haut de page site sur le forum
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 45
    Dernier message: 29/07/2009, 14h30

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