Problème de TCD avec Powerpivot

7test.xlsx (11.33 Ko)
8test.xlsx (8.62 Ko)

Bonjour à tous,

Je vous expose mon problème vie un exemple simplifié. J'ai une cohorte de 10 agents, immatriculé de 1 à 10. Pour les années 2018 à 2020 inclus, on attribue deux types de valeurs à ces agents : leur catégorie hiérarchique (de A à C) et leur équivalant temp plein (ETP : unité de décompte d'un effectif prenant en compte le temps partiel ou la quotité de temps de travail). Ces valeurs peuvent changer pour chaque agent d'une année sur l'autre.

Voilà dans mon exemple les données en question :

1

J'utilise Powerpivot sur Excel 2010 (pas le choix dans mon cas). Et, pour connaitre l'effectif en ETP par année pour chaque catégorie hiérarchique je souhaites produire un TCD me restituant le croisement suivant :

2

J'ai construit mes trois tables sous Powerpivot : une pour 2019, une pour 2020 et une pour 2021. Je crée une liaison entre elles à partir du champs matricule. Le problème que je rencontre est à la création du TCD : je ne peux que ventilé les agents selon leur catégorie hiérarchique une année donnée (en mettant en ligne du TCD le champs "catégorie hiérarchique" de l'année 2019, 2020 ou 2021). Je n'arrive pas à faire en sorte que mon TCD intègre les changement de catégorie des agents d'une année sur l'autre.

Si quelqu'un a la solution c'est génial ! Je mets mon petit fichier d'exemple en pièce jointe si certains veulent tester.

merci !!

Bonjour,

Une solution via Power Query qui me parait plus appropriée (ou plus simple à mettre en place).

J'ai ajouté les années dans les tables sources. On peut aussi le faire dans la requête via l'ajout d'une nouvelle colonne. Au choix.

Les 3 tables sont ajoutées et les étapes de la requête pour arriver au résultat se trouvent sur la partie droite de l'écran.

Clique sur le tableau orange, puis onglet Requête => modifier. La fenêtre de l'éditeur Power Query s'ouvre...

10raoul69.xlsx (21.81 Ko)

RE,

Une façon de faire avec Power Pivot :

16raoul69.xlsx (306.90 Ko)

Bonjour à tous

Si tu n'as pas la possibilité d'obtenir PowerQuery, il faut construire une requête union dans PowerPivot

  1. mettre les 3 tableaux dans des onglets séparés nommés 2019, 2020 et 2020, enregistrer sous 2019_2021 et fermer le fichier
  2. A partir d'un classeur vide : Données, Connexions, Ajouter
  3. Rechercher, sélectionner le fichier 2019_2021, Ouvrir
  4. Sélectionner 2019$ vérifier que "La première ligne de données contient les en-têtes de colonnes" est cochée et OK, puis Fermer
  5. Lancer PowerPivot
  6. Conception, Connexions existantes : sélectionner 2019_2021, Ouvrir, Suivant, Terminer, Fermer
  7. Conception, Propriétés de la table : à droite dérouler Basculer et choisir Editeur de requête
  8. Après SELECT ['2019$'].* ajouter , 2019 as AN puis aller en bout de ligne puis aller à la ligne et taper
    union all
    SELECT ['2020$'].* , 2020 as AN FROM ['2020$']
    union all
    SELECT ['2021$'].* , 2021 as AN FROM ['2021$']
  9. Enregistrer
  10. Créer le TCD avec Catégorie en étiquettes de ligne, AN en étiquette de colonne, ETP en Valeurs

EDIT : les mentions en bleu ne passent pas en éditeur code. Du coup il manquait le principal

EDIT2 : corrigé ma correction

RE

Pour info :

Une autre solution PowerQuery avec une unique requête, sans ajout de colonne aux tableaux sources mais renommage correct de ceux-ci (ne jamais garder le nom automatique des tableaux structurés fait partie des bonnes pratiques)

Bonjour à tous,

Apres tu peux toujours faire un tableau qui regroupe les 3 les uns en dessous des autres, et la tu fais ton tcd !!

Crdlmt

Merci beaucoup pour vos multiples propositions de solution, qui sont venues très rapidement en plus ! Ca a l'air si simple pour certains ; )

Malheureusement dans l'environnement dans le quel je travail je n'ai pas accès à PowerQuery pour le moment...

Pour la solution de Chris, à l'étape 8 il m'indique "L'instruction SQL n'est pas valide. Aucune colonne n'y a été détectée." J'ai du louper un truc mais je ne suis pas à l'aide avec ce langage.

DjiDji59430 j'avais pensé dès le début à cette solution. Elle est très simple dans un exemple avec 10 lignes. Mais dans la pratique avec des milliers de lignes par tableau je n'ai pas très envie de manipuler "à la main" sous excel 2010 et sans power query ce volume de données.

Finalement j'ai l'impression qu'il faut que je m'équipe d'une manière ou d'une autre de power query !

C'est bon j'ai réussi avec la solution de Chris ! a l'étape 8 il faut :

SELECT ['2019$'].* , 2019 as AN FROM ['2019$']
union all
SELECT ['2020$'].* , 2020 as AN FROM ['2020$']
union all
SELECT ['2021$'].* , 2021 as AN FROM ['2021$']

Il manquait le FROM ['X$'] à la fin des lignes 3 et 5

Bonjour

Je me suis aperçu que le code avait sauté et en le remettant hier soir j'ai oublié les FROM

Sorry ! Le principal est que tu aies réussi

Je vais corriger pour d'éventuels personnes dans ton cas.

Rechercher des sujets similaires à "probleme tcd powerpivot"