Commande SPLITVALUES

Information de concept

Diviser des tables

Divise une table en deux tables ou plus selon les valeurs uniques d'un champ clé. Les tables de sortie utilisent la valeur unique comme nom de table, avec un préfixe optionnel au format texte.

Remarque

Le nombre maximal de valeurs de champs clés uniques pris en charge lors de la division d'une table est de 450.

Syntaxe

SPLITVALUES ON champ_clé <PREFIX texte_préfixe> {FIELDS nom_champ <AS nouveau_nom_champ> <...n>|FIELDS ALL} <nom_table_associée.ALL <...n>> <IF test> <TO nom_dossier> <WHILE test> <FIRST plage|NEXT plage>

Paramètres

Nom Description

ON champ_clé

Champ clé à utiliser pour diviser la table.

Le champ clé peut être de type caractère, numérique, DateHeure ou logique.

Pour utiliser plusieurs champs clés, créez un champ calculé qui concatène les champs clés, puis utilisez le champ calculé comme champ clé.

Remarque

Le champ clé est inclus automatiquement dans la table de sortie et ne doit pas être spécifié à l'aide de FIELDS.

PREFIX texte_préfixe

optionnel

Chaîne alphanumérique utilisée comme préfixe pour tous les noms de table de sortie.

Si vous ignorez PREFIX, les tables de sortie utilisent uniquement la valeur de champ clé unique comme nom de table.

Le préfixe du nom de table est limité à 32 caractères alphanumériques. Les noms de table complets sont limités à 64 caractères alphanumériques. Si la combinaison d'un préfixe de nom de table et d'une valeur de champ clé dépasse 64 caractères, le nom de table est tronqué en partant de la droite.

Le préfixe du nom de table peut inclure le trait de soulignement (_), mais aucun autre caractère spécial ni espace. Le préfixe ne peut pas commencer par un chiffre.

Astuce

Si vous utilisez un champ clé de type DateHeure ou numérique, utilisez un préfixe tel que D_ ou N_ afin de conserver le premier chiffre des valeurs clés dans les noms de table de sortie.

FIELDS nom_champ | FIELDS ALL

Les champs à inclure dans la sortie :

  • RECORD utilisez l'intégralité de l'enregistrement dans le fichier de données source : tous les champs de la table et toutes les parties indéfinies de l'enregistrement

    Les champs sont utilisés dans leur ordre d'apparition dans le format de table.

    Conserve les champs calculés.

  • FIELDS nom_champ utilisez les champs spécifiés

    Les champs sont utilisés dans l'ordre dans lequel vous les indiquez.

    Pour utiliser un champ d'une table associée, préciseznom_table_associée.nom_champ.

    Convertit les champs calculés en champs physiques du type de données approprié dans la table de destination : ASCII ou Unicode (selon l'édition d'Analytics), ACL (type de données numérique natif), DateHeure ou Logique. Remplit les champs physiques avec les valeurs calculées réelles.

  • FIELDS ALL utilisez tous les champs dans la table

    Les champs sont utilisés dans leur ordre d'apparition dans le format de table.

    Convertit les champs calculés en champs physiques du type de données approprié dans la table de destination : ASCII ou Unicode (selon l'édition d'Analytics), ACL (type de données numérique natif), DateHeure ou Logique. Remplit les champs physiques avec les valeurs calculées réelles.

AS nouveau_nom_champ

optionnel

Valide uniquement en cas d'utilisation de FIELDS nom_champ.

Nouveau nom physique et nom d'affichage (autre titre de la colonne) pour le champ dans la table de sortie.

Les caractères spéciaux ou les espaces que vous indiquez sont conservés dans le nom d'affichage et automatiquement convertis en traits de soulignement (_) dans le nom de champ physique dans le format de table.

Indiquez nouveau_nom_champ sous forme de chaîne entre guillemets. Utilisez un point-virgule (;) entre les mots si vous souhaitez insérer un saut de ligne dans le nom d'affichage.

nom_table_associée.ALL

optionnel

Utilisez tous les champs dans la table associée spécifiée.

IF test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée uniquement sur les enregistrements remplissant la condition.

Remarque

La condition IF est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (WHILE, FIRST, NEXT).

TO nom_dossier

optionnel

Dossier de destination pour les tables de sortie.

Si vous omettez TO, les tables sont enregistrées dans le dossier contenant le projet Analytics.

WHILE test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte.

Remarque

Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte.

FIRST plage | NEXT plage

optionnel

Le nombre d'enregistrements à traiter :

  • FIRST pour commencer le traitement à partir du premier enregistrement jusqu'à ce que le nombre d'enregistrements spécifié soit atteint
  • NEXT pour commencer le traitement à partir de l'enregistrement actuellement sélectionné jusqu'à ce que le nombre d'enregistrements spécifié soit atteint

Utilisez plage pour indiquer le nombre d'enregistrements à traiter.

Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut.

Exemples

Diviser une table en fonction d'un champ clé unique

Vous générez plusieurs tables de sortie en fonction de valeurs uniques dans le champ Nom_Fournisseur de la table Trans_Cf :

OPEN Trans_Cf
SPLITVALUES ON Nom_Fournisseur PREFIX Fournisseur_ FIELDS Num_Fournisseur Ville_Fournisseur Num_Facture Date_Facture Montant_Facture NumProd Quantité Coût_unitaire TO "Tables_fournisseur"

Chaque table de sortie contient tous les enregistrements qui ont la même valeur clé unique. Les tables sont nommées Fournisseur_nom_fournisseur. Par exemple, une table nommée Fournisseur_Koro_International contient tous les enregistrements dans lesquels Koro International est la valeur Nom_Fournisseur.

Les tables sont enregistrées dans le dossier Tables_fournisseur du répertoire de travail Analytics.Analytics

Diviser une table en fonction de plusieurs champs clés

Vous générez plusieurs tables de sortie en fonction de combinaisons uniques de valeurs dans les champs Nom_Fournisseur et Date_Facture de la table Trans_Cf.

La fonction ALLTRIM( ) supprime les espaces de début et de fin inutiles des valeurs de nom de fournisseur. Si vous ne supprimez pas les espaces, elles sont converties en caractères de soulignement (_), ce qui limite l'espace disponible dans les noms de table de sortie.

La fonction DATE( ) convertit le champ Date_Facture en type de données caractère, qui est nécessaire pour la concaténation.

OPEN Trans_Cf
SPLITVALUES ON ALLTRIM(Nom_Fournisseur)+"_"+DATE(Date_Facture; "MM/JJ/AA") FIELDS Num_Fournisseur Nom_Fournisseur Num_Facture Date_Facture Montant_Facture NumProd Quantité Coût_unitaire TO "Tables_Date_fournisseur"

Chaque table de sortie contient tous les enregistrements qui ont la même combinaison unique de valeurs clés. Les tables sont nommées nom_fournisseur_date_facture. Par exemple, une table nommée Koro_International_06_15_23 contient tous les enregistrements dans lesquels Koro International est la valeur Nom_Fournisseur et 06_15_23 est la valeur Date_Facture.

Les tables sont enregistrées dans le dossier Tables_Fournisseur_Date du répertoire de travail Analytics.Analytics