Loading

Calcul du pourcentage du total sans utiliser des calculs de table

Date de publication: Jul 20, 2023
Tâche
Comment calculer un pourcentage du total sans utiliser des calculs de table tels que Calculs de table rapides
Étapes

Résolution générale

Créez un calcul utilisant une fonction de niveau de détail (LOD) dans le dénominateur pour trouver le total. Par exemple, pour trouver le pourcentage des ventes totales par segment, utilisez le calcul de table suivant pour trouver le pourcentage de ventes totales :
SUM([Sales]) / TOTAL(SUM([Sales]))
pourrait se présenter ainsi :
SUM([Sales]) / SUM( { EXCLUDE [Segment] : SUM([Sales]) } )

 
CLIQUER POUR DÉVELOPPER LA SOLUTION

Exemple 1 : Conversion d'un calcul de table rapide en un calcul LOD

Ces instructions partent de la feuille de calcul « Example 1: table calc » dans le classeur joint. 
Étape 1 - Créer la vue avec un calcul de table
  1. Faites glisser [Region] vers l'étagère Lignes
  2. Faites glisser [Segment] vers Couleur dans la fiche Repères
  3. Faites glisser [Sales] vers l'étagère Colonnes
  4. Faites un clic droit sur [Sales] dans l'étagère Colonnes et sélectionnez Calcul de table rapide > Pourcentage du total.
  5. Faites un clic droit sur [Sales] sur l'étagère Colonnes et sélectionnez Calculer avec > Table (horizontale)
  6. Ctrl + faites glisser [Sales] depuis l'étagère Colonnes vers Étiquette dans la fiche Repères. Ceci crée une copie avec application du même calcul de table rapide.
Étape 2 - Reproduire le même résultat avec un champ calculé
  1. Sélectionnez Analyse > Créer un champ calculé
  2. Dans la boîte de dialogue Champ calculé qui s'ouvre, procédez comme suit, puis cliquez sur OK :
    1. Nommez le champ calculé. Dans cet exemple, le champ calculé est appelé « Ex 1:% des ventes totales par segment dans la région »
    2. Faites glisser le champ vert SUM(Sales) contenant l'icône de triangle depuis la fiche Repères dans l'éditeur de calcul
    3. Tableau Desktop écrit automatiquement le calcul suivant :
      SUM([Sales])/TOTAL(SUM([Sales]))
  3. Modifiez le calcul pour remplacer la fonction de table TOTAL() par une fonction LOD. Le calcul final peut se présenter comme suit :
    SUM([Sales])/SUM({ EXCLUDE [Segment] : SUM([Sales])})

    Important : la fonction EXCLUDE calcule une expression, dans ce cas SUM([Sales]), comme si les dimensions répertoriées après EXCLUDE avaient été supprimées de la vue. SUM() en-dehors de EXCLUDE est nécessaire pour éviter l'erreur « cannot mix aggregate and nonaggregate arguments » (impossible de mélanger les arguments agrégés et non agrégés) et ne modifie pas la valeur du dénominateur.
  4. Remplacez SUM(Sales) dans la vue par [Ex 1: % des ventes totales par segment dans la région]
  5. (Facultatif) Modifiez les nombres par défaut de l'axe sur Pourcentage en les mettant en forme. 
Pour consulter les étapes présentées dans la vidéo ci-dessous, veuillez développer la section ci-dessus.
Remarque : la vidéo n'a pas de son. 
 
CLIQUER POUR DÉVELOPPER LES ÉTAPES

Exemple 2 : Ajustement de la portée du pourcentage du total

Option 1
Si vous utilisez EXCLUDE, répertoriez toutes les dimensions après EXCLUDE, à l'exception de celles qui regroupent les valeurs de mesures. Par exemple, si la vue inclut [Region], [Segment] et [Category], et que l'objectif est de trouver le pourcentage du total pour chaque segment dans chaque région, le calcul se présente ainsi :
{ EXCLUDE [Category] : SUM( [Sales] ) }/{ EXCLUDE [Segment], [Category] : SUM( [Sales] ) }

Si vous utilisez FIXED, répertoriez toutes les dimensions après FIXED qui seront utilisées pour regrouper les valeurs de mesures. Le même exemple ci-dessus avec FIXED se présenterait ainsi :
{ FIXED [Segment], [Region] : SUM( [Sales] ) }/{ FIXED [Region] : SUM( [Sales] }
Option 2
Pour trouver le pourcentage des ventes totales par total segments, vous noterez que cet exemple spécifique affiche Consommateur à 50,56% pour chaque région et chaque catégorie. En effet, le pourcentage du total est lié au segment et comme la vue comporte des dimensions supplémentaires, le pourcentage sera répété.
{ EXCLUDE [Region], [Category] : SUM([Sales]) }/{ EXCLUDE [Region], [Category], [Segment] : SUM([Sales])}

Si vous utilisez FIXED, utilisez le calcul équivalent suivant :
{ FIXED [Segment] : SUM([Sales]) }/{ FIXED : SUM([Sales]) }
Option 3
Utilisez le calcul suivant pour afficher le pourcentage des ventes totales pour chaque ligne de la vue.
SUM([Sales])/SUM({ EXCLUDE [Category] : SUM([Sales]) })
  • SUM([Sales]) sera calculé pour chaque ligne de la vue.
  • La déclaration EXCLUDE calcule les ventes pour chaque ligne de la vue comme si [Catégorie] était supprimé.
  • Si des dimensions supplémentaires sont ajoutées à la vue, les valeurs du numérateur et du dénominateur changent en conséquence
Consultez la feuille de calcul « Example 2: LOD Scope Variations » (Variations de portée LOD) pour voir ces exemples. Consultez la section Remarques supplémentaires de cet article pour savoir quand utiliser EXCLUDE par rapport à FIXED.
Pour consulter les étapes présentées dans la vidéo ci-dessous, veuillez développer la section ci-dessus.
Remarque : la vidéo n'a pas de son. 
 
CLIQUER POUR DÉVELOPPER LES ÉTAPES

Exemple 3 : Inclure ou ignorer des filtres

En raison de l'ordre des opérations, les expressions FIXED sont uniquement filtrées par filtres contextuels. Les expressions EXCLUDE sont filtrées par tous les filtres de dimension.

Au lieu de calculs de table, ou de la fonction TOTAL(), utilisez des expressions de niveau de détail (LOD) telles que :
{ FIXED [<dimension(s) pour laquelle/lesquelles vous recherchez le pourcentage d'informations totales>] : SUM([Measure]) } /
{ FIXED [<dimension(s) "Total">] : SUM([Measure]) }

Par exemple, en utilisant les données de l'exemple Superstore pour montrer le pourcentage du total de chaque Segment par Région :
  1. Sélectionnez Analyse > Créer un champ calculé.Nommez le calcul Pourcentage du total, entrez le calcul suivant et cliquez sur OK :
    { FIXED [Segment], [Region] : SUM([Sales]) }/{ FIXED [Region] : SUM([Sales]) }
  2. Faites un clic droit sur Pourcentage du total dans le volet Mesures et sélectionnez Propriétés par défaut Format des nombres... > Pourcentage
  3. Placez Pourcentage du total sur Colonnes
  4. Placez Region sur Lignes
  5. Placez Segment sur Couleur.
  6. Placez Pourcentage du total sur Étiquette.
Pour afficher les étapes ci-dessus, visionnez la vidéo ci-dessous.
Remarque : la vidéo n'a pas de son. 

Pour afficher un exemple supplémentaire, consultez la feuille de calcul « Example 3: Working with Filters » (Utilisation de filtres) dans le classeur joint.
  1. Créez un champ calculé appelé par exemple « Ex 3: % des ventes totales par segment dans la région (non filtré) » avec un calcul du type suivant :
    { FIXED [Segment], [Region] : SUM([Sales]) }/{ FIXED [Region] : SUM([Sales]) }
  2. Faites glisser [Ex 3: % des ventes totales par segment dans la région (non filtré)] vers l'étagère Colonnes
  3. Faites glisser [Catégorie] et [Sous-catégorie] vers l'étagère Filtres
  4. Faites un clic droit sur [Catégorie] dans l'étagère Filtres et sélectionnez Ajouter au contexte.

Explications du calcul ci-dessus :

  • Le calcul utilisant EXCLUDE est filtré à la fois par les filtres [Catégorie] et [Sous-catégorie] (ce serait également vrai pour les fonctions de table)
  • Le calcul utilisant FIXED est uniquement filtré par [Catégorie] parce que ce filtre a été ajouté au contexte.
  • il est possible de mélanger FIXED et EXCLUDE dans un calcul afin qu'un élément soit filtré et l'autre non.
CLIQUER POUR DÉVELOPPER LES ÉTAPES

Exemple 4 : Utiliser le pourcentage du total dans un autre calcul

Lorsque vous utilisez un pourcentage du calcul total dans un autre calcul, tenez compte de ces deux points principaux :
  1. Vous devez utiliser FIXED ou INCLUDE si la vue finale ne contient pas les dimensions nécessaires pour appliquer le numérateur et /ou le numérateur dans le calcul.
  2. Le pourcentage du calcul total doit correspondre à l'agrégation du calcul dans lequel il est utilisé. Les expressions LOD retournent toujours des valeurs non agrégées.
Étape 1 - Créer la vue
  1. Faites un clic droit et faites glisser [Date de commande] vers l'étagère Colonnes.
  2. Dans la boîte de dialogue Déposer un champ, sélectionnez le champ vert Date de commande (continu) et cliquez sur OK
  3. Faites glisser [Ventes] vers l'étagère Lignes
  4. Faites glisser [ID de commande] vers Détails dans la fiche Repères
Étape 2 - Créer le champ calculé
  1. Créez un champ calculé appelé par exemple « Ex 4 : % du total par total clients » avec un calcul du type suivant :
    { FIXED [Customer Name], [Region] : SUM([Sales]) }/{FIXED [Region] : SUM([Sales])}
  2. Créez un champ calculé appelé par exemple « Ex 4 : Principaux clients par région » avec un calcul du type suivant :
    IF
    ([Ex 4: % du total par client dans la région] > .02
    AND [Region] = "South")
    OR
    [Ex 4: % du total par client dans la région] > .0075
    THEN "big customer"
    ELSE "other"
    END
  3. Faites glisser [Ex 4: Principaux clients par région] vers Couleur sur la fiche Repères
Vous pouvez également consulter cet exemple dans le classeur joint, spécifiquement dans les noms des feuilles « Exemple 4 ». 
Pour consulter les étapes présentées dans la vidéo ci-dessous, veuillez développer la section ci-dessus.
Remarque : la vidéo n'a pas de son. 
Ressources supplémentaires
 
Calculs de table versus expressions LOD
Les fonctions de table et les fonctions LOD nous permettent toutes deux de déterminer la portée du total. Selon la manière dont le pourcentage du total est utilisé, un choix peut être plus adapté :
  • Les calculs de table peuvent afficher des résultats inattendus dans les totaux
  • Le calcul de table peut être modifié de manière inattendue par des filtres
  • Les calculs LOD FIXED ignorent tous les filtres à l'exception des filtres contextuels
  • Un calcul référençant le pourcentage de total peut générer l'erreur « cannot mix aggregate and nonaggreate arguments » (impossible de mélanger les arguments agrégés et non agrégés).Utilisez le pourcentage du calcul total correspondant à l'agrégation du calcul dans lequel il est utilisé. Les expressions FIXED ne sont pas agrégées, tandis que les expressions EXCLUDE et les fonctions de table sont agrégées.
Pour plus d'informations sur les différences entre fonctions de table et calculs LOD, consultez Choisir le type de calcul approprié
EXCLUDE versus FIXED

Dans la plupart des cas, vous pouvez utiliser EXCLUDE ou FIXED. Facteurs à prendre en compte :

  • Les instructions EXCLUDE tiennent compte de tous les filtres de dimension. FIXED tient uniquement compte des filtres contextuels.
  • Les instructions EXCLUDE doivent être agrégées dans la vue ou dans l'étagère Filtres. Les instructions FIXED sont traitées comme des dimensions.
  • Ces exemples afficheront uniquement EXCLUDE, et non INCLUDE pour des raisons de simplicité. INCLUDE calcule une expression comme si les dimensions spécifiées étaient ajoutées à la vue. INCLUDE est un choix plus approprié que EXCLUDE lorsque la dimension ne contient pas les dimensions nécessaires pour définir la portée du numérateur et/ou du dénominateur.
Pour plus d'informations sur le fonctionnement précis des LOD, et les différences entre FIXED, INCLUDE et EXCLUDE, consultez Ajout d'une expression LOD à la vue

Numéro d’article de la base de connaissances

001456489

Pièces jointes

Percent of Total LOD_v2018.1.twbx

2513 KB

 
Chargement
Salesforce Help | Article