Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les groupes de calcul peuvent réduire considérablement le nombre de mesures redondantes que vous devez créer, en vous permettant de définir des formules DAX (Data Analysis Expressions) en tant qu’éléments de calcul. Les éléments de calcul peuvent être appliqués aux mesures existantes dans votre modèle. Pour plus d’informations sur les groupes de calcul, consultez l’article Groupes de calcul.
Ajouter un nouveau groupe de calcul en mode modèle
Dans Power BI, lors de la modification d’un modèle sémantique, accédez à l’affichage Modèle et sélectionnez le bouton Groupe de calcul dans le ruban. Si vous n’êtes pas déjà dans l’Explorateur de modèles, le volet Données s’ouvre sur la vue Modèle.
Si la propriété Décourager les mesures implicites est désactivée, une fenêtre de boîte de dialogue vous invite à l’activer pour permettre la création du groupe de calcul.
Une mesure implicite se produit quand, dans la vue Rapport, vous utilisez une colonne de données du volet Données directement dans le visuel. Le visuel vous permet de l’agréger sous la forme d’une SUMagrégation de base, AVERAGEMINMAXou d’une autre agrégation de base, qui devient une mesure implicite. Lorsqu’un groupe de calcul est ajouté à un modèle, Power BI décourage la création de mesures implicites en n’affichant plus le symbole de somme en regard des colonnes de données du volet Données, et bloque l’ajout des colonnes de données aux visuels directement en tant que valeurs. Les mesures implicites existantes déjà créées dans les visuels continuent de fonctionner. La propriété Décourager les mesures implicites doit être activée, car les éléments de calcul ne s’appliquent pas aux mesures implicites. Les éléments de calcul s’appliquent uniquement aux mesures ou aux mesures explicites.
Une mesure ou une mesure explicite se produit quand vous créez une mesure, et que vous définissez l’expression DAX pour agréger une colonne de données. Les mesures explicites peuvent également avoir une logique conditionnelle et des filtres, ce qui permet de tirer pleinement parti des possibilités offertes par DAX. Tutoriel : Vous pouvez apprendre à créer vos propres mesures dans Power BI Desktop.
Remarque
Les expressions d’élément de calcul peuvent être écrites pour ignorer une mesure par nom ou par type de données, pour les scénarios où vous avez des mesures que vous ne souhaitez pas que l’élément de calcul change.
Une fois que vous sélectionnez Oui pour activer la propriété décourager les mesures implicites, un groupe de calcul est ajouté et vous pouvez commencer à définir l'expression DAX du premier élément de calcul dans la barre de formules DAX. La boîte de dialogue ne s’affiche pas si vous avez déjà déconseillé les mesures implicites activées .
SELECTEDMEASURE est une fonction DAX qui agit comme un espace réservé pour la mesure dans l'expression de l'élément de calcul. Vous pouvez en savoir plus sur la fonction DAX SELECTEDMEASURE en consultant l’article correspondant.
Ajouter un groupe de calcul à l’aide de la vue TMDL Power BI
Vous pouvez créer un groupe de calcul dans le langage de définition de modèle tabulaire ou la vue TMDL de Power BI Desktop. Modifiez le modèle sémantique et utilisez ce script TMDL.
createOrReplace
table 'Calculation group'
calculationGroup
precedence: 1
calculationItem 'Calculation item' = SELECTEDMEASURE()
column 'Calculation group column'
dataType: string
summarizeBy: none
sourceColumn: Name
sortByColumn: Ordinal
annotation SummarizationSetBy = Automatic
column Ordinal
dataType: int64
formatString: 0
summarizeBy: sum
sourceColumn: Ordinal
annotation SummarizationSetBy = Automatic
Exemple de Time Intelligence
Il existe un exemple de Time Intelligence d’un groupe de calcul dans l’article Groupes de calcul dans les modèles tabulaires Analysis Services, que nous pouvons utiliser pour remplir certains éléments de calcul. L’exemple peut être ajouté à n’importe quel modèle avec une table Date , ou vous pouvez télécharger Adventure Works DW 2020 PBIX à partir d’un exemple de modèle DAX - DAX.
Renommer un groupe de calcul
Pour renommer le groupe de calcul, double-cliquez sur celui-ci dans le volet Données, ou sélectionnez-le et utilisez le volet Propriétés.
Renommer une colonne de groupe de calcul
Pour renommer la colonne d’un groupe de calcul, double-cliquez sur celle-ci dans le volet Données, ou sélectionnez-la et utilisez le volet Propriétés. La colonne que vous sélectionnez est la colonne que vous utilisez sur les éléments visuels ou dans les trancheurs pour appliquer un élément de calcul spécifique.
Renommer un élément de calcul
Le premier élément de calcul a été créé en tant que SELECTEDMEASURE(). Vous pouvez donc le renommer en double-cliquant dessus, ou en utilisant également le volet Propriétés.
Créer d’autres éléments de calcul
Pour créer davantage d'éléments de calcul, vous pouvez utiliser le menu contextuel de la section Éléments de calcul ou du groupe de calcul lui-même et choisir Nouvel élément de calcul, ou utiliser le volet Propriétés de la section Éléments de calcul.
Une fois que tous les éléments de calcul Time Intelligence sont ajoutés, le groupe de calcul ressemble à l’image suivante.
Notez les icônes en forme de triangle rouge qui indiquent les erreurs. Les erreurs sont dues au fait que les exemples d’expressions DAX utilisent la table Date appelée DimDate. Je dois donc mettre à jour les expressions DAX pour utiliser le nom Date à la place. L’image suivante montre l’expression DAX avant la correction.
Une fois que j’ai corrigé l’expression DAX, l’erreur disparaît.
Une fois que j’ai corrigé chacune des erreurs des éléments de calcul, les icônes d’avertissement en forme de triangle rouge n’apparaissent plus.
Réorganiser les éléments de calcul
Pour réorganiser les éléments de calcul en fonction de la logique que vous préférez, sélectionnez la section Éléments de calcul dans le volet Propriétés, ou cliquez avec le bouton droit sur le menu contextuel de l’élément de calcul pour le déplacer vers le haut ou vers le bas dans la liste.
Ajouter une chaîne de format dynamique à un élément de calcul
Les éléments de calcul utilisent la mise en forme de mesure sous-jacente par défaut. Nous pouvons afficher à la place YOY% sous forme de pourcentage. Pour ce faire, sélectionnez l’élément de calcul YOY%, puis activez Chaîne de format dynamique dans le volet Propriétés, ce qui vous permet de spécifier une expression DAX pour créer une chaîne de format. Pour cet exemple, il ne nécessite aucun élément conditionnel, donc simplement #,#0.00% modifie le format en pourcentage lorsque cet élément de calcul est appliqué, comme illustré dans l’image suivante.
Utilisation du groupe de calcul dans les rapports
Pour utiliser votre nouveau groupe de calcul dans un rapport, accédez à la vue Rapport, créez un visuel Matrice, puis ajoutez les éléments suivants :
- Colonne Month (Mois) de la table Date vers Rows (Lignes)
- Calcul du temps du groupe de calcul Time Intelligence vers Columns (Colonnes)
- Mesure Orders (Commandes) vers Values (Valeurs)
Remarque
Si la mesure Orders n’est pas créée dans le modèle, vous pouvez utiliser une autre mesure ou accéder au ruban et choisir Nouvelle mesure pour la créer avec cette expression DAX.
Orders = DISTINCTCOUNT('Sales Order'[Sales Order])
L’image suivante montre la création d’un visuel.
Les éléments de calcul de Columns (Colonnes) dans le visuel Matrix (Matrice) affichent la mesure Orders (Commandes) regroupée selon chaque élément de calcul. Vous pouvez également appliquer un élément de calcul individuel à plusieurs mesures en ajoutant la colonne de groupe de calcul à un visuel Slicer (Segment).
Utilisation de l’élément de calcul dans les mesures
Vous pouvez créer une mesure avec une expression utilisant un élément de calcul sur une mesure spécifique.
Pour créer une mesure [Orders YOY%] , vous pouvez utiliser l’élément de calcul avec CALCULATE.
Orders YOY% =
CALCULATE(
[Orders],
'Time Intelligence'[Time Calculation] = "YOY%"
)
Définition de la priorité des groupes de calcul
Enfin, si vous ajoutez d’autres groupes de calcul au modèle, vous pouvez spécifier l’ordre dans lequel ils s’appliquent à une mesure avec la propriété de précédence. Vous pouvez ajuster la priorité du groupe de calcul dans le volet propriétés de la section Groupes de calcul , comme illustré dans l’image suivante.
Découvrez davantage d’informations sur la priorité des groupes de calcul dans l’article Groupes de calcul dans les modèles tabulaires Analysis Services.
Expressions de sélection pour les groupes de calcul
Vous pouvez définir des expressions de sélection pour les groupes de calcul pour obtenir un contrôle précis sur ce que le groupe de calcul retourne si les utilisateurs effectuent plusieurs, non valides ou aucune sélection sur le groupe de calcul. Voir les expressions de sélection.
Considérations
Les mesures de modèle changent en type de données variant
Dès qu’un groupe de calcul est ajouté à un modèle sémantique, les rapports Power BI utilisent le type de données variant pour toutes les mesures. Si, par la suite, tous les groupes de calcul sont supprimés du modèle, les mesures revient à leurs types de données d’origine.
Le type de données variant peut entraîner des chaînes de format dynamiques pour les mesures, ce qui, en utilisant une mesure pour la réutilisation, peut afficher une erreur. Utilisez la fonction FORMAT DAX pour que la mesure de variante soit reconnue à nouveau comme type de données de chaîne de caractères.
FORMAT([Dynamic format string], "")
Vous pouvez également réutiliser votre expression pour les chaînes de format dynamique avec une fonction définie par l’utilisateur DAX à la place.
Erreur des visuels lorsqu’un élément de calcul applique une opération mathématique sur une mesure non numérique
Les mesures non numériques sont couramment utilisées pour les titres dynamiques dans les visuels et dans les chaînes de format dynamique pour les mesures. L’erreur Ne peut pas convertir la valeur ... du type Texte au type Numérique s'affiche sur les visuels affectés. L’expression d’élément de calcul peut éviter cette erreur en ajoutant une vérification pour voir si la mesure est numérique avant d’appliquer l’opération mathématique. Utilisez l’ISNUMERIC dans l’élément de calcul.
Calculation item safe =
IF (
// Check the measure is numeric
ISNUMERIC( SELECTEDMEASURE() ),
SELECTEDMEASURE() * 2,
// Don't apply the calculation on a non-numeric measure
SELECTEDMEASURE()
)
Contenu connexe
Les articles suivants décrivent plus en détail les modèles de données ainsi que le mode DirectQuery.
- Groupes de calcul dans les modèles tabulaires Analysis Services
- Utiliser l’explorateur de modèles dans Power BI
- Utiliser la vue Modélisation dans Power BI
- Agrégations automatiques
- Utiliser des modèles composites dans Power BI Desktop
- Gérer le mode de stockage dans Power BI Desktop
- Relations plusieurs à plusieurs dans Power BI Desktop
Articles DirectQuery :