Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Base de Connaissance

Apprenez auprès des experts.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

ACE's Insight : Les outils en base de données

Ladarthure
14 - Magnetar
14 - Magnetar
Créé

ACE'sInsight FR-Community-BlogBanners2.png

 

ACE'S Insights : les outils en base de données, ou comment passer au niveau supérieur dans vos requêtes ?

 

Vous avez sûrement déjà du remarquer ces outils à la couleur bleu nuit, qui reprennent beaucoup de fonctions que l’on connaît, mais les avez-vous déjà utilisés ?

 

Ces outils appartiennent à la catégorie In Database ou En Base de Donnée, ils permettent d’effectuer des opérations dans les bases de données directement et de laisser Alteryx gérer la partie de code tout en gardant le côté visuel que l’on aime tant. Et là, se pose la question de l’intérêt d’utiliser ce type d’outils. Pour y répondre en une phrase, ils vont servir à éviter de télécharger localement l’ensemble des données que l’on peut utiliser mais en les ayant filtrées au niveau de la base de données.

 

Prenons un exemple concret pour illustrer ce propos. Je dispose d’une base de données qui a une cinquantaine de colonnes, qui a une profondeur d’historique de plusieurs années, et donc plusieurs dizaines de millions de lignes. La seule chose que je souhaite regarder c’est ce qui s’est produit l’année dernière.

 

Si je fais un workflow classique, je vais télécharger les données de l’ensemble de ma base puis mettre en place un filtre, pour certains, vous allez me dire que ce sera plus je mets le filtre dans mon code SQL ou dans l’interface de l’input tool.

En In-DB, on va pouvoir désélectionner simplement les colonnes qui ne nous intéressent pas, filtrer les données et ne télécharger que quelques milliers de lignes et seulement les colonnes dont on a besoin. Au niveau des performances, cela se ressent !

 

Comment les utiliser ?

Si vous savez coder en SQL, vous verrez cela va aller très vite, on retrouve l’ensemble des fonctions que l’on peut avoir l’habitude d’utiliser en codant soi-même sa requête. Pour les personnes qui n’ont jamais eu l’occasion de faire du SQL, vous allez retrouver la logique d’Alteryx à quelques détails près.

 

Avant de commencer à pouvoir les utiliser, il va falloir créer la connexion au niveau d’Alteryx. En deux mots, créez la connexion classique via les options, options avancées et Gérer les connexions. Renseignez ensuite les éléments demandés. Ceci fait, retournez dans les options, options avancées de nouveau et cette fois, gérez les connexions en base de donnée. Au moment de choisir le nom de la connexion, je vous conseille de valider un nom que vous et vos collègues utiliserez et qui sera le même (vos identifiants seront bien différents mais par contre le nom de connexion sera le même).

 

Une fois que cette étape est réalisée, il ne reste plus qu’à construire son premier workflow, pour commencer, nous pouvons positionner un Connect In-DB qui va permettre de se connecter à une table de notre environnement, on peut ensuite aller choisir la table que l’on veut analyser, une fois qu’elle est sélectionnée, on valide et on retourne sur le canvas.

 

On va ensuite pouvoir utiliser les outils In-DB pour aller effectuer différentes opérations, par exemple le select in-DB qui permet de sélectionner les champs, ou encore le summarize qui va permettre d’agréger et de créer des group by, ou aussi le filtrer pour ne prendre qu’une partie des données.

Avec tous ces éléments, on va pouvoir construire une requête outil par outil, joindre plusieurs tables pour enfin extraire les données.

 

Quelques éléments à avoir en tête quand on utilise des outils in-database :

Quand on utilise les outils in-database, on peut penser que les fonctionnalités sont plus réduites par rapport à ce que propose Alteryx. Ce n’est pas forcément le cas, il est en fait possible d’utiliser les fonctions natives de la base de données.

 

Par exemple, quand je veux filtrer sur une date, je vais très souvent utiliser des formules to_date afin de préciser quel est le format de date.

 

De la même façon, quand on utilise les outils in-database, je vous déconseille quelques éléments afin d’éviter tous risques inutiles :

  • Évitez d’utiliser des accents, surtout dans les noms de champs mais aussi de manière générale, cela peut causer des erreurs ;
  • Pour les noms de champs, évitez d’utiliser des espaces, préférer les « _ » qui rendront l’information aussi lisible mais seront plus simple à traiter ;
  • N’ajoutez pas de Browse partout, ou supprimez les une fois le développement terminé
    • Un browse in-db lance une requête, si vous en mettez 2, il lancera 2 requêtes, donc attention à cela !
  • Quand vous créez votre connexion, utilisez le même nom d’alias pour toute l’équipe (par connexion_db_postgre) en minuscule et avec des « _ » pour tout le monde, ceci vous permettra de gagner du temps facilement !

 

Que faire avec ces outils ?

En résumé, ces outils vont permettre de construire des requêtes sur différentes tables de manière simple en gardant la logique propre à Alteryx et gagner du temps en ne faisant l’extraction que des données dont on a besoin. Si je cherche à donner une image aux outils In-DB, je dirais que ceux sont pour le bucheron des tronçonneuses, cela va permettre de faire le gros œuvre avant de sortir des outils beaucoup plus fins pour les détails !

 

 

contributeurs
Étiquettes