Faire un calcul Glissant avec parrallel Periode

Accueil – Le CFO masqué Forums Power BI Faire un calcul Glissant avec parrallel Periode

15 sujets de 1 à 15 (sur un total de 18)
  • Auteur
    Articles
  • #49624
    Dhila
    Participant

    Bonjour;
    Je me retrouve confrontée à la situation suivante:
    J’ai deux tables avec la structure suivante:
    perf_global( id_fond varchar, date datetime; indexperformance decimal)
    Dim_date( date datetime; year integer, month varchar)

    perf_global est lié a la table Dim_date via la colonne date

    Sachant que dans mon rapport,j’ai deux filtres year et month de la dimension Dim_Date
    et je recherche à calculer la fonction STDEV.P pour la colonne indexperformance de perf_global pour la période de fin du mois de l’année choisi dans les deux filtres de mon rapport à fin du mois de l’année passée de la même période.

    j’ai créer cette mesure mais cependant elle ne fonctionne pas, elle me récupère que les indexperformance du début de l’année choisi dans le filtre au dernier mois disponible dans perf_global

    Volatilty_1Y = CALCULATE((STDEV.P(Perf_Global[indexperformance])*SQRT(252));FILTER((Perf_Global);Perf_Global[date] >= PARALLELPERIOD(DIM_DATE[Date];-12;MONTH) && Perf_Global[date] <= LASTDATE(DIM_DATE[Date])))

    Je bloque sur ce calcul et je ne sais pas comment faire en sorte pour désactiver mes filtres et au même temps récupérer la valeur choisi par mes users.

    Merci d’avance pour vos aides.
    ma mesure ressemble à cela

    STDEV.P

    • Ce sujet a été modifié le il y a 2 années et 2 mois par Dhila.
    • Ce sujet a été modifié le il y a 2 années et 2 mois par Dhila.
    • Ce sujet a été modifié le il y a 2 années et 2 mois par Dhila.
    #49628
    Sophie Marchand
    Participant

    Bonjour,

    J’ai relu à plusieurs reprises votre question mais j’ai du mal à la comprendre. Est-ce que ce serait possible qu’il manque un ALL après votre fonction FILTER? Sinon, pouvez vous fournir un exemple avec une colonne de chiffres fictifs?

    Merci.

    Sophie

    #49629
    Dhila
    Participant

    Bonjour Sophie;
    tout d’abord je tenais a te remercier pour ton aide comme à chaque fois fois.
    je sais que c’est pas facile de comprendre le besoin j’avais du mal déjà à l’exposer 🙂 aussi d ‘ailleurs
    j’ai essayer de reproduire un exemple simple avec une fonction sum; que je joins à mon déscriptif
    la mesure Sum_1Y calcul la somme d’une colonne depuis le même mois de l’année dernière au mois en cours.

    Merci encore pour ton aide

    Attachments:
    You must be logged in to view attached files.
    #49642
    Sophie Marchand
    Participant

    Bonjour,

    Je ne comprends toujours pas ce que vous cherchez à faire.

    Pouvez vous simplement me fournir des données et me dire le résultat que vous recherchez (image du résultat recherché)? Ce sera plus simple.

    Merci.

    Sophie

    #49644
    Dhila
    Participant

    Je vous ai bien mis le projet je cherche calculer la valeur de sum_1y sur la matrice qui est en erreur et cela pour la periode d’avril2017 à avril 2018

    #49646
    Sophie Marchand
    Participant

    Pouvez-vous fournir le chiffre auquel vous souhaitez arriver? Merci.

    #49647
    Dhila
    Participant

    pour avril 2018 on devrait retomber sur 10.92 comme valeur pour la mesure sum_1y.
    qui veut dire la somme de la colonne indexperformance du 30/04/2017 au 30/04/2018.

    je joins le fichier Excel utilisé dans le projet Power BI.

    Après l’intérêt c’est que la formule soit dynamique de façon à recalculer la mesure sum_1Y pour n’importe quelle période choisie ( toujours en appliquant le même principe du dernier jours mois en cours choisi dans les filtres au dernier jour du même mois de l’année d’avant.

    Merci Sophie.

    Attachments:
    You must be logged in to view attached files.
    #49651
    Sophie Marchand
    Participant

    Quand je fais la somme des indexperformance pour la période spécifiée, j’obtiens 7.28 et non 10.92. Pourriez-vous me préciser ce que représente 10.92? (voir fichier ci-joint).

    Attachments:
    You must be logged in to view attached files.
    #49653
    Dhila
    Participant

    Le 10.92 représente la somme d indexeperformance
    Sur toute la période du 30/04/2017 au 30/04/3018

    Que vous pourriez vous même vérifier sur le fichier Excel join dans ma réponse précédente

    Attention il faut bien choisir 2018 dans le filtre year et april dans le filtre month

    Et la mesure sum_1y est censée faire le seul de la colonne indexeperformance pour la période allant de fin du mois de l’année dans le filtre à la même fin du mois de l’année d avant.

    Je pense que les 7.28 que vous obtenez est la somme depuis 01/01/2018 au 30/04/2018
    Il faut prendre encore la partie manquante du 30/04/2017 au 01/01/2018

    J’espère ete claire.

    Merci encore sophie

    #49654
    Sophie Marchand
    Participant

    Bonjour,

    Le 7.28 que je vous montre dans la table est la somme du 1er mai 2017 au 30 avril 2018. J’ai enlevé l’interaction de vos segments sur la table donc les 2 segments de votre rapport n’ont aucun impact sur le total de la table. J’ai plutôt sélectionné des périodes dans le filtre. Et on voit dans la table que le total est de 7.28. Aussi, dans le fichier Excel, quand je pose un filtre sur les mêmes dates, j’arrive aussi à 7.28. Donc, je ne passerai plus de temps sur cette problématique tant que vous ne pourrez pas clarifier vos données. Merci.

    Attachments:
    You must be logged in to view attached files.
    #49656
    Dhila
    Participant

    Hello Sophie merci infiniment pour le retour pas pu ouvrir le projet pour l’instant vu que je vous répond de mon phone

    Mais je vois très d’où est ce que ça vient au fait on devrait avoir 3,64 Et on doit bien prendre le 30/04/2018 (Et pas le 01/05/2018) jusqu’au 30/04/2017 biensure et les 7.28 que vous obtenez sont du aux deux id_fond N1 et N2 que vous prenez en compte dans votre calcul, alors qu’ il ne fait prendre qu’ un seul selon ce qui est choisi dans le 3ieme filtre du projet pibx fond .
    Merci encore

    • Cette réponse a été modifiée le il y a 2 années et 2 mois par Dhila.
    #49661
    Dhila
    Participant

    pour information je cherche a calculer la mesure SUM_1Y, je voulais plus exactement corriger sa formule DAX qui permet de faire le calcul glissant sur une année. et non pas supprimer le filtre des segments et ajouter le détail d indexperformance par date pour tout segment confondu.

    Je voulais garder l’ensemble des filtres par défaut qu il y avait et corriger mon calcul SUM_1Y dynamiquement pour chaque mois et année sélectionnée en filtre en prenant en considération le filtre segment, mais je ne voulais en aucun cas avoir le détail par date.

    Merci

    #49663
    Sophie Marchand
    Participant

    Bonjour,

    Je sais que ce n’est pas ce que vous recherchez. Je voulais comprendre comment vous obteniez le chiffre de 10.92 et vous montrer que la somme de tous les Index donne 7.28… pas 10.92…

    Dans tous les cas, si ce que vous cherchez à faire, c’est la somme des 12 derniers mois en fonction de la date sélectionnée dans les segments, la formule est la suivante:

    Sum_1Y = CALCULATE(sum(perf_Global[indexperformance]),DATESINPERIOD(DIM_DATE[Date],MAX(DIM_DATE[Date]),-12,MONTH))

    Et si vous ne filtrez pas pour N1 ou N2, le résultat est bien 7.28…

    Je vous joins aussi le fichier.

    Sophie

    Attachments:
    You must be logged in to view attached files.
    #49672
    Dhila
    Participant

    C’est exactement ce que je cherchais; moi j’utilisais le FILTRE dans la formule et ca ne me renvoyais pas le même résultat, est ce que tu sais pourquoi ca ne fonctionnait pas avec FILTER?.

    Encore merci Sophie pour ton aide

    Problème réglé 🙂

    #49673
    Sophie Marchand
    Participant

    Tant mieux.

    La prochaine fois, posez votre question de façon plus précise. Ici, vous auriez pu demander: Je cherche la mesure qui me permettra de faire la somme d’une valeur pour les 12 derniers mois. Il aurait été beaucoup plus facile pour moi de vous aider. Nous aurions pu éviter tous ces va et vient.

    Je vous ai fourni une réponse avec DATESINPERIOD et non PARALLELEPERIOD. Le résultat ici serait le même parce que vous données sont toutes égales à 1 mais dans la réalité, lorsque les données ne sont pas identiques, les deux formules retourneront des résultats différents.

    DATESINPERIOD est la formule à utiliser quand vous souhaitez obtenir le cumulatif d’une valeur à partir d’une date en précisant un intervalle de temps.

    Dans le cas ici, PARALLEPERIOD rapporte le total de l’année 2017 (qui se trouve à être le même nombre que le total des 12 derniers mois ici, mais ce ne sera pas toujours le cas).

    Merci.

    Sophi

15 sujets de 1 à 15 (sur un total de 18)
  • Vous devez être connecté pour répondre à ce sujet.