Colonnes calculées

Cette rubrique montre comment créer une colonne calculée reposant sur les données de l'exemple de classeur DAX, et inclut des informations sur l'utilisation de la saisie semi-automatique lors de la génération d'une formule. Pour plus d'informations sur les formules, consultez Générer des formules pour les calculs.

Fonctionnement des colonnes calculées

Une colonne calculée est une colonne que vous ajoutez à une table PowerPivot existante. Au lieu de coller ou importer des valeurs dans la colonne, vous créez une formule DAX qui définit les valeurs de colonne. La colonne calculée peut être utilisée dans un tableau croisé dynamique, un graphique croisé dynamique ou un rapport Power View comme toute autre colonne de données.

Les formules dans les colonnes calculées sont très semblables aux formules que vous créez dans Excel. Toutefois, contrairement à dans Excel, vous ne pouvez pas créer des formules différentes pour des lignes distinctes de la table ; la formule DAX est appliquée automatiquement à la colonne entière.

Lorsqu'une colonne contient une formule, la valeur est calculée pour chaque ligne. Les résultats sont calculés pour la colonne dès que vous créez la formule. Les valeurs de colonne sont ensuite recalculées si nécessaire, par exemple lorsque les données sous-jacentes sont actualisées.

Vous pouvez également créer des colonnes calculées reposant sur des mesures ou sur d'autres colonnes calculées. Par exemple, vous pouvez créer une colonne calculée pour extraire un nombre d'une chaîne de texte, puis utiliser ce nombre dans une autre colonne calculée.

Création d'une colonne calculée

Une colonne calculée repose sur les données que vous avez ajoutées à une table existante. Par exemple, vous pouvez choisir de concaténer des valeurs, effectuer une addition, extraire des sous-chaînes ou comparer les valeurs dans d'autres champs. Pour ajouter une colonne calculée, vous devez avoir déjà ajouté au moins une table dans votre classeur PowerPivot.

Cet exemple montre l'utilisation de la saisie semi-automatique pour générer une formule simple à utiliser dans une nouvelle colonne calculée. La formule est la suivante :

=EOMONTH([StartDate],0])

La formule extrait le mois de la colonne StartDate de la table Promotion de l'exemple de classeur DAX. Elle calcule ensuite la valeur de fin du mois pour chaque ligne de la table Promotion. Le deuxième paramètre spécifie le nombre de mois avant ou après le mois indiqué dans StartDate ; dans cette cas, 0 signifie le même mois. Par exemple, si la valeur de la colonne StartDate est 1/6/2001, la valeur dans la colonne calculée sera 30/6/2001.

Pour plus d'informations sur l'exemple de classeur, consultez Obtenir des exemples de données pour PowerPivot.

[!REMARQUE]

Dans Windows Vista et Windows 7, les fonctionnalités fournies dans la fenêtre PowerPivot sont disponibles sur un ruban, présenté dans cette rubrique. Dans Windows XP, ces fonctionnalités sont disponibles dans un ensemble de menus. Si vous utilisez Windows XP et souhaitez voir les correspondances entre les commandes des menus et les commandes du ruban, consultez Interface utilisateur de PowerPivot dans Windows XP.

Pour créer une colonne calculée à l'aide de la saisie semi-automatique

  1. Dans la fenêtre PowerPivot, cliquez sur l'onglet qui contient la table Promotion. Vous devrez peut-être cliquer sur la flèche bas à droite des onglets qui sont affichés pour voir l'onglet Promotion.

  2. Dans la fenêtre PowerPivot, sous l'onglet Conception, dans le groupe Colonnes, cliquez sur Ajouter.

    Ajouter une colonne est mis en surbrillance dans la colonne la plus à droite vide, et le curseur se place dans la barre de formule.

  3. Tapez un signe égal, puis cliquez sur le bouton de fonction (fx).

  4. EOMONTH est une fonction de date et d'heure, ainsi sélectionnez &les Date et heure dans la liste déroulante Sélectionner une catégorie.

    Les fonctions DAX qui sont disponibles dans la boîte de dialogue Insérer une fonction sont groupées par catégorie. Vous pouvez consulter la liste complète de fonctions disponibles en sélectionnant Tout.

    • Appuyez sur TAB pour vous déplacer entre la liste déroulante des catégories de fonctions, la liste déroulante des fonctions, et les boutons Annuler et OK.

    • Appuyez sur les touches de direction Haut et Bas pour sélectionner une catégorie de fonctions ou une fonction individuelle.

    • Lorsque vous sélectionnez une fonction, PowerPivot affiche l'aide relative à cette fonction, notamment sa description et la liste des arguments obligatoires et facultatifs.

  5. Dans la liste déroulante, Sélectionner une fonction, sélectionnez EOMONTH et cliquez sur OK.

    La barre de formule est mise à jour pour afficher la fonction et la parenthèse ouvrante ; le curseur se positionne automatiquement à la place où vous allez taper l'argument suivant :

    =EOMONTH( 

    L'info-bulle qui s'affiche sous la barre de formule indique que la fonction EOMONTH requiert deux arguments : une date d'abord et une valeur numérique ensuite représentant le nombre de mois.

  6. Tapez un crochet gauche [, afin d'afficher la liste des colonnes de la table actuelle.

    Conseil : si la colonne se trouve dans une autre table, tapez les premières lettres du nom de cette table, puis sélectionnez le nom complet de la colonne dans la liste.

    Pour cet exemple, sélectionnez [StartDate] dans la liste et appuyez sur TAB.

    Le nom de la colonne est inséré dans la formule, comme suit :

    =EOMONTH ([StartDate]
  7. Tapez une virgule, la valeur 0, puis la parenthèse fermante.

    La formule finale doit se présenter comme suit :

    =EOMONTH([StartDate], 0)
  8. Appuyez sur ENTRÉE pour accepter la formule.

    La formule remplit la colonne tout entière et une valeur est calculée pour chaque ligne.

Nommer une colonne calculée

Par défaut, les nouvelles colonnes calculées sont ajoutées à droite des autres colonnes d'une feuille de calcul, et le nom par défaut CalculatedColumn1, CalculatedColumn2, etc. est automatiquement affecté à la colonne. Vous pouvez réorganiser et renommer les colonnes après leur création. Tenez compte des restrictions ci-après concernant les modifications des colonnes calculées :

  • Chaque nom de colonne doit être unique à l'intérieur d'une table.

  • Évitez les noms qui ont été déjà utilisés pour les mesures dans le même classeur. Bien qu'il soit possible qu'une colonne calculée et une mesure portent le même nom, des erreurs de calcul peuvent survenir facilement si les noms ne sont pas uniques. Pour éviter d'appeler une mesure par inadvertance, utilisez toujours une référence de colonne complète lorsque vous faites référence à une colonne.

  • Lorsque vous renommez une colonne calculée, toutes les formules qui s'appuient sur la colonne existante doivent être mises à jour. À moins que vous ne soyez en mode de mise à jour manuel, la mise à jour des résultats des formules a lieu automatiquement. Toutefois, cette opération peut prendre quelque temps.

  • Certains caractères ne peuvent pas être utilisés dans les noms de colonnes ou dans les noms d'objets d'un classeur PowerPivot. Pour plus d'informations, consultez « Exigences concernant l'affectation des noms » dans Spécification de syntaxe DAX pour PowerPivot.

Pour renommer ou modifier une colonne calculée existante

  1. Dans la fenêtre PowerPivot, cliquez avec le bouton droit sur l'en-tête de la colonne calculée que vous souhaitez renommer, puis cliquez sur Renommer la colonne.

  2. Tapez un nouveau nom, puis appuyez sur ENTRÉE pour valider ce nom.

Modification du type de données

Vous pouvez modifier le type de données d'une colonne calculée de la même façon que vous pouvez modifier le type de données de toutes les colonnes non calculées. Vous ne pouvez pas effectuer les changements suivants pour le type de données : type Text en Decimal, type Text en Integer, type Text en Currency et type Text en Date. Vous pouvez changer le type Text en type de données booléen.

Présentation des performances des colonnes calculées

La formule d'une colonne calculée peut solliciter beaucoup plus de ressources que la formule utilisée pour une mesure. L'une des raisons en est que le résultat d'une colonne calculée est toujours calculé pour chaque ligne d'une table, alors qu'une mesure est calculée uniquement pour les cellules utilisées dans le tableau croisé dynamique ou le graphique croisé dynamique.

Par exemple, une table d'un million de lignes aura toujours une colonne calculée avec un million de résultats et les conséquences que cela implique en termes de performances. Toutefois, un tableau croisé dynamique filtre généralement les données en appliquant des en-têtes de lignes et de colonnes ; par conséquent, la mesure est calculée uniquement pour le sous-ensemble de données dans chaque cellule du tableau croisé dynamique.

Une formule présente des dépendances vis-à-vis des objets auxquels elle fait référence, tels que d'autres colonnes ou expressions qui évaluent des valeurs. Par exemple, une colonne calculée qui est basée sur une autre colonne, ou un calcul qui contient une expression avec une référence de colonne, ne peuvent pas être évalués tant que l'autre colonne n'a pas été évaluée. Par défaut, l'actualisation automatique est activée dans les classeurs, ce qui signifie que de telles dépendances peuvent affecter les performances lorsque les valeurs sont mises à jour et les formules actualisées.

Pour éviter les problèmes de performances lorsque vous créez des colonnes calculées, suivez les instructions ci-après :

  • Plutôt que de créer une formule individuelle qui contient de nombreuses dépendances complexes, créez les formules par étapes, en enregistrant les résultats dans les colonnes, afin de pouvoir valider les résultats et évaluer les performances.

  • La modification de données requiert souvent un nouveau calcul des colonnes calculées. Vous pouvez éviter cela en optant pour le mode de recalcul manuel. Toutefois, si des valeurs de la colonne calculée sont erronées, la colonne sera grisée tant que vous n'aurez pas actualisé et recalculé les données.

  • Si vous modifiez ou supprimez des relations entre des tables, les formules qui utilisent des colonnes de ces tables deviennent non valides.

  • Si vous créez une formule qui contient une dépendance circulaire ou faisant référence à elle-même, une erreur se produit.

Voir aussi

Concepts

Ajouter des calculs à vos rapports, graphiques et tableaux croisés dynamiques

Générer des formules pour les calculs

Vue d'ensemble du langage DAX (Data Analysis Expressions)

Agrégations dans les formules

Autres ressources

Relations entre tables