Dans le projet de gestion d’un plan de formation, et afin d’assurer un minimum cohérence dans les données, je dois extraire les informations utilisateurs d’un datalake et les mettre à disposition dans un Google Sheet.

Extraction des données Utilisateurs

SELECT
Matricule,
Nom_usuel,
Prenom_usuel,
CASE Sexe When ‘M’ THEN ‘HOMME’ When ‘F’ THEN ‘FEMME’ ELSE ‘NC’ END as Sexe,
Type_de_contrat_Libelle,
PARSE_DATE(‘%b %d %Y’,SUBSTR(date_naissance,4,12)) as Date_naissance,
Categorie_conventionnelle_Libelle,
Societe_Libelle
FROM Table_Employés
where Societe_Libelle like CONCAT(‘%’,@SOCIETE_LIB,’%’) order by Matricule

Cette requête me permet d’extraire :
Le Matricule, Le Nom, Le Prénom, Le sexe, avec une modification suivant la valeur trouvée, Le Type de contrat,
La date de naissance : il y a un changement de format de date. En effet, on passe d’un format de type : Mon Feb 17 1958 00:00:00 GMT+0100 (CET) au format : 17/02/1958,
La catégorie_conventionnelle, Le Libelle de la société.

Les limites du DATALAKE

Suite à la première extraction, je suis confronté à la limite du Datalake, c’est à dire 10000 Lignes. Afin de contourner ce problème, j’ai l’idée d’utiliser une variable au sein de ma requête. Je veux que cette variable contienne le libellé de la société afin de filtrer le nombre de lignes.

Création d’une liste déroulante

Le Datalake contient une table avec le libelle de la société par employé. J’ai écris une requête permettant d’avoir une liste unique de l’ensemble des libelles grâce à la commande Distinct

SELECT DISTINCT Societe_Libelle FROM Table_employés
order by Societe_Libelle.

Ensuite, je mets l’extraction à disposition dans un onglet du Google Sheet. Il suffit ensuite de mettre une validation de données sur cette extraction.

Utilisation de la liste déroulante

Afin d’utiliser la liste déroulante, il faut modifier la requête en indiquant le nom de la variable (SOCIETE-LIB) et l’emplacement de la cellule contenant l’information a rechercher.

Pour aller plus loin


2 Commentaires

  1. Merci pour le partage. L’idée de l’utilisation d’une variable depuis un GSheet pour contrôler le select sur le datalake est extrêmement puissante et ouvre la voie de nouvelles possibilités. Elle évite aussi le hard-coding dans certains cas.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here