Accéder au contenu principal Passer au contenu complémentaire

Définir un composant filtrant les enregistrements

Procédure

  1. À côté de la définition du composant tFilterColumns, saisissez une autre fonction addComponent {} et sa sous-fonction setComponentDefinition {} pour ajouter le composant tFilterRow.
    // filter records - accept men between 10 and 80 whose names are shorter than 9 characters
    addComponent {
    	setComponentDefinition {
    		TYPE: "tFilterRow",
    		NAME: "tFilterRow_1",
    		POSITION: 640, 224
    	}
    }
  2. À côté de la fonction setComponentDefinition {}, saisissez la fonction setSettings {} pour définir les conditions de filtre et renommer le composant.
    	setSettings {
    		LOGICAL_OP : "&&",
    		CONDITIONS {
    			INPUT_COLUMN : "name",
    			FUNCTION : "$source == null? false : $source.length() $operator $target",
    			OPERATOR : "<",
    			RVALUE : "9",
    			INPUT_COLUMN : "gender",
    			FUNCTION : "",
    			OPERATOR : "==",
    			RVALUE : "\"M\"",
    			INPUT_COLUMN : "age",
    			FUNCTION : "",
    			OPERATOR : ">",
    			RVALUE : "10",
    			INPUT_COLUMN : "age",
    			FUNCTION : "",
    			OPERATOR : "<",
    			RVALUE : "80"
    		},
    		LABEL : "filter_records"
    	}
    Note InformationsAvertissement :

    Assurez-vous d'utiliser la barre oblique inversée (\) lorsque vous spécifiez un métacaractère.

  3. À côté de la fonction setSettings {}, saisissez le code du script suivant afin de définir les schémas pour les flux de sortie.

    Dans cet exemple, le composant tFilterRow a deux flux de sortie, un pour les enregistrements acceptés, qui possède la même structure du schéma que celle définie dans le composant précédent, tFilterColumns et l'autre pour les enregistrements rejetés, qui possède une colonne supplémentaire, errorMessage. La colonne errorMessage est obligatoire pour le flux de rejet et possède des propriétés fixes : même si vous ne définissez pas cette colonne, le Studio Talend l'ajoutera automatiquement lors de la génération du Job.

    	// define the schema for the accepted records
    	addSchema {
    		NAME: "ACCEPT",
    		CONNECTOR: "FILTER"
    		addColumn {
    			NAME: "name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "gender",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    	}
    	
    	// define the schema for the rejected records
    	addSchema {
    		NAME: "REJECT",
    		CONNECTOR: "REJECT"
    		addColumn {
    			NAME: "name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "gender",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "errorMessage",
    			TYPE: "id_String",
    			NULLABLE: true,
    			LENGTH: 255,
    			PRECISION: 0
    		}
    	}

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !