CrossRows

Comme les autres transformations, la transformation CrossRows est appliquée aux lignes de données (entrées de journal) dans vos sources de journaux.

Pour chaque ligne de données, la transformation prend la valeur du champ d’entrée spécifié, effectue un ensemble d’étapes de traitement et enregistre le résultat dans le champ de sortie que vous spécifiez. Cependant, lorsque la transformation CrossRows fonctionne sur une ligne de données (cette ligne est appelée la ligne de sortie), elle prend en compte cette ligne plus une ou plusieurs autres lignes de données (ces lignes sont appelées lignes d’entrée) qui sont associées au même ID de suivi. Par conséquent, pour un identifiant de suivi donné, la valeur du champ de sortie pour chaque ligne de sortie est basée sur les valeurs du champ d’entrée pour une ou plusieurs lignes d’entrée.

La transformation fournit plusieurs conditions et contraintes qui vous permettent de limiter les lignes d’entrée pour la transformation. Vous pouvez exprimer ces limites en fonction des conditions du serveur Data Workbench (voir Conditions), d’une plage de lignes d’entrée par rapport à la ligne de sortie ou d’une plage de fois par rapport à l’heure de la ligne de sortie. Pour les lignes d’entrée qui répondent aux conditions et contraintes de la transformation, vous pouvez appliquer une opération (telle que SUM) qui détermine la valeur du champ de sortie.

REMARQUE

Pour fonctionner, la transformation CrossRows nécessite que les données soient classées dans le temps et regroupées par identifiant de suivi dans vos données source. Par conséquent, CrossRows ne fonctionne que lorsqu’il est défini dans le fichier Transformation.cfg ou dans un fichier Transformation Dataset Include.

Lorsque vous passez en revue les descriptions des paramètres dans le tableau suivant, pensez à ce qui suit :

  • La ligne de sortie correspond à la ligne de données sur laquelle la transformation fonctionne à un moment donné.
  • Les lignes d’entrée sont toutes les autres lignes de données (avant, après ou incluant la ligne de sortie) dont les valeurs du champ d’entrée servent d’entrées à la transformation. Les lignes d’entrée sont soumises aux paramètres Condition d’entrée, Clé, Début de la ligne, Fin de la ligne, Début de l’heure et Fin de l’heure.
Paramètre Description Par défaut
Nom Nom descriptif de la transformation. Vous pouvez saisir n’importe quel nom ici.
Commentaires Facultatif. Remarques sur la transformation.
Condition Limite la sortie de la transformation à certaines entrées de journal. Si la condition n’est pas remplie pour une entrée de journal spécifique, le champ du paramètre Output reste inchangé. L’entrée peut toujours être utilisée pour affecter d’autres entrées de journal.
Entrée Nom du champ de la ligne de saisie à utiliser comme entrée.
Condition d’entrée Accepte les entrées pour la transformation à partir de certaines lignes d’entrée seulement. Si la condition d’entrée n’est pas remplie pour une ligne d’entrée spécifique, le champ d’entrée de cette ligne est ignoré et n’affecte pas les autres lignes de sortie. Cependant, le champ de sortie de cette ligne est toujours modifié selon la condition spécifiée.
Clé

Facultatif. Nom du champ à utiliser comme clé.

Si une clé est spécifiée, les lignes d’entrée d’une ligne de sortie donnée sont limitées au bloc contigu de lignes ayant la même valeur de clé que la ligne de sortie. Cette restriction s’ajoute à toutes les autres limites placées sur les lignes d’entrée par d’autres paramètres de la transformation CrossRows .

Par exemple, si vous utilisez des données web et que vous définissez le champ x-session-key (qui a une valeur unique pour chaque session) comme clé, les lignes d’entrée pour la transformation sont limitées aux lignes ayant la même valeur x-session-key que la ligne de sortie. Par conséquent, vous ne tenez compte que des lignes d’entrée représentant les pages vues qui se produisent au cours de la même session que la ligne de sortie.

Opération

Opération qui, pour chaque ligne de sortie, est appliquée à toutes les lignes d’entrée satisfaisant toutes les conditions définies par les paramètres Condition d’entrée, Clé, Début de ligne, Fin de ligne, Début de temps et Fin de temps pour produire une sortie :

  • ALL prend toutes les valeurs du champ de saisie des lignes de saisie et les génère comme vecteur.
  • SUM interprète les valeurs du champ de saisie des lignes de saisie comme des nombres et des sommes.
  • PREMIÈRE LIGNE génère la valeur du champ de saisie à partir de la première ligne de saisie.
  • LAST ROW génère la valeur du champ de saisie à partir de la dernière ligne de saisie.

Sortie Nom du champ de sortie.
Début de ligne/Fin de ligne

Facultatif. Spécifie une plage de lignes d’entrée par rapport à la ligne de sortie. Par exemple, une valeur de début de ligne de "0" exclut toutes les lignes situées avant la ligne de sortie. Une valeur de début de ligne "1" exclut également la ligne de sortie. Les plages courantes sont les suivantes :

  • Début 0 : Cette ligne et toutes les suivantes.
  • Début 1 : Toutes les lignes suivantes.
  • Fin 0 : Cette ligne et toutes les lignes précédentes.
  • Fin -1 : Toutes les lignes précédentes.
  • Début -1, Fin -1 : Ligne précédente.
  • Début 1, Fin 1 : Ligne suivante.

Toutes les lignes
Début/Fin de l’heure

Facultatif. Indique une plage de temps par rapport à l’heure de la ligne de sortie. Par exemple, une fin de temps de 30 minutes inclut toutes les lignes qui ont lieu dans les 30 minutes suivant la ligne de sortie. Une valeur de -30 minutes au début inclut toutes les lignes qui se produisent dans les 30 minutes précédant la ligne de sortie.

Les unités de temps disponibles sont les jours, les semaines, les heures, les minutes, les ms (millisecondes), les tiques (100 nanosecondes) et les ns (nanosecondes).

Toutes les heures

La transformation CrossRows de cet exemple est appliquée aux lignes de données web pour trouver pour chaque page vue l’heure de la prochaine page vue. Comme nous savons que CrossRows est appliqué uniquement pendant la phase de transformation du processus de construction du jeu de données, les lignes de données sont triées par visiteur (chaque visiteur a un ID de suivi unique) et par heure.

Le champ d’entrée, horodatage x, est pris en compte uniquement pour les lignes d’entrée dans lesquelles le champ x-is-page-view est renseigné (indiquant que la ligne de données représente une page vue). Le champ x-session-key (qui a une valeur unique pour chaque session) est spécifié pour le paramètre Key (Clé). Par conséquent, les lignes d’entrée (entrées de journal) pour la transformation sont limitées au bloc contigu de lignes ayant la même valeur de x-session-key que la ligne de sortie. En d’autres termes, pour que la transformation soit prise en compte, une ligne d’entrée doit représenter une page vue qui se produit au cours de la même session que la page vue de la ligne de sortie. La première opération de ligne prend la valeur du champ de sortie de la première ligne d’entrée satisfaisant la condition Input et ayant la même valeur x-session-key que la ligne de sortie.

CrossRows s’exécute dans un laps de temps proportionnel à la taille de ses entrées plus la taille de ses sorties. Cela signifie que, pour les opérations SUM, PREMIÈRE LIGNE et DERNIÈRE LIGNE, elle n’est pas moins efficace que les autres transformations. Pour ALL, la situation est plus complexe car il est possible de configurer CrossRows pour générer une quantité de données pour chaque ligne de données (entrée de journal) proportionnelle au nombre total de lignes (entrées de journal) pour un identifiant de suivi donné.

Sur cette page