TCD : Plusieurs tableaux sources, structure identique

Bonjour cher forumers,

Tout d'abord, posons les bases. Je travaille avec Excel 2016 sur Windows 10.

J'aimerais pouvoir consolider les données de plusieurs tableaux avec une structure identique en un seul TCD.

Voici en quoi consiste mes tableaux.

J'ai un tableau par mois avec le détail de chaque vente d'une série d'articles.

Un classeur avec une feuille par mois.

En colonnes de chaque tableau :

  • Le code article
  • Le code du magasin
  • Le type de tarif appliqué à la vente
  • La date de la vente
  • La quantité vendue
  • La valeur HTVA de la vente
  • Un tas d'autres informations superflues qui nuiraient à la clarté de mon explication si je les détaillais.

Je vous renvoie à l'exemple joint pour visualiser.

Dans l'exemple, je vous montre le résultat escompté, mais pour le mois de Janvier (feuille TCD Janvier).

J'aimerais la même présentation mais qui reprend les chiffres pour l'ensemble de l'année.

J'ai vu qu'en insérant un TCD, on pouvait cocher l'option "Ajouter ces données au modèle de données".

Ca me permet d'avoir, d'une certaine façon, tous les tableaux dans un même TCD, mais je n'arrive pas à arranger ça comme je le voudrais.

Avez-vous une solution ?

Merci.

Catab

32test.xlsx (265.96 Ko)

Bonjour

Tu peux utiliser

  • soit PowerQuery quelle que soit ta version
  • soit PowerPivot selon ta version

Les 2 sont intégrés à 2016 mais pour PowerPivot,

  • soit il faut créer une table les magasins ou des produits à mettre en relation avec chacun des mois, faisable dans toute version mais pas forcément très simple sans version pro plus
  • soit passer par une requête union dans PowerPivot mais faisable uniquement sur la version pro plus
    http://www.excel-formations.fr/Trucs_astuces/TCD02-PWP.php

Ce que tu as fait a ajouté les données à PowerPivot mais sans permettre des relations correctes

PowerQuery :

Pour commencer, renomme chacun de tes tableaux avec le nom du mois puis bascule les 12 tableaux dans PowerQuery.

A chaque fois avec le bouton Fermer et charger choisir Fermer et Charger dans et sélectionner "créer uniquement la connexion"

Ensuite sélectionner la requête Janvier dans PowerQuery, puis le Bouton Ajouter des requêtes, au moins 3, et sélectionner tous les autres mois.

Fermer et charger puis bâtir le TCD sur cette requête.

Merci pour ces explications.

J'ai omis de préciser que j'extrais déjà ces données depuis une base de données externes via MS Query et le pilote ODBC.

(Données => Autres Sources => A partir de Microsoft Query).

En fait, pour être clair, pour chaque mois, je reprends exactement la même extraction en changeant simplement la clause "WHERE" en spécifiant un mois différent (langage SQL...).

Pourquoi je n'extrais pas l'année complète d'un coup, sur une seule feuille, vous me direz. Et bien simplement parce qu'Excel ne supporte pas le nombre de données renvoyées pour l'année complète (> 1 million).

Je parle de ça parce que j'entends parler de table pour joindre les différents tableaux. Et je me dis qu'en travaillant directement sur la base de données, cela faciliterait peut-être les choses. Mais j'avoue n'en savoir rien. Je ne connais absolument pas les possibilités de PowerPivot ou PowerQuery.

Soit, admettons même que ces tableaux ne soient extraits d'aucune DB et qu'ils sont simplement présents dans mon classeur Excel, comme c'est le cas dans l'exemple. Je ne vois pas comment on "bascule" les tableaux dans PowerQuery. Peux-tu être plus précis ?

Si je suis ton lien, qui utilise PowerPivot, il parle d'une "interface PowerPivot". Je ne sais pas où cela se trouve.

D'or et déjà merci pour les compléments d'info.

Catab

Je dois dire que je travaille avec la version "Microsoft Office Famille et Petite Entreprise 2016".

PowerPivot n'y est peut-être pas disponible. Auquel cas je m'adresserai à mon directeur IT.

Bonjour

Catab a écrit :

...J'ai omis de préciser que j'extrais déjà ces données depuis une base de données externes via MS Query et le pilote ODBC.

(Données => Autres Sources => A partir de Microsoft Query).

En fait, pour être clair, pour chaque mois, je reprends exactement la même extraction en changeant simplement la clause "WHERE" en spécifiant un mois différent (langage SQL...).

Pourquoi je n'extrais pas l'année complète d'un coup, sur une seule feuille, vous me direz. Et bien simplement parce qu'Excel ne supporte pas le nombre de données renvoyées pour l'année complète (> 1 million).

Je parle de ça parce que j'entends parler de table pour joindre les différents tableaux. Et je me dis qu'en travaillant directement sur la base de données, cela faciliterait peut-être les choses. Mais j'avoue n'en savoir rien. Je ne connais absolument pas les possibilités de PowerPivot ou PowerQuery.

On peux appeler une requête MsQuery depuis un TCD vierge (source externe). Si cela ne dépasse pas la limite de Msquery, cela ne s'inscrivant pas dans une feuille, peut passer.

Le plus gros problème est le fait que Excel travaille en mémoire vive ce qui limite parfois le volume

Idem PowerQuery n'oblige pas à intégrer le données dans une feuille. On attaque la requête directement par TCD.

PowerPivot me parait difficilement utilisable sur de tels volumes sans pro plus.

Catab a écrit :

Soit, admettons même que ces tableaux ne soient extraits d'aucune DB et qu'ils sont simplement présents dans mon classeur Excel, comme c'est le cas dans l'exemple. Je ne vois pas comment on "bascule" les tableaux dans PowerQuery. Peux-tu être plus précis ?

Sur 2016 : Onglet Données, A partir d'un tableau si même classeur, ou NOuvelle Requête à partir d'un fichier si Excel (autre classeur), à partir d'une base de données si tu attaques directement la base et non tes 12 onglets.

Catab a écrit :

Si je suis ton lien, qui utilise PowerPivot, il parle d'une "interface PowerPivot". Je ne sais pas où cela se trouve.

Comme je le disais la requête union nécessite proplus dont c'est l'interface.

Pour les relations, voir http://www.excel-formations.fr/Trucs_astuces/TCD09.php mais dans ton cas, je n'utiliserais pas cette piste

Catab a écrit :

Je dois dire que je travaille avec la version "Microsoft Office Famille et Petite Entreprise 2016".

PowerPivot n'y est peut-être pas disponible. Auquel cas je m'adresserai à mon directeur IT.

PowerPivot est disponible mais avec des limites.

Pour résumer voici ce que je tenterais pour commencer :

Dans un classeur vierge accéder à MsQuery, y reproduire ta requête sans filtre mensuel, la sauvegarder dans un fichier qry et sortir de Msquery sans renvoyer les données vers Excel.

Depuis la feuille resté vide, créer un TCD, sélectionner données externes, aller chercher ton fichier dqy. Si cela passe, créer ton TCD.

Tu peux ensuite, si tu le souhaites tester PowerQuery...

Très intéressant et très complet.

Merci Chris.

Je mets ta solution en pratique dès que possible et je donnerai mon retour.

Catab

Rechercher des sujets similaires à "tcd tableaux sources structure identique"