XL 2010 PowerPivot DAx function (resolu)

lamine

XLDnaute Junior
Bonjour A tous,
je travaille sous powerpivot pour générer un report.
je souhaiterai calculer la variation entre deux mois ex: feb et Jan.
j'ai fait un modèle manuel de ce que je souhaiterai faire automatiquement a partir de powerpivot (dans le fichier joint).
le champ calcul field est grisé dans le pivot table dans les sources viennent de powerpivot.
ma version actuelle excel est 2016 , mais je suis pour une solution dans excel 2013 ou 2016.
Merci d'avance.
Lamine
 

Pièces jointes

  • test 1.xlsx
    183.1 KB · Affichages: 67

chris

XLDnaute Barbatruc
Bonjour

J'aurais gagné du temps si tu avais précisé en quelle version est le fichier joint... une ancienne version 2010 même pas la dernière e 2010 ce qui nécessite des mises à niveau du fichier.

Dans les nouvelles versions (pas celle utilisée) on peut classer les mois en lettres par ordre numérique, donc la seconde table est inutile.

Dans les TCD Powerpivot les champs calculés s'appellent des mesures et se trouvent dans le menu Powerpivot.
Dans tout TCD, "normal" ou PowerPivot", on peut calculer l'évolution sans passer par un champ calculé : ce qui permet notamment de calculer en mois précédent glissant et ne pas faire 11 calculs.
Ajouter à nouveau la somme, puis voir dans les paramètres de champ, onglet Afficher les valeurs, Différence en % par rapport à, Mois, précédent (une fois la colonne mois en lettres ajoutée à ta table PowerPivot).

En DAX on peut faire des calculs liés aux périodes mais dans ce cas il faut une véritable table calendrier en relation avec la table de données.
Fabricable en Excel...
 

chris

XLDnaute Barbatruc
Re

Le fichier indique toujours une version antérieure...
Il y a du y avoir des créations successives de calculs qui sont restés en mémoire d'où des mesures inutiles que j'ai supprimées.
J'ai supprimé également ton tableau des mois et fais 2 exemples :
  1. Méthode "classique"
    • une colonne supplémentaire dans le tableau Ftransations de PowerPivot pour avoir le mois en lettres. Colonne classée sur la base de celle du mois en numérique (n'existe pas dans la plus ancienne des versions PowerPivot)
    • une mesure DAX CA pour le calcul du CA mensuel =Sum([Montant])
    • une mesure implicite de calcul d'écart comme expliqué dans mon précédent post à partir du Montant
  2. Méthode DAX pur
  • ajout d'un calendrier (j'ai simplifié un calendrier que j'utilise car pas trop le temps de détailler ton énorme fichier calendrier : mais la logique est le même)
  • relation entre données et calendrier
  • une mesure DAX pour le calcul du mois précédent (pas utilisée dans le TCD mais visible dans PowerPivot)
    =TOTALMTD([CA];PARALLELPERIOD(Calendrier[Date];-1;month))
  • une mesure DAX pour le calcul de l'écart.
    =IFERROR(([CA]-[CAMoisP])/[CAMoisP];0)
    Les mesures utilisant des intervalles de temps sont assez particulières : si on ne filtre pas les mois, pas de souci sur le total mais sinon le calcul qui est fait donne un résultat bizarre
  • les mesures DAX, autres que celles faites ligne à ligne, peuvent être créées soit dans l'interface Powerpivot : en bas des onglets en rentrant dans la barre de formule
    le nom souhaité suivi de := la formule
    ou bien depuis le TCD dans l'onglet PowerPivot
  • ton fichier semble avoir quelques soucis car la formatage des mesures ne marche pas et j'ai du utilisé un formatage lié au paramètres de champ
 

Pièces jointes

  • test 1d.xlsx
    280.8 KB · Affichages: 119