Pour en savoir plus sur les filtres en général, consulter l'article Comprendre les filtres.
Utilisez ce filtre chaque fois que le déclencheur reçoit des données non structurées, telles que des documents et rapports exportés d'anciens systèmes, de communication interceptée entre deux périphériques et d'une capture d'un flux d'impression. Le filtre vous permet d'extraire les champs individuels, les champs répétables dans les sous-zones, et même les paires nom-valeur
.
Pour des exemples de données de texte structuré, voir les articles Données existantes, CSV composé et Fichiers binaires.
Définition de la structure
Éléments à utiliser pour configurer le filtre :
-
Champ : Spécifie l'emplacement des données de champ entre le début et la fin du champ. Il y a différentes options pour définir l'emplacement du champ, du codage en dur au placement relatif. Il faut relier les champs définis aux variables respectives dans l'action Utiliser le Filtre de Données. Pour plus d'informations, voir la section Définition des champs.
-
Sous-zone : Spécifie l'emplacement des données répétables. Chaque sous-zone définit au moins un bloc de données, qui à son tour contiendra des données pour les étiquettes. Il peut y avoir des sous-zones définies dans les sous-zones, permettant la définition de structures complexes. Des champs peuvent être définis dans chaque bloc de données. Il faut relier les champs définis aux variables respectives dans l'action. Pour chaque sous-zone, Automation définit un nouveau niveau d'espace réservé dans l'action Utiliser le Filtre de Données, permettant de mapper les variables aux champs de ce niveau. Pour plus d'informations, voir la section Définition des sous-zones.
-
Zone d'affectation : Spécifie l'emplacement des données répétables contenant les paires
nom-valeur
. Automation lit les noms des champs et leurs valeurs simultanément. Automation effectue aussi automatiquement le mappage aux variables. Utiliser cette méthode pour adapter le filtre aux données d'entrée variables pour éliminer le temps de maintenance. Vous pouvez définir la zone d'affectation au niveau racine du document ou dans la sous-zone. Pour plus d'informations, voir la section Définition des zones d'affectation.
La section Aperçu de données simplifie la configuration. Le résultat des filtres définis est mis en évidence dans la zone d'aperçu à chaque changement de configuration. Vous pouvez visualiser les données extraites pour chaque règle.
Ce champ peut être défini au niveau racine comme champ du document. Les champs peuvent être définis dans un bloc de données. Les paires nom-valeur
peuvent être définies dans la zone d'affectation.
Général
Cette section définit les propriétés générales du filtre de données non structurées.
-
Nom : Spécifie le nom du filtre. Utiliser un nom descriptif qui identifie le rôle d'un filtre dans une configuration. Il est modifiable à tout moment.
-
Description : Vous permet de décrire l'objectif de ce filtre. Vous pouvez l'utiliser pour écrire une courte description de la fonction du filtre.
-
Encodage : Spécifie l'encodage des données avec lesquelles ce filtre travaille.
-
Ignorer les lignes vides dans les blocs de données : Spécifie de ne pas signaler d'erreur si le filtre extrait des valeurs de champs vides des blocs de données.
Après avoir défini un champ, il faut définir son nom et ses règles d'extraction des valeurs du champ des données. Quand le filtre est exécuté, les règles d'extraction s'appliquent aux données d'entrée et les résultats assignés aux champs.
Propriétés des champs
-
Nom : Spécifie le nom de champ unique.
-
Le champ contient des données binaires : Spécifie que le champ a des données binaires. N'activer cette option que si les données attendues sont binaires.
Début de champ
-
Position dans le document : La position codée en dur dans les données détermine le point de début/fin. L'origine des coordonnées est le coin en haut à gauche. Le caractère dans la position déterminée est inclus dans les données extraites.
-
Fin du document : Le point de début/fin est à la fin du document. Vous pouvez aussi définir un décalage depuis la fin pour un nombre de lignes et/ou de caractères.
-
Rechercher une chaîne à partir du début du document : La position de la chaîne de caractères recherchée définit le point de début/fin. Quand Automation a trouvé la chaîne de caractères requise, le caractère suivant détermine le point de début/fin. La chaîne de caractères recherchée n'est pas incluse dans les données extraites. La recherche par défaut est sensible à la casse.
-
Commencer la recherche à partir de la position absolue : Affiner la recherche en changeant la position de départ du début de donnée (position 1,1) avec un décalage. Utiliser cette fonctionnalité pour sauter la recherche au début des données.
-
Occurrence : Spécifie l'occurrence de la chaîne de caractères à retrouver. Utiliser cette option si après avoir trouvé la première chaîne, il ne faut pas attendre de déterminer la position début/fin.
-
Décalage à partir de la chaîne : Spécifie le décalage positif ou négatif après la chaîne de caractères recherchée.
Exemple 6. Exemple
Vous pouvez définir le décalage pour inclure la chaîne recherchée dans les données extraites.
-
Fin de champ
-
Position dans le document : La position codée en dur dans les données détermine le point de début/fin. L'origine des coordonnées est le coin en haut à gauche. Le caractère dans la position déterminée est inclus dans les données extraites.
-
Fin du document : Le point de début/fin est à la fin du document. Vous pouvez aussi définir un décalage depuis la fin pour un nombre de lignes et/ou de caractères.
-
Rechercher une chaîne à partir du début du document : La position de la chaîne de caractères recherchée définit le point de début/fin. Quand Automation a trouvé la chaîne de caractères requise, le caractère suivant détermine le point de début/fin. La chaîne de caractères recherchée n'est pas incluse dans les données extraites. La recherche par défaut est sensible à la casse.
-
Commencer la recherche à partir de la position absolue : Affiner la recherche en changeant la position de départ du début de donnée (position 1,1) avec un décalage. Utiliser cette fonctionnalité pour sauter la recherche au début des données.
-
Occurrence : Spécifie l'occurrence de la chaîne de caractères à retrouver. Utiliser cette option si après avoir trouvé la première chaîne, il ne faut pas attendre de déterminer la position début/fin.
-
Décalage à partir de la chaîne : Spécifie le décalage positif ou négatif après la chaîne de caractères recherchée.
Exemple 7. Exemple
Vous pouvez définir le décalage pour inclure la chaîne recherchée dans les données extraites.
-
-
Trouver la chaîne après le début du champ : Le point de début/fin est défini par le point de départ de la recherche de chaîne de caractères comme dans l'option Rechercher une chaîne à partir du début du document, mais la recherche commence après la position du champ/zone, pas au début des données.
-
Longueur : Spécifie la longueur des données en lignes ou en caractères. Le nombre de lignes et/ou de caractères spécifié sera extrait depuis la position de départ.
-
Fin de la ligne : Spécifie d'extraire les données du point de départ jusqu'à la fin de la même ligne. Le décalage peut être négatif depuis la fin de la ligne.
Options de formatage
Cette section définit les fonctions de manipulation de chaînes de caractères qui seront appliquées aux variables ou champs sélectionnés. Sélectionner une ou plusieurs fonctions. Ces fonctions s'appliquent dans l'ordre sélectionné dans l'interface utilisateur, de haut en bas.
-
Supprimer les espaces au début : Enlève tous les caractères d'espacement (code décimal ASCII 32) du début de la chaîne de caractères.
-
Supprimer les espaces à la fin : Enlève tous les caractères d'espacement (code décimal ASCII 32) à la fin de la chaîne de caractères.
-
Effacer le caractère d'ouverture et de fermeture : Efface la première occurrence du caractère d'ouverture et de fermeture trouvé dans la chaîne de caractères.
Exemple 8. Exemple
Si vous utilisez "{" comme caractère d'ouverture et "}" comme caractère de fermeture, la chaîne d'entrée
{{selection}}
est convertie en{selection}
.
-
Rechercher et remplacer : Exécute une recherche classique et remplace la fonction selon la valeur fournie pour rechercher et remplacer par. Vous pouvez aussi utiliser des expressions classiques.
Note
Il y a plusieurs implémentations des expressions classiques utilisées. utilise la syntaxe .NET Framework pour les expressions classiques. Pour plus d'informations, consulter la Base de Connaissances article.
-
Remplacer les caractères non imprimables avec des espaces : Remplace tous les caractères de contrôle de la chaîne par un espace (code décimal ASCII 32). Les caractères non imprimables sont des caractères ayant une valeur ASCII décimale comprise entre 0-31 et 127-159.
-
Supprimer les caractères non imprimables : Enlève tous les caractères de contrôle de la chaîne. Les caractères non imprimables sont des caractères ayant une valeur ASCII décimale comprise entre 0-31 et 127-159.
-
Décoder les caractères spéciaux : Décode les caractères (ou codes de contrôle) qui sont indisponibles sur le clavier, comme le retour chariot ou le passage à la ligne. utilise une notation pour encoder de tels caractères sous forme lisible, tels que <CR> pour Retour Chariot et <LF> pour Passage à la Ligne. Pour plus d'informations, consulter la section Introduire des caractères spéciaux (Codes de Contrôle).
Cette option convertit les caractères spéciaux de la syntaxe en caractères binaires réels.
Exemple 9. Exemple
Quand vous recevez la séquence de données "<CR><LF>", les utilise comme une chaîne complète de 8 caractères. Activer cette nouvelle option pour interpréter et utiliser les données comme deux caractères binaires
CR
(Retour Chariot - code ASCII 13) etLF
(Passage à la Ligne - code ASCII 10).
-
Rechercher et supprimer tout avant : Trouve la chaîne de caractères fournie et efface tous les caractères du début des données jusqu'à la chaîne de caractères. La chaîne de caractères trouvée peut aussi être effacée.
-
Rechercher et supprimer tout après : Trouve la chaîne de caractères fournie et efface tous les caractères depuis la chaîne de caractères jusqu'à la fin des données. La chaîne de caractères trouvée peut aussi être effacée.
-
Changement de casse : Modifie tous les caractères dans vos chaînes en lettres capitales ou minuscules.
Une sous-zone est la section de données dans laquelle plusieurs blocs de données sont identifiés par la même règle d'extraction. Chaque bloc de données fournit les données pour une seule étiquette.
Tous les blocs de données doivent être identifiés par la même règle de configuration. Chaque bloc de données peut contenir une autre sous-zone. Un nombre illimité de sous-zones indentées dans les sous-zones apparentées peut être déterminé.
Quand le filtre contient la définition d'une sous-zone, l'action Utiliser le Filtre de Données affiche les sous-zones avec les emplacements indentés. Toute action indentée sous une telle sous-zone s'exécute seulement pour les blocs de données de ce niveau. Différentes étiquettes vont s'imprimer avec les données de différentes sous-zones.
Configuration des sous-zones
La sous-zone est configurée comme les champs individuels. Chaque sous-zone est définie par les paramètres suivants.
-
Nom de la sous-zone : Spécifie le nom de la sous-zone.
-
Blocs de données : Spécifie la façon d'identifier les blocs de données dans la sous-zone. Chaque sous-zone contient au moins un bloc de données. Chaque bloc de données fournit les données pour une seule étiquette.
-
Chaque bloc contient un nombre fixe de lignes : Spécifie que chaque bloc de données dans une sous-zone contient un nombre fixe de lignes. Utiliser cette option quand chaque bloc de données contient exactement le même nombre de lignes.
-
Les blocs commencent par une chaîne : Spécifie que les blocs de données commencent par la chaîne de caractères fournie. Tout le contenu entre deux chaînes fournies appartient à un bloc de données distinct. Le contenu entre la dernière chaîne de caractères et la fin des données identifie le dernier bloc de données.
-
Les blocs se terminent par une chaîne : Spécifie que les blocs de données se terminent par la chaîne de caractères fournie. Tout le contenu entre deux chaînes fournies appartient à un bloc de données distinct. Le contenu entre le début des données et la première chaîne de caractères identifie le premier bloc de données.
-
Les blocs sont séparés par une chaîne : Spécifie que les blocs de données sont séparés par la chaîne de caractères sélectionnée. Tout le contenu entre les deux chaînes de caractères sélectionnées appartient à un bloc de données distinct.
-
-
Début du premier bloc de données : Spécifie le point de départ du premier bloc de données. Simultanément, définit le point de départ de la sous-zone. Généralement, le point de départ est le début des données reçues. Les paramètres de configuration sont les mêmes que pour la définition des champs. Pour plus d'informations, voir la section Définition des champs.
-
Fin du dernier bloc de données : Spécifie la position de fin du dernier bloc de données. Simultanément, définit la position de fin de la sous-zone. Généralement, la position de fin est la fin des données reçues. Les paramètres de configuration sont les mêmes que pour la définition des champs. Pour plus d'informations, voir la section Définition des champs.
Configuration des champs dans la sous-zone
Dans la sous-zone, les champs sont configurés en utilisant les mêmes paramètres que pour les champs définis au niveau de la racine. Pour plus d'informations, voir la section Définition des champs.
Note
Les numéros des lignes de champs se réfèrent à la position dans le bloc de données, pas à la position dans les données d'entrée.
Aperçu des données
Cette section fournit un aperçu de la définition du champ. Si l'élément défini est sélectionné, l'aperçu surligne son emplacement dans les données prévisualisées.
-
Aperçu du nom de fichier : Spécifie le fichier qui contient l'échantillon de données qui sera analysé dans le filtre. Le fichier d'aperçu est copié de la définition du filtre. Si le nom du fichier d'aperçu est changé, le nouveau nom de fichier sera enregistré.
-
Ouvrir : Sélectionne un autre fichier sur lequel les règles du filtre vont s'appliquer.
-
Actualiser : Relance le filtre sur le contenu du fichier d'aperçu. Automation Met à jour la section Aperçu des données avec le résultat.
Le filtre de données non structurées identifie automatiquement les champs et leurs valeurs dans les données reçues. Ainsi, le mappage manuel de variable au champ n'est pas requis.
La fonction de Structure dynamique est utile si le déclencheur reçoit les données avec une structure changeante. Dans ce cas, la structure des données principale reste inchangée (par ex. : les champs sont délimités par une virgule) ou conserve la même structure, mais l'ordre et/ou le nombre de champs change. Il peut y avoir de nouveaux champs, ou certains des vieux champs ne sont plus disponibles. Avec la Structure dynamique activée, le filtre identifie automatiquement la structure du fichier reçu. Simultanément, le filtre lit les noms et les valeurs de champs (paires nom-valeur
) à partir des données. Cela élimine le besoin de mappage manuel des champs vers les variables.
L'action Utiliser un filtre de données ne propose pas de possibilités de mappage, car elle effectue le mappage de manière dynamique. Il n'y a même pas besoin de définir les variables d'étiquettes dans la configuration du déclencheur. L'action assigne les valeurs de champs aux variables d'étiquettes de même nom sans avoir besoin des variables importées de l'étiquette. Toutefois, la règle s'applique seulement à l'action Imprimer l'étiquette. Pour utiliser les valeurs de champs dans une autre action, il faut définir les variables dans le déclencheur, tout en conservant le mappage automatique variable-à-champ.
Note
Aucune erreur n'est signalée si le champ disponible dans les données d'entrée n'a pas de variable d'étiquette correspondant. Ignore en silence les variables manquantes.
Configuration de la zone d'affectation
La zone d'affectation est configurée en utilisant la même procédure que pour la sous-zone. Pour plus d'informations, voir la section Définition des sous-zones. La zone d'affectation peut être définie au niveau des données racine, apparaissant une seule fois. Ou elle peut être configurée dans une sous-zone. Elle sera ainsi exécutée pour chaque bloc de données dans la sous-zone.
Configuration des champs dans la zone d'affectation
Lorsque vous créez une zone d'affectation, le filtre définit automatiquement deux espaces réservés. Ces deux espaces réservés définissent la paire nom-valeur
.
-
Nom de variable : Spécifie le champ dont le contenu sera le nom de variable (composant
nom
en paire). Configurer le champ en utilisant la même procédure que pour les champs de document. Pour plus d'informations, voir la section Définition des champs. -
Valeur de variable : Spécifie le champ dont le contenu sera la valeur de variable (composant
valeur
en paire). Configurer le champ en utilisant la même procédure que pour les champs de document. Pour plus d'informations, voir la section Définition des champs.
Exemple
La zone entre ^XA et ^XZ est la zone d'affectation. Chaque ligne de la zone d'affectation fournit les paires nom-valeur
. Le Nom est défini comme une valeur entre le 6e caractère de la ligne et le signe égal. La Valeur est définie comme la valeur entre le signe égal et la fin de la ligne, avec un décalage négatif de trois caractères.
^XA ^FD01DonationHR=G095605 3412625^FS ^FD02DonationBC=DG0956053412625^FS ^FD03HospitalNoHR=HN060241^FS ^FD04HospitalNoBC=060241^FS ^FD05Surname=Hawley^FS ^FD07Forename=Annie^FS ^FD09Product=Blood^FS ^FD10PatientBlGp=O Rh +ve^FS ^FD11DoB=27 June 1947^FS ^FD12DateReqd=25 Dec 2012^FS ^XZ