Forum Discussion

patrickmballa90's avatar
patrickmballa90
Frequent Visitor
1 year ago
Solved

help

Hello, Je suis developpeur junior sur Power BI. J'ai une table de temps Temps(Date) et une table de Taux qui est Tau_annuel(Taux). Mon besoin est de pouvoir afficher une date selectionnée depuis u...
  • rajendraongole1's avatar
    1 year ago

    Hi patrickmballa90  - Ensure the relationships are in place between tables:

    Time[Date] should be marked as a Date table.Annual_Rate table should have a Date column (or related column) that connects to Time[Date].

    Now create a measure to help filter out only the last 12 months

    IsInLast12Months =
    VAR SelectedDate = MAX('Time'[Date])
    RETURN
    IF(
    'Time'[Date] <= SelectedDate &&
    'Time'[Date] >= EDATE(SelectedDate, -11),
    1,
    0
    )

     

    now use the chart and set the filter parameter with 1. 

     

    Hope this helps.

  • v-echaithra's avatar
    1 year ago

    Hi patrickmballa90 ,

    Thank you rajendraongole1  for your response on this thread.

    May I ask if you have gotten this issue resolved?

     

    If it is solved, please mark the helpful reply or share your solution and accept it as solution, it will be helpful for other members of the community who have similar problems as yours to solve it faster.

     

    Regards,
    Chaithra.

     

  • patrickmballa90's avatar
    1 year ago
    Bonjour,
    Je viens vous proposer ma solution qui marche aussi très bien.
    -------------------------------------------------------------------------------------------
    Taux 12 mois glissants =
    VAR Currentdate = MAX('Dim DATE SEGMENT'[DATE]) // Récupère la date sélectionnée la plus récente dans le contexte du segment de dates. Cette Dim DATE SEGMENT represente l'image de la table d'origine TEMPS
    VAR Previousdate = EDATE(Currentdate, -12)   /*DATE(YEAR(Currentdate), MONTH(Currentdate) - 12, DAY(Currentdate))*/
    // Calcule la date correspondant à 12 mois avant la date sélectionnée.
    // Attention : Si le mois est janvier (1), MONTH(Currentdate) - 12 donnera un résultat négatif.
    // Pour une gestion robuste des années et des mois, il est préférable d'utiliser EDATE(Currentdate, -12).
    VAR Result =
    CALCULATE(
        SUMX(Table
        Table[Taux]),
        FILTER(TEMPS,
        // Conditions de filtre :
        NOT ISBLANK(TEMPS[DATE]) && // Exclure les dates vides
        TEMPS[DATE] <= Currentdate && // Dates <= date courante
        TEMPS[DATE] >= Previousdate) // Dates >= date d'il y a 12 mois
    )
    // CALCULATE applique un filtre sur la table des dates (TEMD_TEMPS) pour ne garder que les dates comprises entre Previousdate et Currentdate (incluses), en excluant les valeurs de date vides.
    // Pour ce contexte filtré, SUMX additionne tous les taux de table.
    RETURN
    Result
     
    C'est ce resultat qu'il faudrait placer sur l'axe des Y et sur la l'axe des X mettre le champ Date de la table d'origine TEMPS et au niveau du segment mettre la colonne date de la table Dim DATE SEGMENT.