Relations dans Tableau 2020.3

Tableau a déployé son nouveau modèle de données dans sa version 2020.2. Ce modèle de données a introduit le concept de tables physiques et logiques dans Tableau Desktop, ainsi que de « relations » entre les tables logiques. Avec la version 2020.3, Tableau a amélioré l'expérience utilisateur de l'interface et a rendu la relation plus flexible.
Nous avons déjà partagé un article de base didacticiel et le détails de la requête de relations. Dans cet article, nous allons partager nos 3 principales raisons pour lesquelles nous sommes fans des relations et comment elles renforcent l'analyse.
Pour suivre, téléchargez le Ensemble de données de livres mis à disposition par Tableau et le Cahier de travail Tableau avec tous les exemples.
Cas d'utilisation 1 : Simuler des jointures récursives
Avec la version 2020.3, Tableau a mis à disposition des opérateurs « d'inégalité » pour les relations. La simulation de jointures récursives constitue un excellent cas d'utilisation de cette puissante fonctionnalité. Démontrons cette fonctionnalité à l'aide d'un exemple.
Avant de nous pencher sur les exigences commerciales relatives à une jointure récursive, nous allons préparer l'ensemble de données de base dont nous aurons besoin : nous joignons le jeu de données Books au jeu de données Info afin d'accéder à la série et au volume d'un livre donné.

L'ensemble de données qui en résulte se présente comme suit.

L'exigence commerciale est de montrer, devant chaque livre, les livres de la même série mais des volumes précédents. Ainsi, pour la série BS-CHP, le BookID BF374 est le dernier livre de la série et il contient trois livres « précédents ». Le BookID BR858 est le troisième livre de la série et contient deux livres « précédents », et ainsi de suite. Ce résultat souhaité est indiqué dans le tableau ci-dessous.

Pour créer ce résultat, nous devrions établir plusieurs relations ou jointures entre le même ensemble de données et lui-même, en faisant correspondre à chaque fois SeriesID et VolumeID = VolumeId+1. Nous aurions également besoin de connaître le nombre maximum de livres qu'une série peut contenir, afin de mettre en œuvre le nombre de relations/jointures nécessaires pour extraire les informations requises.
Avec l'opérateur « inégalité » pour les relations Tableau, nous pouvons obtenir ce résultat avec une seule relation. L'opérateur est récursif et appliquera la logique VolumeID > VolumeID (2) entre les deux ensembles de données, jusqu'à ce que tous les volumes d'une série donnée aient été traités. L'image ci-dessus montre le résultat en utilisant les conditions de relation suivantes dans Tableau Desktop.

Cas d'utilisation 2 : traitement de jeux de données de granularités différentes
Avant l'introduction des relations, si nous joignions des ensembles de données présentant des granularités différentes, cela avait pour effet de multiplier le nombre d'enregistrements pour chaque ensemble de données de la jointure.
Prenons l'exemple d'un ensemble de données contenant des livres, d'un ensemble de données contenant le nombre de paiements par mois pour chaque livre et d'un ensemble de données contenant des évaluations. Les trois ensembles de données ont BookID en commun, il peut donc être utilisé pour les joindre.
Pour l'exemple BookID AD222, nous prévoyons que 384 seront le nombre total de paiements. Mais comme nous disposons d'un ensemble de données de notation contenant plusieurs lignes avec le même BookID, chaque ligne de l'ensemble de données des paiements est également multipliée autant de fois.

Dans le cas présent, nous verrons 11328 enregistrements (944 évaluations x 12 mois) pour ce BookID et 362 496 (384 paiements x 944 évaluations) paiements. Ce résultat n'est clairement pas valide.

Avant l'introduction des relations dans le modèle de données Tableau, deux options s'offraient à vous :
1. Créez des formules LoD pour obtenir le nombre correct de caisses

Les LOD sont excellents mais peuvent avoir un impact sur les performances des grands ensembles de données. De plus, il s'agit d'une formule supplémentaire à conserver dans le modèle de données.
2. Créez deux sources de données distinctes, Checkouts et Ratings, et utilisez une combinaison sur BookID.
Avec cette solution, nous ne serions pas en mesure d'accéder au nombre de paiements par mois, mais uniquement à la somme sur l'ensemble des mois, pour chaque BookID.
Avec l'introduction des relations (Tableau 2020.2), nous n'avons pas besoin d'utiliser des LOD ou des mélanges pour obtenir le résultat souhaité dans ce scénario.

En utilisant les relations entre les trois ensembles de données que nous utilisons pour cet exemple, nous pouvons obtenir les bons résultats numériques sans aucune formule LoD ni manipulation de source de données :

Remarquez que
1. Au lieu d'un champ global « Nombre d'enregistrements », nous avons désormais accès au nombre d'enregistrements dans les ensembles de données individuels. Il s'agit de 12 et 944 pour l'ensemble de données de paiement et d'évaluations pour BookID AD222.
2. La relation fonctionne comme une « jointure externe complète », ce qui signifie qu'elle introduit dans l'ensemble de données des lignes qui n'avaient aucune correspondance dans le jeu de données Books. Dans l'exemple précédent, avec les jointures, nous avons choisi une jointure interne et nous avons perdu la vision de tels cas. Ce comportement des relations est utile à des fins d'analyse et de qualité des données.
3. Nous pouvons choisir d'afficher le champ « Mois du paiement » dans la vue sans fausser les résultats numériques. Vous pouvez consulter cette fonctionnalité sur notre site manuel.
Cas d'utilisation 3 : fournir aux utilisateurs des ensembles de données complets sans compromettre les performances

Même si vous ne disposez pas d'ensembles de données présentant des granularités différentes ou si vous n'avez pas besoin d'effectuer des jointures récursives, le nouveau modèle de données Tableau présente un avantage majeur : les performances. Lorsque nous utilisons des relations, seules les parties du modèle de données utilisées dans la visualisation sont interrogées. Par exemple, en utilisant le modèle de données complet présenté ci-dessus, si nous inspectons les livres et leurs ventes, Tableau pas essayez d'interroger l'ensemble de données, y compris les informations relatives aux auteurs, aux récompenses, aux paiements, etc. Au lieu de cela, Tableau n'exécutera la requête que sur les ensembles de données Livres, Éditions et Ventes.
En tant qu'organisation, cela vous permet de vous débarrasser de sources de données spécifiques au profit de sources de données plus complètes et de réduire le nombre de sources de données publiées sur le serveur. Les utilisateurs intéressés par Sales ne seront pas affectés par la baisse de performance liée à la nécessité d'interroger les auteurs et vice-versa.
Vous pouvez approfondir la façon dont le nouveau modèle de données (relations) crée des requêtes par rapport au modèle de jointure avec ce article.
Nous espérons que vous avez apprécié nos trois principaux cas d'utilisation des relations dans Tableau. Pour en savoir plus sur Tableau et Argusa, et sur la manière dont nous pouvons vous aider, contactez-nous à l'adresse info@argusa.ch.
Tableau a déployé son nouveau modèle de données dans sa version 2020.2. Ce modèle de données a introduit le concept de tables physiques et logiques dans Tableau Desktop, ainsi que de « relations » entre les tables logiques. Avec la version 2020.3, Tableau a amélioré l'expérience utilisateur de l'interface et a rendu la relation plus flexible.
Nous avons déjà partagé un article de base didacticiel et le détails de la requête de relations. Dans cet article, nous allons partager nos 3 principales raisons pour lesquelles nous sommes fans des relations et comment elles renforcent l'analyse.
Pour suivre, téléchargez le Ensemble de données de livres mis à disposition par Tableau et le Cahier de travail Tableau avec tous les exemples.
Cas d'utilisation 1 : Simuler des jointures récursives
Avec la version 2020.3, Tableau a mis à disposition des opérateurs « d'inégalité » pour les relations. La simulation de jointures récursives constitue un excellent cas d'utilisation de cette puissante fonctionnalité. Démontrons cette fonctionnalité à l'aide d'un exemple.
Avant de nous pencher sur les exigences commerciales relatives à une jointure récursive, nous allons préparer l'ensemble de données de base dont nous aurons besoin : nous joignons le jeu de données Books au jeu de données Info afin d'accéder à la série et au volume d'un livre donné.

L'ensemble de données qui en résulte se présente comme suit.

L'exigence commerciale est de montrer, devant chaque livre, les livres de la même série mais des volumes précédents. Ainsi, pour la série BS-CHP, le BookID BF374 est le dernier livre de la série et il contient trois livres « précédents ». Le BookID BR858 est le troisième livre de la série et contient deux livres « précédents », et ainsi de suite. Ce résultat souhaité est indiqué dans le tableau ci-dessous.

Pour créer ce résultat, nous devrions établir plusieurs relations ou jointures entre le même ensemble de données et lui-même, en faisant correspondre à chaque fois SeriesID et VolumeID = VolumeId+1. Nous aurions également besoin de connaître le nombre maximum de livres qu'une série peut contenir, afin de mettre en œuvre le nombre de relations/jointures nécessaires pour extraire les informations requises.
Avec l'opérateur « inégalité » pour les relations Tableau, nous pouvons obtenir ce résultat avec une seule relation. L'opérateur est récursif et appliquera la logique VolumeID > VolumeID (2) entre les deux ensembles de données, jusqu'à ce que tous les volumes d'une série donnée aient été traités. L'image ci-dessus montre le résultat en utilisant les conditions de relation suivantes dans Tableau Desktop.

Cas d'utilisation 2 : traitement de jeux de données de granularités différentes
Avant l'introduction des relations, si nous joignions des ensembles de données présentant des granularités différentes, cela avait pour effet de multiplier le nombre d'enregistrements pour chaque ensemble de données de la jointure.
Prenons l'exemple d'un ensemble de données contenant des livres, d'un ensemble de données contenant le nombre de paiements par mois pour chaque livre et d'un ensemble de données contenant des évaluations. Les trois ensembles de données ont BookID en commun, il peut donc être utilisé pour les joindre.
Pour l'exemple BookID AD222, nous prévoyons que 384 seront le nombre total de paiements. Mais comme nous disposons d'un ensemble de données de notation contenant plusieurs lignes avec le même BookID, chaque ligne de l'ensemble de données des paiements est également multipliée autant de fois.

Dans le cas présent, nous verrons 11328 enregistrements (944 évaluations x 12 mois) pour ce BookID et 362 496 (384 paiements x 944 évaluations) paiements. Ce résultat n'est clairement pas valide.

Avant l'introduction des relations dans le modèle de données Tableau, deux options s'offraient à vous :
1. Créez des formules LoD pour obtenir le nombre correct de caisses

Les LOD sont excellents mais peuvent avoir un impact sur les performances des grands ensembles de données. De plus, il s'agit d'une formule supplémentaire à conserver dans le modèle de données.
2. Créez deux sources de données distinctes, Checkouts et Ratings, et utilisez une combinaison sur BookID.
Avec cette solution, nous ne serions pas en mesure d'accéder au nombre de paiements par mois, mais uniquement à la somme sur l'ensemble des mois, pour chaque BookID.
Avec l'introduction des relations (Tableau 2020.2), nous n'avons pas besoin d'utiliser des LOD ou des mélanges pour obtenir le résultat souhaité dans ce scénario.

En utilisant les relations entre les trois ensembles de données que nous utilisons pour cet exemple, nous pouvons obtenir les bons résultats numériques sans aucune formule LoD ni manipulation de source de données :

Remarquez que
1. Au lieu d'un champ global « Nombre d'enregistrements », nous avons désormais accès au nombre d'enregistrements dans les ensembles de données individuels. Il s'agit de 12 et 944 pour l'ensemble de données de paiement et d'évaluations pour BookID AD222.
2. La relation fonctionne comme une « jointure externe complète », ce qui signifie qu'elle introduit dans l'ensemble de données des lignes qui n'avaient aucune correspondance dans le jeu de données Books. Dans l'exemple précédent, avec les jointures, nous avons choisi une jointure interne et nous avons perdu la vision de tels cas. Ce comportement des relations est utile à des fins d'analyse et de qualité des données.
3. Nous pouvons choisir d'afficher le champ « Mois du paiement » dans la vue sans fausser les résultats numériques. Vous pouvez consulter cette fonctionnalité sur notre site manuel.
Cas d'utilisation 3 : fournir aux utilisateurs des ensembles de données complets sans compromettre les performances

Même si vous ne disposez pas d'ensembles de données présentant des granularités différentes ou si vous n'avez pas besoin d'effectuer des jointures récursives, le nouveau modèle de données Tableau présente un avantage majeur : les performances. Lorsque nous utilisons des relations, seules les parties du modèle de données utilisées dans la visualisation sont interrogées. Par exemple, en utilisant le modèle de données complet présenté ci-dessus, si nous inspectons les livres et leurs ventes, Tableau pas essayez d'interroger l'ensemble de données, y compris les informations relatives aux auteurs, aux récompenses, aux paiements, etc. Au lieu de cela, Tableau n'exécutera la requête que sur les ensembles de données Livres, Éditions et Ventes.
En tant qu'organisation, cela vous permet de vous débarrasser de sources de données spécifiques au profit de sources de données plus complètes et de réduire le nombre de sources de données publiées sur le serveur. Les utilisateurs intéressés par Sales ne seront pas affectés par la baisse de performance liée à la nécessité d'interroger les auteurs et vice-versa.
Vous pouvez approfondir la façon dont le nouveau modèle de données (relations) crée des requêtes par rapport au modèle de jointure avec ce article.
Nous espérons que vous avez apprécié nos trois principaux cas d'utilisation des relations dans Tableau. Pour en savoir plus sur Tableau et Argusa, et sur la manière dont nous pouvons vous aider, contactez-nous à l'adresse info@argusa.ch.
