StatisticsCalculator
Calcule les statistiques selon un attribut désigné ou un ensemble d'attributs des entités en entrée et ajoute les résultats en tant qu'attributs.
Utilisations typiques
- Inspecter et analyser des entités
- Calculer des statistiques pour de futures opérations
Comment fonctionne-t-il ?
Le StatisticsCalculator reçoit des entités et calcule des statistiques sélectionnées sur celles-ci par attribut. Les statistiques peuvent être calculées sur des groupes spécifiques d'entités d'entrée, comme spécifié par l'option d'attribut Regrouper par. Les résultats sont émis pour chaque entité à partir du port Complete. Un résumé des résultats est émis par le port Summary.
Les statistiques disponibles incluent :
- Minimum
- Maximum
- Compte total
- Somme
- Moyenne
- Médiane
- Compte numérique
- Nombre de valeurs
- Distance
- Écart-type (échantillon ou population)
- Mode
- Histogramme
Les statistiques suivantes peuvent également être calculées de manière cumulative sur les attributs à l'aide de paramètres avancés : min, max, plage, moyenne, stdev, somme, nombre total, nombre de valeurs numériques et nombre de valeurs. Lors du calcul des statistiques cumulatives, les résultats actuels sont affichés sur chaque entité à partir du port Cumulative.
Les statistiques sont stockées en tant qu'attributs, nommés <attribut>.<nomdestatistique>, ou<nomdestatistique> est l'une des possibilités suivantes : min, max, range, mean, stdev, stdev_p, sum, median, mode, total_count, numeric_count, value_count, histogram.
Les statistiques d'histogrammes sont stockées en tant qu'attributs de liste qui apparient la valeur d'attribut et le compte pour chaque valeur unique de l'attribut et sont nommées <attribute>.histogram(#).value et <attribute>.histogram(#).count où # est un index débutant par 0 des valeurs d'attributs uniques.
Gestion des données en entrée
Les données invalides, <null> et <manquantes> sont considérées comme non valides et seront ignorées lors du calcul de statistiques autres que le nombre total. Si aucune valeur valide n'est traitée lors du calcul d'une statistique, le résultat sera <manquant>. Essayer de calculer l'écart-type sur une seule valeur entraînera également un résultat <manquant>. Le compte total, le compte numérique et le compte de valeurs ne seront jamais <manquant>. Les valeurs NaN sont explicitement ignorées lors du calcul de Min, Max, Plage, et Nombre de valeurs numériques.
Par exemple, une somme calculée sur toutes les valeurs <manquantes> sera <manquante> plutôt qu'un 0 potentiellement trompeur et moins informatif. Cependant, si seulement certaines valeurs sont <manquantes> ou invalides, la somme résultante sera la même que si ces valeurs étaient 0.
Exemples
Le Transformer StatisticsCalculator peut générer des statistiques pour des groupes d'entités plutôt que pour toutes les entités. Cela ajoute effectivement la possibilité de créer des tableaux croisés dynamiques dans FME, similaires aux tableaux croisés dynamiques dans Excel.
Note: AttributePivoter offre un moyen simple de générer certains type de tables pivots.
Table source et table Excel
Les données fictives générées dans Excel ont été exportées dans un fichier CSV pour être utilisées dans Workbench. Un tableau croisé dynamique simple a également été créé dans Excel pour montrer ce que nous voulons produire à partir de FME ; en gros, nous voulons résumer les valeurs observées en fonction de la région et du potentiel.
Tableau croisé dynamique avec FME
Le traitement présenté ci-dessous utilise le Transformer StatisticsCalculator pour créer des statistiques pour l'attribut observé en regroupant d'abord les entités par région et par potentiel. Les nouvelles entités statistiques sont ensuite triées par région et par potentiel, puis envoyées dans un fichier CSV. Le fichier CSV résultant possède tous les mêmes attributs/champs que le tableau croisé dynamique d'Excel.
La table écrite par FME et affichée dans Excel ressemble à la table pivot Excel :
Vous pouvez également utiliser le Transformer ChartGenerator pour tracer les données.
Notes
-
Le Transformer StatisticsCalculator a des suffixes par défaut et est toujours préplié. Les Transformers mis à jour conserveront les paramètres de prépaiement lorsque les noms d'attributs de sortie n'étaient pas prépaiement avant la mise à jour ainsi que les noms de suffixes pour maintenir la compatibilité ascendante et éviter de perturber les traitements existants.
Configuration
Ports en entrée
Toutes les entités entrent dans le Transformer par le port Input.
Ports de sortie
Une seule nouvelle entité sera émise contenant les attributs statistiques pour chaque groupe. Si les entités ne sont pas groupées, cette dernière émettra une seule entité contenant les statistiques pour l'ensemble des entités d'entrée.
Aucun résumé d'entités n'est généré si aucune entité entrante n'est fournie.
Toutes les entités en entrée seront transmises par ce port de sortie avec tous les attributs statistiques de leur groupe ajoutés. Notez que toutes les entités en entrée devront être stockées jusqu'à la fin du traitement, ce qui peut augmenter considérablement l'utilisation de la mémoire et/ou du stockage temporaire sur disque.
Toutes les entités en entrée passeront par ce port de sortie avec tous les attributs statistiques à ce jour pour leur groupe ajouté sur eux. Les entités passent immédiatement par ce port, chacune ayant les statistiques calculées pour l'ensemble des entités depuis la première entité du groupe jusqu'à l'entité actuelle. (Notez que cela diffère de la sortie des statistiques "finales" dans le groupe Complete).
Paramètres
Regrouper par | Si les attributs Regrouper par sont choisis, les statistiques seront calculées indépendamment dans chaque groupe d'entités. Cela peut être utilisé pour créer une analyse de type tableau croisé dynamique des valeurs dans un flux de données. |
Traitement des regroupements |
Lorsque toutes les entités sont reçues : comportement par défaut. Le traitement n'aura lieu qu'une fois que toutes les entités en entrée seront présente. Quand le groupe change (avancé) : ce Transformer traitera les groupes en entrée dans l'ordre. Les changements de la valeur du paramètre Regrouper par sur le flux d'entrée déclencheront le traitement du groupe en cours de regroupement. Cela peut améliorer la vitesse globale (en particulier avec plusieurs groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes en entrée ne sont pas ordonnés. Considérations sur l'utilisation de Regrouper par
Il y a deux raisons typiques d'utiliser Quand le groupe change (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà classées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Regrouper par - et non des considérations de performance. La seconde raison possible est le potentiel gain de performances. Les gains de performance sont plus visibles quand les données sont déjà triées (ou lues en utilisant une déclaration SQL ORDER BY) puisque moins de travail est requis de la part de FME. Si les données doivent être ordonnées, elles peuvent être triées dans le traitement (bien que la surcharge de traitement supplémentaire puisse annuler tout gain). Le tri devient plus difficile en fonction du nombre de flux de données. Il peut être quasiment impossible de trier des flux de données multiples dans l'ordre correct, car toutes les entités correspondant à une valeur Regrouper par doivent arriver avant toute entité (de tout type d'entité ou jeu de données) appartenant au groupe suivant. Dans ce cas, l'utilisation de Regrouper par avec Lorsque toutes les entités sont reçues peut être une approche équivalente et plus simple. Note: De multiples types d'entités et entités de multiples jeux de données ne vont généralement pas arriver dans l'ordre correct. Comme pour beaucoup de scénarios, tester différentes approches dans votre projet avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Méthode de calcul |
Utilisez ce paramètre pour spécifier une méthode d'évaluation des valeurs lors du calcul des statistiques. Ce choix sera appliqué à toutes les données lorsqu'elles entrent dans le Transformer, déterminant si les valeurs doivent être traitées numériquement ou lexicalement. |
Attribut | Sélectionnez les attributs à inclure, un par ligne. | ||||||||||||||||||||||||||
Statistiques |
Les statistiques suivantes peuvent être calculées :
|
||||||||||||||||||||||||||
Tout sélectionner |
Ce bouton fonctionne en conjonction avec les lignes actuellement sélectionnées dans le tableau des statistiques à calculer et permet d'activer ou de désactiver tous les choix de types de statistiques. |
||||||||||||||||||||||||||
Ajouter des attributs… |
Fournit une liste de sélection de tous les attributs actuellement disponibles pour effectuer l'ajout d'attributs multiples à la table des Statistiques à calculer. |
Activez cette section pour calculer les statistiques cumulatives et rendre visible le port de sortie Cumulative. Ce tableau spécifie les statistiques cumulatives à calculer pour chaque attribut.
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments du traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres d'espace de travail. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
FME Community
FME Community iest l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Rechercher des exemples et informations à propos de ce Transformer dans FME Community.