FOCUS SUR LA
BUSINESS INTELLIGENCE
TABLEAU ACCOMPAGNÉ
DE SNOWFLAKE

La réalité est là : les données, vous savez qu’elles existent.
Vous savez même qu’il est devenu crucial pour une entreprise de les maîtriser, de les structurer pour les analyser.
Mais êtes-vous informés des méthodes et des outils existants pour mener à bien ces analyses ?
Tout d’abord les données peuvent prendre des formes multiples au sein d’une entreprise : ventes, stocks, photos, commentaires, notes.
Il est nécessaire de maîtriser leur provenance, leur structuration et leur stockage.

Un article rédigé par
Marie SAUGEY – Consultante Data NOVEMBRE 2021
Ensuite, le but de l’analyse de ces données est d’aider à la prise de décisions essentielles, afin d’améliorer de manière continue la prospérité de l’entreprise (Bonheur employé, satisfaction client).
L’ensemble de ces étapes forme la Business Intelligence (BI).
Au vu des volumes de données en augmentation constante et de la propension des entreprises à tendre vers le cloud, de nombreux acteurs du marché innovent pour se démarquer.
Nous vous proposons aujourd’hui d’effectuer un focus sur 2 outils cloud, complémentaires dans le microcosme des outils BI innovants : Tableau accompagné de Snowflake.
1. POURQUOI TABLEAU ?
La société Tableau a été fondée en 2003. Son but premier est d’améliorer le flux des analyses et de rendre les données plus accessibles grâce aux visualisations. Tableau crée ainsi une plateforme qui transforme la façon dont les données sont exploitées. Ils rendent l’analyse rapide, facile et intuitive.
Et ce, y-compris pour les utilisateurs n’ayant pas de connaissances techniques, en code ou en scripte.

La solution Tableau propose plusieurs modules en On-Premise et en SaaS mais permet également de traiter les données d’un bout à l’autre : de la préparation des données avec Tableau Prep à la restitution visuelle sur différents supports (Ordinateur, Tablette ou Smartphone) avec Tableau Desktop et Tableau Server.
Nous nous concentrerons ici sur Tableau Online (Saas) et Tableau Desktop.
Tableau Online est entièrement hébergé dans le Cloud, les infrastructures et les versions logicielles sont gérées par la société Tableau. Ceci permet de facilement accéder aux solutions Cloud comme Snowflake et de ne pas passer par le réseau local.
Le 2ème avantage est de s’affranchir de la maintenance (upgrade, exploitation et monitoring du serveur, gestion des ressources) afin de gagner du temps sur les activités à forte valeur ajoutée.
Tableau Desktop est l’outil de connexion aux données, d’analyse et de création de tableaux de bords. L’outil va permettre aux utilisateurs de répondre aux questions plus rapidement qu’avec des outils traditionnels via des actions « glissé-déposé ».
Tableau offre la possibilité de se connecter à de multiples sources de données (Fichiers plats, BigData, Bases de données…) qui peuvent être fusionnées en quelques clics. Il existe notamment un connecteur Snowflake natif.

Par ailleurs, “Montre Moi” est une fonctionnalité proposée par Tableau qui aide à l’élaboration de visualisations. Vous sélectionnez les dimensions ainsi que les mesures que vous souhaitez et Tableau propose les représentations possibles et adaptées à vos choix.

2. POURQUOI SNOWFLAKE ?
Nous avons décidé, pour notre cas d’usage, d’associer Tableau à Snowflake.
Snowflake est une société spécialisée dans le stockage de données dans le Cloud fondée en 2012. Son objectif est de proposer une plateforme de données entièrement gérée sur l’infrastructure d’un provider Cloud (Amazon Web Services, Microsoft Azure, Google Cloud Platform) et permettant de traiter tous les cas d’usages Data d’une entreprise. Elle est apparue sur le marché avec une plateforme native spécialement construite pour le Cloud et facilitant les échanges de données internes et externes, le tout avec quasiment aucun management.
En effet, la solution gère automatiquement la répartition des données, leur format de stockage, leur indexation, leur encryptage, les montées en charge avec l’affectation de ressources de calcul dynamiques.
Snowflake permet de traiter et de stocker d’importants volumes de données mais aussi d’exploiter un large panel de cas d’usages dans le domaine de la data (voir image ci dessous) :

Pour répondre à ces différents usages, l’architecture Snowflake se décompose en 4 couches :
- le ou les cloud provider
- le stockage
- le compute
- les services

Cette architecture permet de répondre à 3 enjeux majeurs qui sont :
- la centralisation de toutes les données avec une gouvernance unifiée pour tous les usages data grâce à la couche de stockage centralisée. Les silos de données qu’ils soient techniques ou organisationnels n’ont plus lieu d’être !
- la gestion des coûts : vous ne payez que ce que vous consommez avec la possibilité de déployer indépendamment autant de ressources de calcul et de stockage que vous avez besoin grâce à la couche de compute. En effet, les serveurs d’exécution sont indépendants du stockage et indépendants entre eux. Les saturations serveurs des débuts de mois ne sont plus qu’un lointain souvenir !
- Le partage de données avec des partenaires, des fournisseurs, des clients ou toute autre partie de votre écosystème : il est instantané et entièrement sécurisé grâce au Data Exchange / Data Sharing. Vous maitrisez les données transmises et pouvez révoquer l’accès à vos données à tout moment.
3. TABLEAU – SNOWFLAKE : UNE COMPLÉMENTARITÉ
Ces deux outils sont interconnectés par leur complémentarité technologique et aussi par la société Salesforce. En effet, en 2019, Salesforce a acquis Tableau pour compléter son offre de gestion de la relation client par un outil de visualisation de données. Dans un but de diversification, Salesforce a, par la suite, également investi dans Snowflake.
Pour illustrer les inter-connexions entre ces trois technologies, nous nous baserons sur un cas d’usage de tableau de bord en temps réel :
- Un système source (ici Salesforce) génère des données semi structurées
- Nous allons les ingérer dans la plateforme Snowflake en quasi temps réel via un ETL (type Talend, SSIS, Informatica…). Cette phase d’ingestion peut se faire avec n’importe quel outil d’ingestion de donnée selon l’outillage dont vous disposez déjà en interne (Change Data Capture, ETL, APIs, …)
- Le tableau de bord créé avec Tableau sera restitué directement dans Salesforce avec la fonctionnalité d’embedded.

Pour alimenter notre datamart et ainsi préparer notre source de données Tableau, nous allons utiliser les fonctionnalités ‘Tasks’ et les ‘Streams’ de Snowflake.
Un Stream est un nouveau type d’objet Snowflake qui fournit des fonctionnalités de capture de données modifiées pour suivre le delta des modifications dans une table. Les tâches dans Snowflake sont assez simples. Une tâche Snowflake lit les flux toutes les minutes pour mettre à jour la table qui est lue par un tableau de bord en temps réel. A chaque modification repérée par le stream, la tâche peut être paramétrée pour être exécutée. Cette dernière alimente ainsi notre table source.
Une fois l’alimentation sur Snowflake terminée, le développement des tableaux de bord Tableau peut démarrer. Au moment de la création de la datasource Tableau, deux choix sont possibles :
- Datasource en Extract
- Datasource en live
En d’autres termes, souhaitez-vous que votre analyse et vos visualisations soient basées sur les données les plus récentes disponibles ou souhaitez-vous utiliser un extrait qui fournit un instantané des résultats en fonction des critères que vous sélectionnez ?
Par défaut, lorsque vous vous connectez à des données dans Tableau, qu’il s’agisse d’un fichier stocké localement sur votre ordinateur ou dans une base de données cloud, une connexion de données en direct est créée, cela signifie que chaque modification que vous apportez dans Tableau Desktop entraîne la création d’une nouvelle requête envoyée à la source de données.
Lorsque vous permutez votre connexion de données de « Live » à « Extraire », un instantané statique des données est pris et stocké dans le classeur. Il devient alors disponible hors connexion. Cela signifie que toutes les requêtes envoyées à la source de données peuvent se produire beaucoup plus rapidement. Lorsque la datasource est en mode “Extract”, la navigation au sein du tableau de bord sera plus réactive, par contre les données ne sont plus en lien direct avec la base. Il faudra alors prévoir un rafraîchissement régulier de cet extrait.
Etant donné que nous voulons voir les données en temps réel dans Tableau, nous préférons choisir une datasource en direct plutôt qu’un extract. De cette manière, nous sommes sûrs d’avoir les données à jour, des coûts snowflake peuvent être engendrés par ce paramétrage. Toutefois Snowflake permet de maîtriser les coûts engendrés en adaptant la taille du warehouse et le nombre d’instances automatiquement (auto-scaling).
Les dashboards réalisés sont les suivants et seront intégrés dans Salesforce.


Nous avons choisi de mettre en avant la diversité des visualisations proposées par Tableau et notamment la cartographie puisque cette fonctionnalité n’est pas proposée par l’outil de reporting standard de Salesforce.
D’autre part, il est important de noter qu’en travaillant avec la combinaison Snowflake – Tableau, ce dernier met à disposition des dashboards de monitoring des comptes Snowflake.
En effet, la tarification Snowflake est basée sur la consommation et nécessite peu ou pas de dépenses initiales. De ce fait, avoir une vue détaillée des consommations quotidiennes et des comportements de dépense peut être un réel avantage pour votre entreprise.
Snowflake fournit un tableau de bord dans son interface web mais il reste relativement limité dans l’analyse des coûts. Snowflake inclut des alertes et des limitations flexibles grâce à l’utilisation de moniteurs de ressources, mais ceux-ci réduisent également ce qu’ils peuvent vous dire sur le comportement de dépenses de votre organisation.
Heureusement, ces données de coûts sous-jacentes sont disponibles dans Snowflake via le schéma “ACCOUNT_USAGE” et pour traiter ces éléments prioritaires, Tableau a conçu un certain nombre de tableaux de bord en partenariat avec Snowflake. Désormais, les services informatiques et les parties prenantes peuvent administrer leur instance Snowflake pour optimiser les investissements technologiques.
Ces tableaux de bord sont prêts à être utilisés, il suffit simplement de relier votre compte Snowflake à la
datasource Tableau. Ces derniers sont disponibles ici : https://www.tableau.com/snowflake-cloud-monitoring et en voici un aperçu :

En interrogeant ces vues depuis Tableau, vous pouvez également profiter de fonctionnalités supplémentaires.
Par exemple, certaines fournissent des informations jusqu’au niveau de l’utilisateur et les filtres basés sur les utilisateurs de Tableau garantissent alors que les responsables ne sont pas en mesure d’explorer d’autres équipes que la leur.
La mise en place d’alertes basées sur les données permet également une notification en temps réel dans le cas où les dépenses quotidiennes ou mensuelles dépassent un seuil donné.

Source : https://help.tableau.com/current/pro/desktop/fr-fr/data_alerts.htm
Ces dashboards proposés par Tableau peuvent aussi être ré-utilisés et modifiés. Nous pouvons vous accompagner dans la définition de tableaux de bord de suivi personnalisés en les épurant pour ne garder que les informations utiles dans votre contexte, en appliquant votre charte graphique ou encore en complétant la source Snowflake par d’autres données de monitoring transverse.
L’embedded, c’est-à-dire la capacité à être intégré à un autre outil du système informatique, est aussi une des forces de Tableau. Cette intégration est possible à deux niveaux différents, en fonction des usages et du niveau d’intégration qu’ils requièrent.
Le premier niveau consiste à encapsuler un Dashboard ou une visualisation Tableau de manière rapide grâce à un iframe (code HTML). On peut ainsi avoir accès à un composant Tableau, dans un outil métier par exemple, en conservant toute l’interactivité de Tableau.
Le second niveau quant à lui, qui demande plus de travail (développement Javascript), permet d’interagir avec des composants Tableau depuis des éléments graphiques de l’outil hôte (menus, boutons, listes de sélections, onglets, etc). On peut alors réaliser une intégration plus en profondeur, plus discrète et naturelle à utiliser.
Il existe bon nombre d’outils et d’exemples à disposition pour faciliter l’intégration de Tableau. C’est le cas pour Salesforce grâce à des composants Lightning (le framework de l’interface graphique de Salesforce) mis à disposition sur l’AppExchange, qui gèrent pour nous toute la partie technique de l’intégration. Il n’y a alors plus qu’à glisser-déposer ces composants sur une page Salesforce, et à les configurer en quelques clics. Voici deux captures d’écran d’une telle intégration :


Nous avons abordé les fonctionnalités des outils, Snowflake pour assimiler, stocker et traiter la donnée selon vos usages, et Tableau pour la restituer et l’analyser finement avec une diversité de visualisations et d’interactions (alertes, partages, commentaires, abonnements).
Il existe des dizaines d’outils BI sur le marché, nous avons choisi ici d’effectuer un focus sur des outils innovants et complémentaires (Monitoring des coûts, dashboards tableau embeded dans Salesforce, connexion native et en direct aux données).
Nous ne doutons pas des efforts de ces deux éditeurs à maintenir leur capacité à innover avec comme exemple Tableau sur la fonctionnalité Self-Service utilisateur/Data Self et Snowflake sur son intégration avec l’écosystème global Salesforce déjà bien avancé.
Snowflake et Tableau peuvent aider votre entreprise à collecter et analyser des données importantes pour vous sans compromis sur la performance, l’efficacité et le visuel.
N’hésitez pas, tentez l’expérience et contactez-nous pour lancer vos projets.

EN SAVOIR PLUS SUR LA BUSINESS INTELLIGENCE NEXT GENERATION AVEC KPC
A propos de nos partenaires :
- Tableau aide les entreprises et les utilisateurs à baser d’avantage leurs décisions sur les données. Tableau s’adapte à votre environnement tout en répondant aux exigences les plus strictes en matière de gouvernance et de sécurité https://www.tableau.com/fr-fr
- Snowflake vous permet d’unifier, intégrer, analyser et partager des données auparavant silotées de manière sécurisée, gouvernée et conforme. Obtenez tous ces avantages grâce à une expérience de données unique dans le cloud avec Snowflake : https://www.snowflake.com/