Exemple d'outil unique
Il existe un exemple d'outil unique pour l'outil Remplissage ST. Accédez à la page Exemples de workflows pour savoir comment accéder à cet exemple et à de nombreux autres exemples directement dans Alteryx Designer.
Utilisez l'outil Remplissage ST pour prendre un flux de données de séries temporelles et remplir les manques éventuels dans la série.
Cet outil est principalement utilisé comme étape de préparation pour l’utilisation d’outils et de macros liés aux séries temporelles en aval. Certains outils de séries temporelles produisent des résultats inattendus ou des erreurs si le flux de données contient des trous dans la série temporelle, par exemple, vous avez une série de données qui est supposée contenir des mesures toutes les 5 minutes, mais vous ne disposez finalement pas de mesures couvrant chaque intervalle de 5 minutes. Utilisez cette macro dès que vous soupçonnez que votre flux de données peut présenter des trous.
Note
Cet outil utilise l'outil R. Accédez à Options > Télécharger les outils prédictifs et connectez-vous au portail de licences et de téléchargements Alteryx pour installer R et les packages utilisés par l'outil R. Consultez la page Télécharger et utiliser les outils prédictifs.
L'outil Remplissage ST nécessite un flux de données Designer comportant une colonne avec des valeurs de date et heure.
Utilisez l'onglet Configuration pour définir les remplissages du diagramme des séries temporelles.
Sélectionner la colonne Date ou Date et heure : choisissez la colonne Date ou Date et heure qui indique quand la ligne de données a été collectée.
Intervalle : sélectionnez l'intervalle selon lequel la série temporelle est mesurée. Le options incluent Minute, Heure, Jour, Semaine, Mois, et Année.
Incrément : sélectionnez l'incrément selon lequel chaque période de série temporelle unique doit être séparée. L'incrément peut être n'importe quel entier compris entre 1 et 100.
Pour générer une série couvrant « toutes les 3 semaines », définissez Intervalle sur Semaine et Incrément sur 3.
Chaque ligne entrante dans la macro s'affiche dans la sortie. De plus, la macro évalue si des périodes manquent dans la série temporelle et, le cas échéant, génère une « ligne » pour combler le trou.
L’outil ajoute deux colonnes de données au flux de données entrant :
OriginalDateTime : colonne de date et heure contenant la valeur de date et heure d'origine non modifiée.
FlagGeneratedRow : colonne à indicateur booléen, avec la valeur « Vrai » indiquant que la ligne de données a été générée par la macro pour combler un trou dans la série temporelle ; avec la valeur « Faux » indiquant qu'il s'agit d'une ligne de données source.
Pour les lignes de données source passant dans la macro :
La colonne FlagGeneratedRow affiche une valeur « Faux » pour indiquer qu'il s'agit d'une ligne de données source et pas d'une ligne générée par la macro.
La colonne [yourDateTimeColumn] est arrondie à la période appropriée. Consultez la section Arrondi ci-dessous.
Toutes les colonnes sources passent dans la macro et ne seront pas altérées.
Pour les lignes qui ont été générées pour combler les trous :
La colonne FlagGeneratedRow affiche la valeur « Vrai » pour indiquer que la ligne a été générée par la macro et qu'il ne s'agit pas d'une ligne de données source.
La colonne [yourDateTimeColumn] est renseignée par une valeur de date ou de date et heure générée par la macro qui « comble » le trou identifié dans la série.
Toutes les autres colonnes sont nulles.
Dans la plupart des scénarios utilisés par les entreprises classiques, les périodes de séries temporelles sont gérées comme suit :
« Time-Level » : pour les intervalles
« Date-level » : pour les intervalles >= un jour, la période est « fin de période ».
La seule modification que la macro apporte aux données entrantes est la suivante : un « arrondi » est appliqué à [yourDateTimeColumn]. Il se base sur trois éléments clés :
Intervalle
Valeur de date et heure la plus ancienne dans le flux de données
Incrément
D'abord, toutes les fractions de l'intervalle choisi sont tronquées. Par exemple, si vous choisissez « heure » comme intervalle, la macro tronque les minutes et secondes de la valeur de date et d'heure, par exemple : 13h58 devient 13h00.
Après avoir tronqué les fractions de l’intervalle choisi, la macro va alors déterminer quelles sont les périodes valides. La valeur de date et heure la plus récente entrant dans la macro forme la base de la série. Si on poursuit l'exemple « heure-série » ci-dessus, si la valeur de date et heure la plus récente dans [yourDateTimeColumn] était 13h58, alors la première période est 13h00. Si l'incrément choisi est 5, les périodes ultérieures sont générées sur la base de l'ajout successif de l'incrément choisi (5 heures) à la période précédente, ce qui dans ce cas revient à 13h00, 18h00, 23h00, etc.
Enfin, maintenant que toutes les périodes valides ont été déterminées, toutes les valeurs de date et heure sont alors ajustées sur la période valide appropriée. Ainsi, la valeur brute 17h59 dans [yourDateTimeColumn] devient 17h00 et 18h02 devient 18h00, etc.
Une fois tous les ajustements de date et heure appliqués par la macro, la colonne [yourDateTimeColumn] résultante représente effectivement une « étiquette » pour cette période. Cependant, le type de données est une colonne de date ou de date et heure (plutôt qu'une chaîne) et, en tant que telle, il est possible que cette « étiquette » ne soit pas entièrement intuitive. La solution consiste à reconnaître que toute partie de l'étiquette de date ou de date et heure qui représente une « fraction » de l'intervalle choisi doit être ignorée. Donc, si votre intervalle est « année », un exemple de période pourrait être « 2018-01-01 » mais c'est l'année qui importe dans l'étiquette ; les fractions de l'étiquette (le « 01-01 ») doivent être ignorées, ce qui signifie que la période est simplement l'année 2018, ou « toute heure en 2018 ». Voir le tableau ci-dessous.
Notez que, mis à part l'arrondi de la valeur de date et heure décrit ci-dessus, la macro n'altère aucune donnée entrante. Elle n'effectue aucune combinaison, agrégation, attribution de valeur unique ou aucun type de validation sur les données entrantes. Cependant, à cause de l’arrondissement de la date, plusieurs mesures au sein de la même période ne porteront pas la même étiquette de période. Par conséquent, les données sont à présent plus propres et peuvent être plus facilement synthétisées car les données peuvent être « groupées » en fonction de cette étiquette de période arrondie et cohérente.
Notez que la macro ne tient pas compte de l’heure d’été donc, si vous avez une donnée de série niveau-heure qui traverses un passage à l’Heure d’été, il est possible que la macro génère une ligne heure (ou des lignes minutes) représentant une heure non valide. Par exemple, les zones où « au printemps on avance » d'une heure en mars auront des lignes générées pour 2h00 le jour du printemps où on avance, même si cette heure n'a finalement jamais existé (l'horloge passe de 1:59:59 à 3:00:00). Cette heure peut facilement être supprimée à l’aide d’un outil de filtre après le passage de la macro.
Pour clarifier le tout, le tableau suivant reprend les options d'intervalles disponibles, suivies par le type de données retourné, et indique si la période pour ce type d'intervalle est un intervalle « début de période » ou « fin de période ». Le tableau affiche un incrément d'exemple et la « première valeur brute » dans la série, pour illustrer comment sera l'étiquette de la période résultante et une description de ce que l'étiquette de la période signifie. Enfin, le tableau fait remarquer quelles sont les parties de l'étiquette de la période qui doivent être ignorées, comme les parties qui sont des fractions de l'intervalle.
Intervalle | Type de données retourné | Début/fin de période | Incrément exemple | Première valeur brute exemple | Étiquette première période de résultat | Description de la période | Ignorer sur étiquette de période |
---|---|---|---|---|---|---|---|
Minute | DateHeure | Démarrage | 2 | 2015-04-09 02:16:33 | 2015-04-09 02:16:00 | « La période de 2 minutes COMMENÇANT à 2:16, couvrant tout sur 2:16 et 2:17 » | Secondes |
Heure | DateHeure | Démarrage | 4 | 2015-04-09 02:16:33 | 2015-04-09 02:00:00 | « La période de 4 heures COMMENÇANT à 2, couvrant toutes les heures 2, 3, 4 et 5 » | Minutes ou moins |
Jour | Date | Fin | 6 | 2015-04-09 02:16:33 | 2015-04-09 | « La période de 6 jours TERMINANT le 9/4, couvrant tout du 4/4 - 9/4. » | Heures ou moins |
Semaine | Date | Fin | 1 | 2015-04-09 02:16:33 | 2015-04-09 | « La période de 1 semaine TERMINANT le 9/4, couvrant tout du 3/4 - 9/4. » | Heures ou moins |
Mois | Date | Fin | 3 | 2015-04-09 02:16:33 | 2015-04-01 | « La période de 3 mois TERMINANT en avril, couvrant tout sur Février, Mars et Avril. » | Jours ou moins |
Année | Date | Fin | 2 | 2015-04-09 02:16:33 | 2015-04-01 | « La période de 2 ans TERMINANT en 2015, couvrant tout 2014 et 2015. » | Mois ou moins |