L'idée est - Pour ce faire, vous avez besoin d'une autre table dérivée de votre table existante contenant vos valeurs d'axe des x qui vont apparaître sur le graphique.
J'ai commencé avec des données comme ceci :-
Table 1
![Données données]()
Donc, créons la colonne de l'axe (Colonne calculée) sur cette Table1 :-
AxisCol =
Var MaxYear = MAX((Table1[Date].[Année]))
Var Année_Requise = YEAR(Table1[Date])
Var Diff_Année = MaxYear - Année_Requise
Var sortie = IF(Diff_Année = 0, FORMAT(FORMAT(Table1[Date], "MMM AA"),"chaine"), FORMAT(Année_Requise, "@"))
Retourner (sortie)
Le type de données de cette AxisCol est "Texte".
Générer la colonne Mois Année et Année (Colonne calculée) dans la Table 1
Mois Année = FORMAT(Table1[Date], "MMM AA")
Année = YEAR(Table1[Date])
Définissez également le type de données de ces deux colonnes en tant que "Texte".
Créer une nouvelle table :-
Table_Axe = DISTINCT(Table1[AxisCol])
Cela a maintenant créé la table déconnectée.
Maintenant, créez la Col_Date (Colonne calculée) pour trouver l'ordre de tri à l'intérieur de la Table_Axe.
Date_col =
Var Valeur_Requise = VALUE(Table_Axe[AxisCol])
Var Année_ou_Mois_Année = SI(LEN(Valeur_Requise) = 4, "Année", "Mois Année")
Var année_découpage = VALUE("20" & RIGHT(Table_Axe[AxisCol],2))
Var mois_découpage = (LEFT(Table_Axe[AxisCol],3))
Var num_mois = SWITCH(mois_découpage, "Jan", 1, "Fév", 2, "Mars", 3, "Avr"
, 4, "Mai", 5, "Juin", 6, "Juil", 7, "Août"
, 8, "Sep", 9, "Oct", 10, "Nov", 11, "Déc"
, 12)
Var maDate = SI(Année_ou_Mois_Année = "Année",DATE(Valeur_Requise,1,1),DATE(année_découpage, num_mois,1))
Retourner maDate
Maintenant, vous pouvez créer l'Ordre de Tri (Colonne calculée) dans Table_Axe
Ordre_tri = DATEDIFF((Table_Axe[Date_col]),MAX(Table_Axe[Date_col]),MOIS)
Maintenant, la sortie finale en tant que Mesure,
ValeurDemandée =
var valeur_axe_requise = SELECTEDVALUE(Table_Axe[AxisCol])
Var axe_requis = LEN(valeur_axe_requise)
Var sortie1 = CALCULATE(MOYENNE(Table1[Valeur]), FILTER(Table1,Table1[Mois Année] = valeur_axe_requise))
Var sortie2 = CALCULATE(MOYENNE(Table1[Valeur]),FILTER(Table1, Table1[Année] = valeur_axe_requise))
var sortie_requise = SI(axe_requis = 4, sortie2, sortie1)
retourner sortie_requise
Cette mesure peut être modifiée selon vos sélections de filtre et d'autres conditions que vous pourriez avoir.
La visualisation finale ressemble à ceci,
![insérer la description de l'image ici]()
Utilisez l'Ordre de Tri dans les infobulles puis triez l'axe à l'intérieur de la visualisation par l'Ordre de Tri.
Vous pouvez ensuite créer une relation entre les tables sur la colonne d'axe pour que vos tranches fonctionnent.
![insérer la description de l'image ici]()
![insérer la description de l'image ici]()
Vous pouvez ensuite différencier l'axe avec une mise en forme conditionnelle en utilisant ceci -
mise en forme conditionnelle = SI(LEN(SELECTEDVALUE(Table_Axe[AxisCol])) = 4,1,0)
![insérer la description de l'image ici]()
Faites-moi savoir si vous avez du mal à comprendre la solution.
Acceptez la réponse si vous parvenez à la faire fonctionner pour vous.