Passer directement au contenu principal

Scénarios DAX dans Power Pivot

Cette section fournit des liens vers des exemples qui illustrent l’utilisation de formules DAX dans les scénarios suivants.

  • Exécution de calculs complexes

  • Utiliser du texte et des dates

  • Valeurs conditionnelles et vérification des erreurs

  • Utilisation de Time Intelligence

  • Classement et comparaison des valeurs

Dans cet article

Prise en main

Scénarios : réalisation de calculs complexes

Créer des calculs personnalisés pour un tableau croisé dynamique

Appliquer un filtre à une formule

Supprimer sélectivement des filtres afin de créer un ratio dynamique

Utilisation d’une valeur issue d’une boucle externe

Scénarios : utilisation de texte et de dates

Créer une colonne clé par concaténation

Composer une date en fonction des éléments de date extraits d’une date textuelle

Définir un format de date ou de nombre personnalisé

Changer le type de données à l’aide d’une formule

Scénario : valeurs conditionnelles et vérification des erreurs

Créer une valeur basée sur une condition

Tester l’erreur dans une formule

Scénarios : utilisation des fonctions Time Intelligence

Calculer les ventes cumulées

Comparer les valeurs dans le temps

Calculer une valeur sur une plage de dates personnalisée

Scénarios : classement et comparaison de valeurs

Afficher uniquement les dix premiers éléments d’un tableau croisé dynamique

Classer dynamiquement des éléments à l’aide d’une formule

Prise en main

Rendez-vous sur le site wiki du centre de ressources Dax pour trouver toutes sortes d’informations sur Dax, telles que des blogs, des exemples, des livres blancs et des vidéos fournies par des professionnels du secteur et Microsoft.

Scénarios : réalisation de calculs complexes

Les formules DAX peuvent effectuer des calculs complexes qui impliquent des agrégations personnalisées, le filtrage et l’utilisation de valeurs conditionnelles. Cette section fournit des exemples sur la façon d’utiliser des calculs personnalisés.

Créer des calculs personnalisés pour un tableau croisé dynamique

CALCULATE et CALCULATETABLE sont des fonctions puissantes et flexibles qui permettent de définir des champs calculés. Ces fonctions vous permettent de modifier le contexte dans lequel le calcul est effectué. Vous pouvez également personnaliser le type d’agrégation ou l’opération mathématique à exécuter. Pour consulter des exemples, voir les rubriques suivantes.

Appliquer un filtre à une formule

Dans la plupart des emplacements où une fonction DAX accepte une table comme argument, vous pouvez généralement transmettre une table filtrée à la place, à l’aide de la fonction de filtre au lieu du nom de la table, ou en spécifiant une expression de filtre comme argument de la fonction. Les rubriques suivantes fournissent des exemples sur la création de filtres et l’incidence des filtres sur les résultats des formules. Pour plus d’informations, consultez filtrer des données dans des formules DAX.

La fonction FILTER vous permet de spécifier des critères de filtre en utilisant une expression, tandis que les autres fonctions sont conçues spécifiquement pour filtrer les valeurs vides.

Supprimer sélectivement des filtres afin de créer un ratio dynamique

En créant des filtres dynamiques dans les formules, vous pouvez facilement répondre à des questions comme celles-ci :

  • Quelle a été la contribution des ventes actuelles du produit aux ventes totales de l’année ?

  • Dans quelle mesure cette division a-t-elle contribué aux bénéfices totaux de toutes les années d’exploitation par rapport aux autres divisions ?

Les formules que vous utilisez dans un tableau croisé dynamique peuvent être affectées par le contexte de tableau croisé dynamique, mais vous pouvez modifier le contexte de manière sélective en ajoutant ou en supprimant des filtres. L’exemple de la rubrique ALL vous montre comment procéder. Pour rechercher le rapport des ventes d’un revendeur spécifique sur les ventes de tous les revendeurs, vous devez créer une mesure qui calcule la valeur du contexte actuel divisé par la valeur du contexte tout.

La rubrique ALLEXCEPT fournit un exemple d’effacement sélectif des filtres sur une formule. Les deux exemples vous guident tout au long du changement de résultats en fonction de la conception du tableau croisé dynamique.

Pour obtenir d’autres exemples illustrant le calcul des coefficients et des pourcentages, reportez-vous aux rubriques suivantes :

Utilisation d’une valeur issue d’une boucle externe

Outre l’utilisation de valeurs du contexte actuel dans les calculs, DAX peut utiliser une valeur issue d’une boucle précédente dans la création d’un ensemble de calculs liés. La rubrique suivante fournit une procédure pas à pas illustrant la création d’une formule faisant référence à une valeur issue d’une boucle externe. La fonction précédente prend en charge jusqu’à deux niveaux de boucles imbriquées.

Pour en savoir plus sur le contexte de ligne et les tables associées, et sur l’utilisation de ce concept dans les formules, consultez contexte dans les formules DAX.

Scénarios : utilisation de texte et de dates

Cette section fournit des liens vers des rubriques de référence DAX qui contiennent des exemples de scénarios courants impliquant l’utilisation de texte, l’extraction et la composition de valeurs de date et d’heure, ou la création de valeurs en fonction d’une condition.

Créer une colonne clé par concaténation

Power Pivot n’autorise pas les clés composites ; par conséquent, si vous disposez de clés composites dans votre source de données, vous devrez peut-être les combiner dans une seule colonne de clé. La rubrique suivante fournit un exemple illustrant la création d’une colonne calculée sur la base d’une clé composite.

Composer une date en fonction des éléments de date extraits d’une date textuelle

Power Pivot utilise un type de données date/heure SQL Server pour travailler avec des dates. par conséquent, si vos données externes contiennent des dates ayant une mise en forme différente (par exemple, si vos dates sont rédigées dans un format de date régionale qui n’est pas reconnu par le moteur de données Power Pivot ou si vos données utilisent des clés de substitution de type entier), il est possible que vous deviez utiliser une formule DAX pour extraire les parties de date

Par exemple, si vous avez une colonne de dates qui ont été représentées sous forme d’entier, puis importées sous forme de chaîne de texte, vous pouvez convertir la chaîne en valeur de date/heure à l’aide de la formule suivante :

= DATE (droite ([valeur1]; 4); gauche ([valeur1]; 2); STXT ([valeur1]; 2))

valeur1

Résultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Les rubriques suivantes fournissent des informations supplémentaires sur les fonctions utilisées pour extraire et composer des dates.

Définir un format de date ou de nombre personnalisé

Si vos données contiennent des dates ou des nombres qui ne sont pas représentés dans l’un des formats de texte Windows standard, vous pouvez définir un format personnalisé pour vous assurer que les valeurs sont gérées correctement. Ces formats sont utilisés lors de la conversion de valeurs en chaînes, ou à partir de chaînes. Les rubriques suivantes fournissent également une liste détaillée des formats prédéfinis disponibles pour l’utilisation de dates et de nombres.

Changer le type de données à l’aide d’une formule

Dans Power Pivot, le type de données de la sortie est déterminé par les colonnes sources et vous ne pouvez pas spécifier explicitement le type de données du résultat, car le type de données optimal est déterminé par Power Pivot. Toutefois, vous pouvez utiliser les conversions de types de données implicites effectuées par Power Pivot pour manipuler le type de données de sortie. Pour plus d’informations sur les conversions de type, consultez obtenir des exemples de données pour Dax et les didacticiels de modèle de données.

  • Pour convertir une date ou une chaîne numérique en nombre, multipliez par 1,0. Par exemple, la formule suivante calcule la date actuelle moins 3 jours, puis génère la valeur entière correspondante.

    = (AUJOURDHUI ()-3) * 1.0

  • Pour convertir une valeur de date, de nombre ou de devise en chaîne, concaténez la valeur avec une chaîne vide. Par exemple, la formule suivante retourne la date du jour sous la forme d’une chaîne.

    = "" & AUJOURD’HUI ()

Les fonctions suivantes peuvent également être utilisées pour vérifier qu’un type de données particulier est retourné :

Convertir des nombres réels en entiers

Scénario : valeurs conditionnelles et vérification des erreurs

À l’instar d’Excel, DAX comporte des fonctions qui vous permettent de tester des valeurs dans les données et de renvoyer une valeur différente en fonction d’une condition. Par exemple, vous pouvez créer une colonne calculée qui libelle les revendeurs comme préférés ou valeur selon le montant annuel des ventes. Les fonctions qui testent les valeurs sont également utiles pour vérifier la plage ou le type de valeurs afin d’éviter les erreurs de données inattendues lors de l’interruption de calculs.

Créer une valeur basée sur une condition

Vous pouvez utiliser des conditions si imbriquées pour tester les valeurs et générer les nouvelles valeurs de manière conditionnelle. Les rubriques suivantes contiennent quelques exemples simples de traitement conditionnel et de valeurs conditionnelles :

Tester l’erreur dans une formule

À la différence d’Excel, vous ne pouvez pas avoir de valeurs valides dans une ligne d’une colonne calculée et de valeurs non valides dans une autre ligne. Autrement dit, s’il y a une erreur dans une partie d’une Power Pivot colonne, la colonne entière est signalée par une erreur, de sorte que vous devez toujours corriger les erreurs de formule qui génèrent des valeurs non valides.

Par exemple, si vous créez une formule qui est divisée par zéro, vous pouvez obtenir le résultat Infinity ou une erreur. Certaines formules échouent également si la fonction rencontre une valeur vide lorsqu’elle attend une valeur numérique. Lorsque vous développez votre modèle de données, il est préférable de laisser les erreurs apparaître pour pouvoir cliquer sur le message et résoudre le problème. Toutefois, lorsque vous publiez des classeurs, vous devez incorporer la gestion des erreurs pour empêcher les valeurs inattendues d’être à l’origine de l’échec des calculs.

Pour éviter de renvoyer des erreurs dans une colonne calculée, vous utilisez une combinaison des fonctions logique et informations pour tester les erreurs et toujours renvoyer des valeurs valides. Les rubriques suivantes fournissent quelques exemples simples illustrant comment procéder dans DAX :

Scénarios : utilisation des fonctions Time Intelligence

Les fonctions Time Intelligence DAX incluent des fonctions pour vous permettre de récupérer des dates ou des plages de dates à partir de vos données. Vous pouvez ensuite utiliser ces dates ou plages de dates pour calculer les valeurs de plusieurs périodes similaires. Les fonctions Time Intelligence incluent également les fonctions qui fonctionnent avec des intervalles de dates standard pour vous permettre de comparer les valeurs entre les mois, les années ou les trimestres. Vous pouvez également créer une formule qui compare des valeurs pour la première et la dernière date d’une période donnée.

Pour obtenir la liste de toutes les fonctions Time Intelligence, voir fonctions Time Intelligence (DAX). Pour obtenir des conseils sur l’utilisation des dates et des heures efficacement dans une analyse du Power Pivot, voir dates dans Power Pivot.

Calculer les ventes cumulées

Les rubriques suivantes contiennent des exemples de calcul de soldes de clôture et d’ouverture. Les exemples vous permettent de créer des soldes cumulés de différents intervalles, tels que jours, mois, trimestres ou années.

Comparer les valeurs dans le temps

Les rubriques suivantes contiennent des exemples illustrant comment comparer des sommes sur différentes périodes de temps. Les périodes de temps par défaut prises en charge par DAX sont mois, trimestres et années.

Calculer une valeur sur une plage de dates personnalisée

Consultez les rubriques suivantes pour obtenir des exemples de récupération de plages de dates personnalisées, telles que les 15 premiers jours qui suivent le début d’une promotion des ventes.

Si vous utilisez des fonctions Time Intelligence pour récupérer un ensemble personnalisé de dates, vous pouvez utiliser ce jeu de dates comme entrée pour une fonction qui effectue des calculs afin de créer des agrégats personnalisés sur des périodes de temps. Pour obtenir un exemple de procédure à suivre, consultez la rubrique suivante :

  • Fonction PARALLELPERIOD

    Remarque : Si vous n’avez pas besoin de spécifier une plage de dates personnalisée, mais que vous travaillez avec des unités comptables standard, telles que des mois, des trimestres ou des années, nous vous recommandons d’effectuer des calculs à l’aide des fonctions Time Intelligence conçues à cet effet, telles que TOTALQTD, TOTALMTD, TOTALQTD, etc.

Scénarios : classement et comparaison de valeurs

Pour afficher uniquement les n premiers éléments d’une colonne ou d’un tableau croisé dynamique, plusieurs options s’offrent à vous :

  • Pour créer un filtre supérieur, vous pouvez utiliser les fonctionnalités d’Excel 2010. Vous pouvez également sélectionner plusieurs premières ou dernières valeurs dans un tableau croisé dynamique. La première partie de cette section décrit le filtrage des 10 premiers éléments d’un tableau croisé dynamique. Pour plus d’informations, consultez la documentation Excel.

  • Vous pouvez créer une formule qui calcule dynamiquement les valeurs, puis filtre sur la base des valeurs de classement ou utiliser la valeur de classement en tant que segment. La deuxième partie de cette section décrit comment créer cette formule, puis utiliser ce classement dans un segment.

Chaque méthode présente des avantages et des inconvénients.

  • Le filtre supérieur d’Excel est facile à utiliser, mais le filtre est uniquement à des fins d’affichage. Si les données sous-jacentes du tableau croisé dynamique changent, vous devez actualiser manuellement le tableau croisé dynamique pour afficher les modifications. Si vous avez besoin d’utiliser des classeurs de manière dynamique, vous pouvez utiliser DAX pour créer une formule qui compare les valeurs aux autres valeurs dans une colonne.

  • La formule DAX est plus puissante ; par ailleurs, en ajoutant la valeur de classement à un segment, vous pouvez simplement cliquer sur le segment pour modifier le nombre de valeurs supérieures affichées. Toutefois, les calculs sont coûteux en calculs et la méthode peut ne pas être adaptée aux tableaux comportant de nombreuses lignes.

Afficher uniquement les dix premiers éléments d’un tableau croisé dynamique

Pour afficher les premières ou dernières valeurs dans un tableau croisé dynamique

  1. Dans le tableau croisé dynamique, cliquez sur la flèche vers le bas dans le titre étiquettes de ligne .

  2. Sélectionnez filtres de valeurs> 10 premiers.

  3. Dans la boîte de dialogue filtre des 10 premiers <>nom de la colonne, sélectionnez la colonne à classer, ainsi que le nombre de valeurs, comme suit :

    1. Sélectionnez haut pour afficher les cellules ayant les valeurs les plus élevées ou bas pour afficher les cellules ayant les valeurs les plus basses.

    2. Tapez le nombre de valeurs inférieures ou supérieures à afficher. La valeur par défaut est 10.

    3. Sélectionnez le mode d’affichage des valeurs :

Nom

Description

Éléments

Sélectionnez cette option pour filtrer le tableau croisé dynamique afin d’afficher uniquement la liste des premiers ou derniers éléments par leurs valeurs.

Pourcentage

Sélectionnez cette option pour filtrer le tableau croisé dynamique afin d’afficher uniquement les éléments dont l’extension s’est alportée au pourcentage spécifié.

Somme

Sélectionnez cette option pour afficher la somme des valeurs des éléments du haut ou du bas.

  1. Sélectionnez la colonne qui contient les valeurs que vous souhaitez classer.

  2. Cliquez sur OK.

Classer dynamiquement des éléments à l’aide d’une formule

Le sujet suivant montre comment utiliser DAX pour créer un classement qui est stocké dans une colonne calculée. Dans la mesure où les formules DAX sont calculées de manière dynamique, vous pouvez toujours être sûr que le classement est correct, même si les données sous-jacentes ont changé. Par ailleurs, dans la mesure où la formule est utilisée dans une colonne calculée, vous pouvez utiliser le classement dans un segment, puis sélectionner 5 premiers, 10 premiers ou même valeurs 100.

Remarque :  Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez vous nous dire si les informations vous ont été utiles ? Voici l’article en anglais pour référence.

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×