Pourquoi mes totaux ne correspondent-ils pas aux valeurs de mon tableau ?

La fonctionnalité Totaux d'une exploration calcule le total des données sous-jacentes distinctes, et pas seulement les lignes et les colonnes visibles dans le tableau de données. Par conséquent, il est possible que Totaux affiche une valeur différente de celle que vous attendiez si vous ne consultiez que les données visibles. Vous trouverez ci-dessous plus de détails et de solutions pour calculer le total dont vous avez besoin.

Pourquoi les totaux peuvent-ils être inférieurs ?

Supposons que vous souhaitiez compter le nombre d'utilisateurs distincts ayant acheté une certaine catégorie de produits au cours d'une période donnée. Vous pouvez créer une requête d'exploration avec le nombre d'utilisateurs (Nombre d'utilisateurs) regroupé par catégorie de produits (Catégorie de produits) :

La requête SQL utilisée pour créer cette table se présente comme suit :

  SELECT
  products.category AS 'products.category',
  COUNT(DISTINCT users.id ) AS 'users.count'

Lorsque l'option Totaux est activée, le nombre total d'utilisateurs s'élève à 12 290.

Notez que si vous ajoutez manuellement les valeurs de la colonne Nombre d'utilisateurs, vous obtenez un nombre beaucoup plus élevé que le total indiqué par Looker. Étant donné que chaque utilisateur peut effectuer des achats dans plusieurs catégories de produits, lorsque vous additionnez vous-même chaque ligne, vous ajoutez certains utilisateurs plusieurs fois. Toutefois, Looker utilise une requête SQL pour calculer le nombre d'utilisateurs distincts et éviter ainsi les doubles comptes.

Le code SQL utilisé par Looker pour calculer le total se présente comme suit:

  SELECT
  COUNT(DISTINCT users.id ) AS 'users.count'

Notez que Looker utilise le code SQL de la mesure users.count pour calculer le total.

Tous les filtres et jointures seront également inclus dans la requête des totaux, ce qui garantira la cohérence du total à mesure que la requête change.

Pourquoi les totaux peuvent-ils être plus élevés ?

Dans deux cas, les totaux Looker peuvent être supérieurs aux totaux obtenus en additionnant les valeurs des lignes : lorsque la requête est filtrée par une mesure ou lorsqu'elle atteint la limite de lignes.

  • Lorsque la requête est filtrée par une mesure, les totaux sont calculés avant l'application des filtres ou des restrictions.
  • En ce qui concerne les limites de lignes, la requête de total créée par Looker n'est pas soumise à ces limites, car le total ne renverra jamais qu'une seule ligne.

Calculer les valeurs totales

Pour calculer des totaux uniquement sur les valeurs de la table, vous pouvez créer une colonne à l'aide de calculs de table. Pour en savoir plus, consultez les exemples suivants.

Calculer le total d'une colonne

Pour calculer un total de valeurs de colonne, vous pouvez utiliser la fonction sum dans un calcul de table:

  sum(${view_name.field_name})

Vous pouvez également utiliser le calcul de raccourci Total des colonnes en cours lorsque vous disposez des autorisations nécessaires pour créer des calculs de table.

Calculer un total de ligne

Pour calculer un total de valeurs de ligne, vous pouvez utiliser les fonctions sum et pivot_row() dans un calcul de table:

  sum(pivot_row(${view_name.field_name}))
Remarque: Cette approche génère une nouvelle colonne et n'apparaît pas sous la forme d'une colonne "Total" native. ligne ou colonne.

Vous pouvez également utiliser le calcul de raccourci Total de ligne cumulé si vous disposez des autorisations nécessaires pour créer des calculs de table.

Autres ressources

Il est également possible que certains calculs de table qui effectuent des agrégations, tels que les calculs utilisant percentile ou median, ne soient pas totalisés comme prévu. En effet, les calculs de table calculent les totaux en utilisant les valeurs de la ligne Total, et non celles de la colonne de données. Pour obtenir des conseils de dépannage, consultez la page des bonnes pratiques sur l'affichage des totaux de calcul de table potentiellement déroutants sous la forme de valeur nulle.