Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
SĂ©lectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Dans Excel 2013 ou une ultĂ©rieure, vous pouvez crĂ©er des modĂšles de donnĂ©es contenant des millions de lignes, puis effectuer de puissantes analyses de donnĂ©es sur ces modĂšles. Les modĂšles de donnĂ©es peuvent ĂȘtre crĂ©Ă©s avec ou sans le complĂ©ment Power Pivot pour permettre la prise en charge de tableaux croisĂ©s dynamiques, de graphiques et de visualisations Power View au sein du mĂȘme classeur.

Remarque : Cet article dĂ©crit les modĂšles de donnĂ©es disponibles Excel 2013. Toutefois, les mĂȘmes fonctionnalitĂ©s de modĂ©lisation des donnĂ©es et de Power Pivot introduites dans Excel 2013 s’appliquent Ă©galement Excel 2016. Il existe effectivement peu de diffĂ©rences entre ces versions de Excel.

Bien que vous puissiez facilement crĂ©er d’imposants modĂšles de donnĂ©es dans Excel, il existe plusieurs raisons de ne pas le faire. PremiĂšrement, les modĂšles de grande taille qui contiennent une multitude de tables et de colonnes sont trop complexes pour la plupart des analyses et produisent une liste de champs encombrante. DeuxiĂšmement, les modĂšles de grande taille utilisent une quantitĂ© importante de mĂ©moire, ce qui affecte nĂ©gativement les autres applications et rapports qui partagent les mĂȘmes ressources systĂšme. Enfin, dans Microsoft 365, SharePoint Online et Excel Web App limitent la taille d’un Excel Ă  10 Mo. Pour les modĂšles de donnĂ©es de classeurs qui contiennent des millions de lignes, la limite des 10 Mo est rapidement atteinte. Voir SpĂ©cification et limites du modĂšle de donnĂ©es.

Dans cet article, vous allez apprendre Ă  crĂ©er un modĂšle optimal, plus simple Ă  utiliser et qui consomme moins de mĂ©moire. Prendre le temps d’apprendre les meilleures pratiques en matiĂšre de conception de modĂšles efficaces sera payant par la suite pour tout modĂšle que vous crĂ©ez et utilisez, que vous l’affichez dans Excel 2013, Microsoft 365 SharePoint Online, sur Office Web Apps Server ou dans SharePoint 2013.

Vous pouvez Ă©galement exĂ©cuter l’optimiseur de la taille des classeurs. Il analyse votre classeur Excel et si possible, le compresse davantage. TĂ©lĂ©chargez l’optimiseur de la taille des fichiers de travail.

Contenu de cet article

Taux de compression et moteur d’analyse en mĂ©moire

Les modĂšles de donnĂ©es Excel utiliser le moteur d’analyse en mĂ©moire pour stocker les donnĂ©es en mĂ©moire. Le moteur implĂ©mente de puissantes techniques de compression pour rĂ©duire les besoins de stockage, en rĂ©duisant un jeu de rĂ©sultats jusqu’à ce qu’il soit une fraction de sa taille d’origine.

En moyenne, la taille d’un modĂšle de donnĂ©es peut ĂȘtre jusqu’à 7 ou 10 fois plus petite que la taille des mĂȘmes donnĂ©es Ă  l’origine. Par exemple, si vous importez 7 Mo de donnĂ©es Ă  partir d’une base de donnĂ©es SQL Server, le modĂšle de donnĂ©es dans Excel peut facilement correspondre Ă  1 Mo, voire moins. Le degrĂ© de compression rĂ©ellement atteint dĂ©pend essentiellement du nombre de valeurs uniques dans chaque colonne. Plus les valeurs uniques sont nombreuses, plus la mĂ©moire nĂ©cessaire Ă  leur stockage est importante.

Pourquoi parlons-nous de compression et de valeurs uniques ? La crĂ©ation d’un modĂšle efficace qui minimise l’utilisation de mĂ©moire est une question d’optimisation de compression. Le moyen le plus simple d’y arriver consiste Ă  supprimer toutes les colonnes dont vous n’avez pas vraiment besoin, en particulier si celles-ci incluent un grand nombre de valeurs uniques.

Remarque : Les diffĂ©rences de besoins en matiĂšre de stockage pour des colonnes individuelles peuvent ĂȘtre Ă©normes. Dans certains cas, il est prĂ©fĂ©rable d’avoir plusieurs colonnes avec un petit nombre de valeurs uniques plutĂŽt qu’une seule colonne avec un grand nombre de valeurs uniques. La section consacrĂ©e Ă  l’optimisation de Datetime aborde cette technique en dĂ©tail.

Rien ne vaut une colonne inexistante pour rĂ©duire l’utilisation de la mĂ©moire

La colonne la plus Ă©conome en mĂ©moire est celle que vous n’avez jamais importĂ©e. Si vous voulez crĂ©er un modĂšle efficace, examinez chaque colonne et demandez-vous si elle contribue Ă  l’analyse que vous souhaitez effectuer. Si ce n’est pas le cas ou si vous en doutez, abstenez-vous. Vous pourrez toujours ajouter de nouvelles colonnes plus tard, si vous en avez besoin.

Deux exemples de colonnes qui doivent toujours ĂȘtre exclues

Le premier exemple porte sur des donnĂ©es qui proviennent d’un entrepĂŽt de donnĂ©es. Dans un entrepĂŽt de donnĂ©es, il est courant de trouver des artefacts de processus ETL qui chargent et actualisent les donnĂ©es dans l’entrepĂŽt. Les colonnes telles que celles qui sont relatives Ă  la « date de crĂ©ation », la « date de mise Ă  jour » et l’« exĂ©cution ETL » sont crĂ©Ă©es quand les donnĂ©es sont chargĂ©es. Aucune de ces colonnes n’étant nĂ©cessaire dans le modĂšle, celles-ci doivent ĂȘtre dĂ©sĂ©lectionnĂ©es quand vous importez des donnĂ©es.

Le second exemple implique l’omission de la colonne clĂ© primaire durant l’importation d’une table de faits.

De nombreuses tables, notamment les tables de faits, ont des clés primaires. Pour la plupart des tables, par exemple celles qui contiennent des données relatives aux clients, aux employés ou aux ventes, vous souhaiterez disposer de la clé primaire de la table pour pouvoir créer des relations dans le modÚle.

Les tables de faits sont diffĂ©rentes. Dans une table de faits, la clĂ© primaire est utilisĂ©e pour identifier chaque ligne de façon unique. Bien que cet aspect soit nĂ©cessaire en matiĂšre de normalisation, cela est moins utile dans un modĂšle de donnĂ©es oĂč vous voulez uniquement que les colonnes soient utilisĂ©es Ă  des fins d’analyse ou pour Ă©tablir des relations entre les tables. Pour cette raison, durant l’importation d’une table de faits, n’incluez pas sa clĂ© primaire. Les clĂ©s primaires d’une table de faits occupent beaucoup d’espace dans le modĂšle mais ne prĂ©sentent aucun avantage, car elles ne peuvent pas ĂȘtre utilisĂ©es pour crĂ©er des relations.

Remarque : Dans les entrepĂŽts de donnĂ©es et les bases de donnĂ©es multidimensionnelles, les grandes tables composĂ©es principalement de donnĂ©es numĂ©riques sont souvent appelĂ©es « tables de faits ». Les tables de faits incluent gĂ©nĂ©ralement des donnĂ©es sur les performances ou les transactions, telles que les points de donnĂ©es des ventes et des coĂ»ts qui sont agrĂ©gĂ©s et alignĂ©s sur les unitĂ©s organisationnelles, les produits, les segments de marchĂ©, les rĂ©gions gĂ©ographiques, etc. Toutes les colonnes d’une table de faits qui contiennent des donnĂ©es mĂ©tiers ou qui peuvent ĂȘtre utilisĂ©es pour faire un renvoi aux donnĂ©es stockĂ©es dans d’autres tables doivent ĂȘtre incluses dans le modĂšle pour prendre en charge l’analyse des donnĂ©es. La colonne que vous voulez exclure est la colonne clĂ© primaire de la table de faits, qui se compose de valeurs uniques qui existent uniquement dans la table de faits. Étant donnĂ© que les tables de faits sont extrĂȘmement grandes, certains des gains les plus importants en matiĂšre d’efficacitĂ© des modĂšles sont dĂ©rivĂ©s de l’exclusion des lignes ou colonnes de tables de faits.

Comment exclure les colonnes inutiles

Les modĂšles efficaces contiennent uniquement les colonnes dont vous avez rĂ©ellement besoin dans votre classeur. Si vous souhaitez contrĂŽler le choix des colonnes incluses dans le modĂšle, vous devez utiliser l’Assistant Importation de table dans le complĂ©ment Power Pivot pour importer les donnĂ©es au lieu de la boĂźte de dialogue « Importer des donnĂ©es » dans Excel.

Quand vous dĂ©marrez l’Assistant Importation de table, vous sĂ©lectionnez les tables Ă  importer.

Assistant Importation de table dans le complément PowerPivot

Pour chaque table, vous pouvez cliquer sur Afficher un aperçu et filtrer, puis sĂ©lectionner les parties de la table dont vous avez vraiment besoin. Nous vous recommandons de dĂ©sactiver d’abord les cases Ă  cocher de toutes les colonnes, puis d’activer les cases Ă  cocher des colonnes souhaitĂ©es, aprĂšs avoir dĂ©terminĂ© si elles sont nĂ©cessaires Ă  l’analyse.

Volet de visualisation dans l’Assistant Importation de table

Qu’en est-il du filtrage des lignes nĂ©cessaires uniquement ?

De nombreuses tables de bases de donnĂ©es et d’entrepĂŽts de donnĂ©es d’entreprises contiennent des donnĂ©es historiques accumulĂ©es sur de longues pĂ©riodes. En outre, vous constaterez peut-ĂȘtre que les tables qui vous intĂ©ressent contiennent des informations sur des domaines de l’entreprise qui ne sont pas nĂ©cessaires pour votre analyse spĂ©cifique.

À l’aide de l’Assistant Importation de table, vous pouvez filtrer les donnĂ©es historiques ou les donnĂ©es non liĂ©es, et donc gagner beaucoup d’espace dans le modĂšle. Dans l’image suivante, un filtre de date est utilisĂ© pour rĂ©cupĂ©rer uniquement les lignes qui contiennent les donnĂ©es de l’annĂ©e actuelle, en excluant les donnĂ©es historiques non nĂ©cessaires.

Volet de filtre dans l’Assistant Importation de table

Si nous avons besoin de la colonne, pouvons-nous tout de mĂȘme rĂ©duire l’espace qu’elle occupe ?

Il existe quelques techniques supplĂ©mentaires que vous pouvez appliquer pour optimiser la compression d’une colonne. N’oubliez pas que la seule caractĂ©ristique de la colonne qui affecte la compression est le nombre de valeurs uniques. Dans cette section, vous apprendrez Ă  modifier certaines colonnes pour rĂ©duire le nombre de valeurs uniques.

Modification des colonnes Datetime

Dans de nombreux cas, les colonnes Datetime occupent beaucoup d’espace. Heureusement, il existe un certain nombre de mĂ©thodes qui permettent de rĂ©duire les besoins de stockage pour ce type de donnĂ©es. Les techniques varient en fonction de la façon dont vous utilisez la colonne et de votre niveau d’expertise en matiĂšre de crĂ©ation de requĂȘtes SQL.

Les colonnes Datetime comprennent une partie date et une partie heure. Quand vous vous demandez si vous avez besoin d’une colonne, posez-vous la mĂȘme question Ă  plusieurs reprises pour une colonne Datetime :

  • Ai-je besoin de la partie date ?

  • Ai-je besoin de la partie heure au niveau des heures ? , des minutes ? , Secondes ? , millisecondes ?

  • Ai-je besoin de plusieurs colonnes Datetime pour calculer la diffĂ©rence qui existe entre elles ou tout simplement pour agrĂ©ger les donnĂ©es par annĂ©e, par mois, par trimestre, etc.

La façon dont vous rĂ©pondez Ă  chacune de ces questions dĂ©termine vos options en matiĂšre de gestion d’une colonne Datetime.

Toutes ces solutions nĂ©cessitent la modification d’une requĂȘte SQL. Pour faciliter la modification des requĂȘtes, filtrez au moins une colonne de chaque table. GrĂące au filtrage d’une colonne, vous changez la construction des requĂȘtes en passant d’un format abrĂ©gĂ© (SELECT *) Ă  une instruction SELECT qui comprend des noms de colonnes complets, lesquels sont beaucoup plus faciles Ă  modifier.

Examinons les requĂȘtes crĂ©Ă©es pour vous. Dans la boĂźte de dialogue PropriĂ©tĂ©s de la table, vous pouvez passer Ă  l’Éditeur de requĂȘte afin de voir la requĂȘte SQL active pour chaque table.

Ruban de la fenĂȘtre PowerPivot montrant la commande PropriĂ©tĂ©s de la table

Dans PropriĂ©tĂ©s de la table, sĂ©lectionnez Éditeur de requĂȘte.

Ouvrir l’Éditeur de requĂȘte Ă  partir de la boĂźte de dialogue PropriĂ©tĂ©s de la table

L’Éditeur de requĂȘte affiche la requĂȘte SQL utilisĂ©e pour remplir la table. Si vous avez filtrĂ© une colonne durant l’importation, votre requĂȘte comprend les noms de colonnes complets :

RequĂȘte SQL utilisĂ©e pour rĂ©cupĂ©rer les donnĂ©es

En revanche, si vous avez importĂ© une table dans son intĂ©gralitĂ© sans dĂ©sactiver la moindre colonne ou sans appliquer de filtre, vous verrez la requĂȘte sous la forme « Select * from », qui est plus difficile Ă  modifier :

RequĂȘte SQL utilisant la syntaxe par dĂ©faut, plus courte

Modification de la requĂȘte SQL

À prĂ©sent, vous savez comment trouver la requĂȘte, vous pouvez ensuite la modifier afin de rĂ©duire davantage la taille de votre modĂšle.

  1. Pour les colonnes contenant des donnĂ©es monĂ©taires ou dĂ©cimales, si vous n’avez pas besoin des dĂ©cimales, utilisez la syntaxe suivante pour supprimer ces derniĂšres :

    « SÉLECTIONNER ARRONDI([Decimal_column_name],0)... .”

    Si vous avez besoin de centimes mais pas de fractions de centimes, remplacez le 0 par 2. Si vous utilisez des nombres négatifs, vous pouvez les arrondir aux unités, aux dizaines, aux centaines, etc.

  2. Si vous avez une colonne Datetime nommĂ©e dbo.Bigtable.[Date Time] et si vous n’avez pas besoin de la partie heure, utilisez la syntaxe suivante pour supprimer la partie heure :

    « SELECT CAST (dbo.Bigtable.[Date time] as date) AS [Date time]) »

  3. Si vous avez une colonne Datetime nommĂ©e dbo.Bigtable.[Date Time] et si vous avez besoin des parties date et heure, utilisez plusieurs colonnes dans la requĂȘte SQL au lieu de la colonne Datetime uniquement :

    « SELECT CAST (dbo.Bigtable.[Date Time] as date) AS [Date Time],

    datepart(hh, dbo.Bigtable.[Date Time]) as [Date Time Hours],

    datepart(mi, dbo.Bigtable.[Date Time]) as [Date Time Minutes],

    datepart(ss, dbo.Bigtable.[Date Time]) as [Date Time Seconds],

    datepart(ms, dbo.Bigtable.[Date Time]) as [Date Time Milliseconds]”

    Utilisez autant de colonnes que nécessaire pour stocker chaque partie dans des colonnes distinctes.

  4. Si vous avez besoin des heures et des minutes, et si vous préférez les regrouper dans une seule colonne de temps, vous pouvez utiliser la syntaxe suivante :

    Timefromparts(datepart(hh, dbo.Bigtable.[Date Time]), datepart(mm, dbo.Bigtable.[Date Time])) as [Date Time HourMinute]

  5. Si vous avez deux colonnes datetime, par exemple [Start Time] et [End Time], et si vous avez besoin d’indiquer la diffĂ©rence en secondes entre ces colonnes sous la forme d’une colonne appelĂ©e [Duration], retirez les deux colonnes de la liste et ajoutez ce qui suit :

    “datediff(ss,[Start Date],[End Date]) as [Duration]”

    Si vous utilisez le mot clé ms à la place de ss, vous obtiendrez la durée en millisecondes.

Utilisation de mesures calculées DAX à la place de colonnes

Si vous avez dĂ©jĂ  utilisĂ© le langage d’expressions DAX, vous savez sans doute que les colonnes calculĂ©es sont utilisĂ©es pour dĂ©river de nouvelles colonnes Ă  partir d’une autre colonne du modĂšle, alors que les mesures calculĂ©es sont dĂ©finies une seule fois dans le modĂšle mais sont Ă©valuĂ©es uniquement quand elles sont utilisĂ©es dans un tableau croisĂ© dynamique ou tout autre rapport.

Il existe une technique d’économie de mĂ©moire qui consiste Ă  remplacer les colonnes ordinaires ou calculĂ©es par des mesures calculĂ©es. L’exemple classique est celui des colonnes relatives au prix unitaire, Ă  la quantitĂ© et au total. Si vous avez ces trois colonnes, vous pouvez gagner de l’espace en conservant seulement deux de ces colonnes et en calculant la troisiĂšme Ă  l’aide d’expressions DAX.

Quelles sont les 2 colonnes à garder ?

Dans l’exemple ci-dessus, gardez les colonnes relatives Ă  la quantitĂ© et au prix unitaire. Ces deux colonnes ont moins de valeurs que la colonne de total. Pour calculer le total, ajoutez une mesure calculĂ©e comme suit :

“TotalSales:=sumx(‘Sales Table’,’Sales Table’[Unit Price]*’Sales Table’[Quantity])”

Les colonnes calculĂ©es sont comme des colonnes ordinaires dans la mesure oĂč toutes les deux occupent de l’espace dans le modĂšle. En revanche, les mesures calculĂ©es sont calculĂ©es Ă  la volĂ©e et n’occupent pas d’espace.

Conclusion

Dans cet article, nous avons dĂ©crit plusieurs approches qui peuvent vous aider Ă  crĂ©er un modĂšle plus Ă©conome en mĂ©moire. Il est possible de limiter la taille du fichier et les besoins en mĂ©moire d’un modĂšle de donnĂ©es en rĂ©duisant le nombre total de colonnes et de lignes, ainsi que le nombre de valeurs uniques figurant dans chaque colonne. Voici quelques techniques que nous avons abordĂ©es :

  • La suppression de colonnes est Ă©videmment la meilleure façon de gagner de l’espace. DĂ©terminez quelles sont les colonnes dont vous avez rĂ©ellement besoin.

  • Parfois, vous pouvez supprimer une colonne et la remplacer par une mesure calculĂ©e dans la table.

  • Vous n’avez pas forcĂ©ment besoin de toutes les lignes d’une table. Vous pouvez filtrer les lignes dans l’Assistant Importation de table.

  • En rĂšgle gĂ©nĂ©rale, la rupture d’une colonne unique en plusieurs parties distinctes est un bon moyen de rĂ©duire le nombre de valeurs uniques dans une colonne. Chacune des parties aura un petit nombre de valeurs uniques, et le total combinĂ© sera plus petit que la colonne unifiĂ©e d’origine.

  • Dans de nombreux cas, vous avez Ă©galement besoin d’utiliser les diffĂ©rentes parties sous forme de segments dans vos rapports. Le cas Ă©chĂ©ant, vous pouvez crĂ©er des hiĂ©rarchies basĂ©es sur des parties telles que les heures, les minutes et les secondes.

  • Bien souvent, les colonnes contiennent plus d’informations que nĂ©cessaire. Par exemple, supposons qu’une colonne stocke des dĂ©cimales, mais que vous avez appliquĂ© une mise en forme qui masque toutes les dĂ©cimales. L’arrondi peut se rĂ©vĂ©ler trĂšs efficace pour rĂ©duire la taille d’une colonne numĂ©rique.

Maintenant que vous avez fait votre possible pour rĂ©duire la taille de votre classeur, envisagez d’exĂ©cuter l’optimiseur de la taille des classeurs. Il analyse votre classeur Excel et si possible, le compresse davantage. TĂ©lĂ©chargez l’optimiseur de la taille des fichiers de travail.

Liens connexes

Spécification et limites du modÚle de données

Optimiseur de la taille des livres de travail

PowerPivot : analyse et modélisation de données puissantes dans Excel

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, dĂ©couvrez comment sĂ©curiser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure ĂȘtes-vous satisfait(e) de la qualitĂ© de la langue ?
Qu’est-ce qui a affectĂ© votre expĂ©rience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×