Aller au contenu

Écrit une table de projet PlaidCloud dans un compte de documents sous forme de fichier CSV (valeurs séparées par des virgules). C’est le format d’exportation le plus courant, pris en charge par pratiquement tous les systèmes en aval, outils de tableur et plateformes de BI.

Configurable : délimiteur (virgule, tabulation, barre verticale, personnalisé), mise entre guillemets, ligne d’en-tête et encodage.

Sélecteur de fichier d’export

Sélecteur de fichier d’export

Le sélecteur de fichier de cette transformation vous permet de choisir une destination pour stocker le résultat exporté dans un document PlaidCloud.

Vous choisissez un répertoire et indiquez un nom de fichier pour le fichier cible.

Table source

Option dynamique

L’option dynamique permet de spécifier une table à l’aide de texte, y compris des variables. C’est utile dans les workflows pilotés par des variables, où les références de tables et de vues sont relatives aux variables spécifiées.

Exemple qui utilise la variable current_month pour pointer dynamiquement vers la table source :

legal_entity/inputs/{current_month}/ledger_values

Option statique

Lorsque vous souhaitez une table précise comme source de l’export, laissez la case Dynamique décochée et sélectionnez la table source.

L’Explorateur de tables est toujours disponible pour toute sélection de table. Cliquez sur le bouton Explorateur de tables à droite de la sélection de table : une fenêtre Explorateur de tables s’ouvre.

Sélection d’un compte de documents

Choisissez un compte de documents PlaidCloud auquel vous avez accès. Cela vous permet de sélectionner un répertoire dans la sélection suivante.

Dans un projet, la liste propose aussi Projet par défaut tout en haut : il représente le compte actuellement défini comme compte par défaut du projet. Une nouvelle étape présélectionne Projet par défaut lorsque le projet en a un ; une étape existante conserve le compte avec lequel elle a été enregistrée jusqu’à ce que vous le changiez. Une étape laissée sur Projet par défaut s’exécute avec le compte qui est le compte par défaut du projet au moment de l’exécution ; si aucun n’est défini, l’exécution échoue et nomme le projet au lieu de se rabattre sur un autre compte.

Chemin du répertoire cible

Sélectionnez l’icône Parcourir à droite du Chemin du répertoire cible et accédez à l’emplacement où vous souhaitez enregistrer le fichier.

Nom du fichier cible

Indiquez le nom sous lequel le fichier exporté doit être enregistré.

Tous les fichiers exportés sont non compressés, mais les options de compression suivantes sont disponibles :

  • Aucune compression
  • Zip
  • GZip
  • BZip2

Format des données de l’exportation CSV

La transformation Exporter en CSV sert à exporter des tables de données vers des fichiers texte délimités enregistrés dans PlaidCloud Document. Cela inclut, sans s’y limiter, les types de délimiteurs suivants :

  • Excel CSV (séparé par des virgules)

  • Excel TSV (séparé par des tabulations)

  • Séparateur défini par l’utilisateur –>

    • virgule (,)
    • barre verticale (|)
    • point-virgule (;)
    • tabulation
    • espace ( )
    • autre/personnalisé (tilde, tiret, etc.)

Pour indiquer un délimiteur personnalisé, sélectionnez Séparateur défini par l’utilisateur –> puis Autre –>, et saisissez le délimiteur personnalisé dans la zone de texte.

La section Caractères spéciaux permet d’indiquer comment traiter les données contenant des guillemets et des caractères d’échappement. Choisissez parmi les paramètres suivants :

  • Caractères spéciaux (QUOTE_MINIMAL) : met entre guillemets les champs contenant des caractères spéciaux (tout ce qui pourrait perturber un analyseur configuré avec le même dialecte et les mêmes options). C’est le paramètre par défaut.
  • Tous (QUOTE_ALL) : met tout entre guillemets, quel que soit le type.
  • Non numérique (QUOTE_NONNUMERIC) : met entre guillemets tous les champs qui ne sont pas des entiers ou des flottants. Avec le lecteur, les champs d’entrée non entre guillemets sont convertis en flottants.
  • Aucun (QUOTE_NONE) : ne met rien entre guillemets en sortie. Les caractères de citation sont inclus en sortie avec le caractère d’échappement fourni par l’utilisateur. Notez qu’un seul caractère d’échappement peut être fourni.

Par défaut, un guillemet à l’intérieur d’un champ entre guillemets est écrit doublé (""). Activez escape_quotes pour l’écrire avec le caractère d’échappement à la place, comme le fait Spark : avec \ comme caractère d’échappement, le champ say "hi" est écrit "say \"hi\"". Ce paramètre est désactivé par défaut ; les exportations existantes restent donc inchangées.

Par défaut, une valeur qui contient un caractère de citation est mise entre guillemets pour cette seule raison. Décochez Mettre entre guillemets les valeurs contenant le caractère de citation pour écrire une telle valeur sans guillemets l’entourant, comme le fait Spark avec escapeQuotes désactivé ; une valeur qui contient le délimiteur ou un saut de ligne reste entre guillemets. La case est cochée par défaut. Une fois décochée, le fichier est écrit par PlaidCloud plutôt que par l’entrepôt.

Laissez le Caractère de citation vide pour écrire chaque valeur exactement telle quelle : rien n’est mis entre guillemets et rien n’est échappé. Une valeur qui contient le délimiteur ou un saut de ligne est alors relue comme plusieurs champs ; choisissez donc un délimiteur que vos données ne contiennent pas.

Si cette case est cochée, les en-têtes de la table sont exportés dans la première ligne. Sinon, le fichier exporté n’aura pas d’en-têtes.

Si cette case est cochée, les en-têtes du fichier exporté contiendront le type de données de la colonne.

Enfin, la case Use Windows Compatible Line Endings est cochée par défaut pour garantir la compatibilité avec les systèmes Windows. Il est conseillé de laisser ce paramètre activé, sauf si vous travaillez dans un environnement exclusivement Unix.

Dans Autres options CSV, Un fichier qui existe déjà (if_exists) détermine ce qui se passe lorsque le fichier est déjà présent : replace (valeur par défaut) écrit un nouveau fichier, append ajoute les lignes à la fin du fichier existant sans ligne d’en-tête, et fail arrête l’étape sans rien écrire. Un ajout télécharge le fichier, y ajoute les lignes et le téléverse de nouveau ; lorsque deux exécutions ajoutent au même fichier en même temps, la dernière à se terminer l’emporte. Avec append, sélectionnez Réécrire l’en-tête sous les lignes déjà présentes (header_on_append) pour écrire de nouveau la ligne d’en-tête sous les lignes déjà présentes.

Autres options CSV contient également ces champs :

  • Trier les lignes par (sort_columns) — ordonne les lignes écrites selon ces colonnes source, la première clé en premier, chacune avec un paramètre Colonne, Croissant et Valeurs nulles. Une colonne de clé n’a pas besoin d’être écrite. Valeurs nulles vaut par défaut « en premier » en ordre croissant et « en dernier » en ordre décroissant. Non utilisé avec Résumer ou Distinct.
  • Fin de ligne (line_ending) — la fin de chaque ligne, \n, \r\n ou \r, à la place de Use Windows Compatible Line Endings.
  • Mettre entre guillemets (quote_mode) — les valeurs mises entre guillemets : Jamais, Toujours, Toutes les valeurs sauf les nombres et booléens ou Une valeur contenant le délimiteur. Par défaut, une valeur est mise entre guillemets lorsque c’est nécessaire.
  • Guillemet fermant (quote_end) — le guillemet fermant, lorsqu’il diffère du guillemet ouvrant.
  • Guillemet fermant dans une valeur (quote_replacement) — écrit à la place d’un guillemet fermant à l’intérieur d’une valeur entre guillemets. Si le champ est vide, le guillemet est doublé.
  • Délimiteur dans une valeur (delimiter_replacement) — lorsque Mettre entre guillemets est défini sur Jamais, écrit à la place du délimiteur à l’intérieur d’une valeur.
  • Commencer le fichier par une marque d’ordre des octets (write_bom) — commence le fichier par une marque d’ordre des octets.
  • Séparateur décimal (decimal_separator) — le caractère écrit pour la virgule décimale d’un nombre.
  • Lignes avant l’en-tête (comment_lines) — un tableau JSON de lignes écrites telles quelles avant l’en-tête.
  • Écrire les nombres décimaux comme Java (scientific_numbers) — écrit un nombre décimal en notation scientifique à partir de 10 millions et en dessous de 0,001, comme 1.0E10.
  • Écrire chaque nom de fichier tel quel, sans ajouter .csv ou .tsv (keep_file_extension) — écrit chaque nom de fichier exactement tel qu’il est donné.
  • Avec gzip, enregistrer le fichier sous le nom donné, sans ajouter .gz (exact_file_name) — avec la compression gzip, enregistre le fichier sous le nom donné.

Configuration du Data Mapper

Table Data Mapper

Le Data Mapper sert à mapper les colonnes des données source vers la table de données cible.

Inspection et remplissage du mappeur

Le bouton de menu Inspecter la source offre d’autres façons de mapper les colonnes de la source vers la cible :

  • Renseigner les deux tables de mappage : propage toutes les valeurs de la table de données source vers la table de données cible. C’est le comportement par défaut.
  • Renseigner uniquement la table de mappage source : mappe uniquement toutes les valeurs de la table de données source. C’est utile pour modifier un workflow existant lorsque la structure des colonnes source a changé.
  • Renseigner uniquement la table de mappage cible : propage toutes les valeurs vers la table de données cible uniquement.

Si les options de colonnes source et cible ne suffisent pas, vous pouvez ajouter d’autres colonnes à la table de données cible de plusieurs façons :

  • Tout propager insère toutes les colonnes source dans la table de données cible, qu’elles existent déjà ou non.
  • Propager la sélection insère uniquement la ou les colonnes source sélectionnées.
  • Faites un clic droit côté cible et sélectionnez Insérer une ligne pour insérer une ligne juste au-dessus de la ligne actuellement sélectionnée.
  • Faites un clic droit côté cible et sélectionnez Ajouter une ligne pour insérer une ligne en bas (à l’extrême droite) de la table de données cible.

Suppression de colonnes

Pour supprimer des colonnes de la table de données cible, sélectionnez la ou les colonnes voulues, puis faites un clic droit et sélectionnez Supprimer.

Colonnes source qui ne sont plus listées

Une ligne cible peut nommer une Colonne source que la table de données source ne liste plus, par exemple après une nouvelle inspection de la source. L’étape ne supprime jamais une telle ligne à votre place. À la place, le nom de la colonne s’affiche en rouge derrière un signe d’avertissement ⚠, et le survol indique que la colonne ne figure pas dans les colonnes source. Dans une étape à plusieurs tables, comme une union, chaque table est vérifiée par rapport à ses propres colonnes source.

Une ligne avec une Constante, une Expression ou un résumé Nombre (valeurs nulles incluses) n’est jamais signalée, car l’étape ne lit pas sa colonne source. Rien n’est signalé tant que la table de données source ne liste aucune colonne, par exemple avant la première inspection de la source.

Lorsque vous enregistrez une étape qui contient encore des lignes signalées, une boîte de dialogue Colonnes obsolètes détectées les liste sous l’onglet ou la table concernés, et propose trois choix :

  • Tout supprimer et enregistrer : supprime les lignes signalées, puis enregistre.
  • Enregistrer quand même : enregistre l’étape telle quelle.
  • Annuler : retourne à l’étape sans enregistrer.

Pour conserver une ligne et faire disparaître son avertissement, rajoutez la colonne à la table de données source, ou choisissez une colonne que la table de données source liste.

Type de données d’une colonne

Chaque colonne cible possède un Type. Une colonne propagée depuis la source conserve le type de la colonne source ; une ligne que vous ajoutez à la main est de type Texte au départ, et vous définissez le Type pour indiquer ce qu’elle doit réellement être : une colonne que vous comptez additionner ou trier a besoin de son type numérique ou date, car le texte se trie et s’additionne comme du texte.

Une étape enregistrée avec une colonne sans aucun type s’exécute malgré tout. Le type est déterminé au démarrage de l’étape, à partir de la colonne source que cette colonne lit. Lorsqu’il n’y a rien à partir duquel le déduire, il est traité comme du texte : les colonnes d’une étape Extraire SQL proviennent de la requête que vous avez écrite et non d’une source mappée, et lorsque plusieurs sources portent le même nom de colonne avec des types qui divergent, le texte est utilisé plutôt que d’en deviner un : une mauvaise supposition produit une conversion que l’entrepôt peut rejeter, alors que tout se convertit en texte.

Définir vous-même le Type reste la façon d’indiquer ce qu’une colonne doit être. Le laisser vide revient à accepter ce que la colonne source se trouve être.

Modification de l’ordre des colonnes

Pour réorganiser les colonnes de la table de données cible, sélectionnez la ou les colonnes voulues. Vous pouvez utiliser l’une ou l’autre des méthodes suivantes :

  • Flèches de déplacement groupé : sélectionnez l’option de déplacement voulue avec les flèches en haut à droite.
  • Menu contextuel : faites un clic droit et sélectionnez Déplacer en haut, Monter, Descendre ou Déplacer en bas.

Réduire le résultat aux seuls enregistrements distincts

Pour ne renvoyer que des valeurs distinctes, sélectionnez l’option de menu Distinct. Un ensemble de cases à cocher s’affiche pour chaque colonne de la source. Il suffit de cocher la case en regard d’une colonne pour ne renvoyer que des résultats distincts.

Selon la situation, vous pouvez envisager d’utiliser plutôt la synthèse.

Le processus de distinction conserve le premier enregistrement unique trouvé et écarte les autres. Vous pouvez appliquer un tri aux données s’il est important d’obtenir des résultats cohérents d’une exécution à l’autre.

Agrégation et regroupement

Pour agréger les résultats, sélectionnez l’option de menu Résumer. Un ensemble de listes de sélection s’affiche pour chaque colonne de la table de données cible. Choisissez une méthode de synthèse adaptée à chaque colonne.

Lorsque Inspecter la source remplit les colonnes, une colonne numérique commence à Regrouper par plutôt qu’à Somme si son nom ressemble à un identifiant, comme id, customer_id, Order No ou CustomerKey, si sa table la définit comme une clé, ou si la jointure l’utilise comme clé.

  • Regrouper par
  • Somme
  • Min
  • Max
  • Premier
  • Dernier
  • Nombre
  • Nombre (valeurs nulles incluses)
  • Moyenne
  • Écart type
  • Écart type d’échantillon
  • Écart type de population
  • Variance
  • Variance d’échantillon
  • Variance de population
  • Avancé hors regroupement

Pour une utilisation avancée du Data Mapper, comme les expressions, le nettoyage et les constantes, consultez Utilisation avancée du Data Mapper.

Filtres de données de la table

Pour offrir un maximum de souplesse, des filtres de données sont disponibles sur les données source et sur les données cible. Pour les jeux de données volumineux, il peut être particulièrement avantageux de filtrer les lignes dès la source afin que les opérations suivantes portent sur un jeu de données plus petit.

Sélectionner un sous-ensemble de données

Ce type de filtre permet de filtrer les données source entrantes selon les conditions spécifiées.

Appliquer un filtre secondaire aux données de résultat

Ce type de filtre permet d’appliquer un filtre aux données de résultat après transformation, selon les conditions spécifiées. La possibilité d’appliquer un filtre au résultat transformé permet d’exclure des lignes en fonction du résultat de calculs complexes, de synthèses ou de fonctions de fenêtrage.

Découpage final de la table de données (limite)

Le découpage des lignes permet de limiter les lignes du jeu de résultats selon une plage et un point de départ.

Syntaxe des filtres

La syntaxe des filtres utilise Python SQLAlchemy, qui est la même syntaxe que celle des autres expressions.

Consultez des exemples et des fonctions d’expression dans la section Expressions.

Aucun exemple pour le moment…