Partager via


Colonnes calculées (SSAS Tabulaire)

Les colonnes calculées, dans les modèles tabulaires, vous permettent d’ajouter de nouvelles données à votre modèle. Au lieu de coller ou d’importer des valeurs dans la colonne, vous créez une formule DAX qui définit les valeurs de niveau de ligne de la colonne. La colonne calculée peut ensuite être utilisée dans un rapport, un tableau croisé dynamique ou un graphique croisé dynamique comme n’importe quelle autre colonne.

Remarque

Les colonnes calculées ne sont pas prises en charge pour les modèles tabulaires en mode DirectQuery. Pour plus d’informations, consultez Le mode DirectQuery (SSAS Tabulaire).

Sections de cette rubrique :

Avantages

Les formules dans les colonnes calculées sont beaucoup comme les formules dans Excel. Contrairement à Excel, toutefois, vous ne pouvez pas créer différentes formules pour différentes lignes d’un tableau ; Au lieu de cela, la formule DAX est automatiquement appliquée à 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 lorsque vous entrez une formule valide. Les valeurs de colonne sont ensuite recalculées si nécessaire, par exemple lorsque les données sous-jacentes sont actualisées.

Vous pouvez créer des colonnes calculées basées sur des mesures et 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.

Une colonne calculée est basée sur les données que vous avez déjà dans une table existante ou créée à l’aide d’une formule DAX. Par exemple, vous pouvez choisir de concaténer des valeurs, d’effectuer des additions, d’extraire des sous-chaînes ou de comparer les valeurs dans d’autres champs. Pour ajouter une colonne calculée, vous devez disposer d’au moins une table dans votre modèle.

Cet exemple illustre une formule simple dans une colonne calculée :

=EOMONTH([StartDate],0])  
  

Cette formule extrait le mois de la colonne StartDate. Il calcule ensuite la fin de la valeur du mois pour chaque ligne de la table. Le deuxième paramètre spécifie le nombre de mois avant ou après le mois dans StartDate ; dans ce cas, 0 signifie le même mois. Par exemple, si la valeur de la colonne StartDate est 6/1/2001, la valeur de la colonne calculée est 6/30/2001.

Affectation d’un nom à une colonne calculée

Par défaut, de nouvelles colonnes calculées sont ajoutées à droite d’autres colonnes d’une table, et la colonne est automatiquement affectée au nom par défaut de CalculatedColumn1, CalculatedColumn2, etc. Vous pouvez également cliquer avec le bouton droit sur une colonne, puis cliquer sur Insérer une colonne pour créer une colonne entre deux colonnes existantes. Vous pouvez réorganiser des colonnes dans la même table en cliquant et en faisant glisser, et vous pouvez renommer des colonnes après leur création ; Toutefois, vous devez connaître les restrictions suivantes sur les modifications apportées aux colonnes calculées :

  • Chaque nom de colonne doit être unique dans une table.

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

  • Lorsque vous renommez une colonne calculée, toutes les formules qui s’appuient sur la colonne doivent être mises à jour manuellement. Sauf si vous êtes en mode de mise à jour manuelle, la mise à jour des résultats des formules a lieu automatiquement. Toutefois, cette opération peut prendre un certain temps.

  • Certains caractères ne peuvent pas être utilisés dans les noms de colonnes. Pour plus d'informations, consultez « Exigences de nommage » dans la spécification de syntaxe DAX pour PowerPivot.

Performances des colonnes calculées

La formule d’une colonne calculée peut être plus gourmande en ressources que la formule utilisée pour une mesure. L’une des raisons est que le résultat d’une colonne calculée est toujours calculé pour chaque ligne d’une table, tandis qu’une mesure est calculée uniquement pour les cellules définies par le filtre utilisé dans un rapport, un tableau croisé dynamique ou un graphique croisé dynamique. Par exemple, une table avec un million de lignes aura toujours une colonne calculée avec un million de résultats et un effet correspondant sur les performances. Toutefois, un tableau croisé dynamique filtre généralement les données en appliquant des en-têtes de ligne et de colonne ; par conséquent, une mesure est calculée uniquement pour le sous-ensemble de données dans chaque cellule du tableau croisé dynamique.

Une formule a des dépendances sur les objets référencés dans la formule, comme d’autres colonnes ou expressions qui évaluent les valeurs. Par exemple, une colonne calculée basée sur une autre colonne ou un calcul qui contient une expression avec une référence de colonne ne peut pas être évaluée tant que l’autre colonne n’est pas évaluée. Par défaut, l’actualisation automatique est activée dans les classeurs ; par conséquent, toutes ces dépendances peuvent affecter les performances alors que les valeurs sont mises à jour et que les formules sont actualisées.

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

  • Au lieu de créer une seule formule qui contient de nombreuses dépendances complexes, créez les formules en étapes, avec les résultats enregistrés dans des colonnes, afin de pouvoir valider les résultats et évaluer les performances.

  • La modification des données nécessite souvent que les colonnes calculées soient recalculées. Vous pouvez l’empêcher en définissant le mode recalcul sur manuel ; toutefois, si des valeurs dans la colonne calculée sont incorrectes, la colonne est grisée jusqu’à ce que vous actualisiez et recalculez les données.

  • Si vous modifiez ou supprimez des relations entre des tables, les formules qui utilisent des colonnes dans ces tables ne seront plus valides.

  • Si vous créez une formule qui contient une dépendance circulaire ou auto-référençante, une erreur se produit.

Tâches associées

Sujet Descriptif
Créer une colonne calculée (SSAS Tabulaire) Les tâches de cette rubrique décrivent comment ajouter une nouvelle colonne calculée à une table.

Voir aussi

Tables et colonnes (SSAS Tabulaire)
Mesures (SSAS Tabulaire)
Calculs (SSAS Tabulaire)