Show Menu
TEMAS×

CrossRows

Al igual que otras transformaciones, la transformación CrossRows se aplica a las filas de datos (entradas de registro) de los orígenes de registro.
Para cada fila de datos, la transformación toma el valor del campo de entrada especificado, realiza un conjunto de pasos de procesamiento y registra el resultado en el campo de salida que especifique. Sin embargo, cuando la CrossRows transformación funciona en una fila de datos (esta fila se denomina fila de salida), tiene en cuenta esa fila más una o más filas de datos (estas filas se denominan filas de entrada) que están asociadas con el mismo ID de seguimiento. Por lo tanto, para un ID de seguimiento determinado, el valor del campo de salida para cada fila de salida se basa en los valores del campo de entrada para una o varias filas de entrada.
La transformación proporciona varias condiciones y restricciones que le permiten limitar las filas de entrada para la transformación. Puede expresar estos límites en términos de las condiciones del servidor del área de trabajo de datos (consulte Condiciones ), un rango de filas de entrada relativas a la fila de salida o un intervalo de tiempo relativo al tiempo de la fila de salida. Para las filas de entrada que cumplen las condiciones y restricciones de la transformación, puede aplicar una operación (como SUMA) que determine el valor del campo de salida.
Para que funcione, la CrossRows transformación requiere que los datos se ordenen a tiempo y se agrupen por la ID de seguimiento en los datos de origen. Por lo tanto, CrossRows solo funciona cuando se define en el Transformation.cfg archivo o en un Transformation Dataset Include archivo.
Cuando revise las descripciones de los parámetros en la tabla siguiente, recuerde lo siguiente:
  • La fila de salida es la fila de datos en la que está trabajando la transformación en un momento dado.
  • Las filas de entrada son todas las demás filas de datos (antes, después o incluyendo la fila de salida) cuyos valores del campo de entrada sirven como entradas para la transformación. Las filas de entrada están sujetas a los parámetros Condición de entrada, Clave, Inicio de fila, Fin de fila, Inicio de tiempo y Fin de tiempo.
Parámetro Descripción Valor predeterminado
Nombre Nombre descriptivo de la transformación. Aquí puede introducir cualquier nombre.
Comentarios Opcional. Notas sobre la transformación.
Condición Limita el resultado de la transformación a ciertas entradas de registro. Si no se cumple la condición para una entrada de registro en particular, el campo del parámetro Output permanece sin cambios. La entrada puede seguir utilizándose para afectar a otras entradas de registro.
Entrada Nombre del campo de la fila de entrada que se va a utilizar como entrada.
Condición de entrada Acepta la entrada para la transformación desde sólo ciertas filas de entrada. Si no se cumple la condición de entrada para una fila de entrada concreta, se ignora el campo de entrada de esa fila y no afecta a otras filas de salida. Sin embargo, el campo de salida de esa fila se sigue modificando según la condición especificada.
Clave
Opcional. Nombre del campo que se va a utilizar como clave.
Si se especifica una clave, las filas de entrada de una fila de salida dada se limitan al bloque contiguo de filas que tienen el mismo valor Key que la fila de salida. Esta restricción se suma a todas las demás limitaciones que otros parámetros de la transformación CrossRows colocan en las filas de entrada.
Por ejemplo, si está trabajando con datos web y convierte el campo x-session-key (que tiene un valor único para cada sesión) en la clave, las filas de entrada para la transformación estarán limitadas a aquellas filas que tengan el mismo valor x-session-key que la fila de salida. Por lo tanto, solo está considerando las filas de entrada que representan las vistas de página que se producen durante la misma sesión que la fila de salida.
Operación
Operación que, para cada fila de salida, se aplica a todas las filas de entrada que cumplen todas las condiciones definidas por los parámetros Condición de entrada, Clave, Inicio de fila, Fin de fila, Comienzo de tiempo y Fin de tiempo para generar una salida:
  • ALL toma todos los valores del campo de entrada de las filas de entrada y los genera como un vector.
  • SUMA interpreta los valores del campo de entrada de las filas de entrada como números y los suma.
  • LA PRIMERA FILA genera el valor del campo de entrada desde la primera fila de entrada.
  • LA ÚLTIMA FILA devuelve el valor del campo de entrada de la última fila de entrada.
Salida Nombre del campo de salida.
Fin de fila/inicio de fila
Opcional. Especifica un rango de filas de entrada relativas a la fila de salida. Por ejemplo, un valor de inicio de fila de "0" excluye todas las filas antes de la fila de salida. Un valor de inicio de fila de "1" también excluye la fila de salida. Los intervalos comunes incluyen:
  • Comenzar 0: Esta fila y todas las subsiguientes.
  • Comenzar 1: Todas las filas posteriores.
  • Fin 0: Esta fila y todas las anteriores.
  • Fin -1: Todas las filas anteriores.
  • Comienzo -1, Fin -1: La fila anterior.
  • Comienzo 1, Fin 1: La siguiente fila.
Todas las filas
Hora de inicio/finalización de tiempo
Opcional. Especifica un intervalo de tiempo relativo al tiempo de la fila de salida. Por ejemplo, un Fin de tiempo de 30 minutos incluye todas las filas que se producen dentro de los 30 minutos posteriores a la fila de salida. Un valor de Comenzar tiempo de -30 minutos incluye todas las filas que se producen en los 30 minutos anteriores a la fila de salida.
Las unidades de tiempo disponibles son días, semanas, horas, minutos, ms (milisegundos), garrapatas (100 nanosegundos) y ns (nanosegundos).
Todas las horas
La CrossRows transformación de este ejemplo se aplica a filas de datos web para buscar para cada vista de página la hora de la siguiente vista de página. Como sabemos que CrossRows se aplica solamente durante la fase de transformación del proceso de construcción del conjunto de datos, las filas de datos se ordenan por visitante (cada visitante tiene un ID de seguimiento único) y tiempo.
El campo de entrada, x-timestamp, se considera únicamente para las filas de entrada en las que se rellena el campo x-is-page-view (lo que indica que la fila de datos representa una vista de página). El campo x-session-key (que tiene un valor único para cada sesión) se especifica para el parámetro Key. Por lo tanto, las filas de entrada (entradas de registro) para la transformación están limitadas al bloque contiguo de filas que tienen el mismo valor de x-session-key que la fila de salida. En otras palabras, para que se considere la transformación, una fila de entrada debe representar una vista de página que se produzca durante la misma sesión que la vista de página en la fila de salida. La primera operación de fila toma el valor del campo de salida de la primera fila de entrada que cumple la Input Condición y tiene el mismo valor de clave x-sesión que la fila de salida.
CrossRows se ejecuta en una cantidad de tiempo proporcional al tamaño de sus entradas más el tamaño de sus salidas. Esto significa que para las operaciones SUMA, PRIMERA FILA y ÚLTIMA FILA, no es menos eficiente que otras transformaciones. Para ALL, la situación es más compleja porque es posible configurar CrossRows para generar una cantidad de datos para cada fila de datos (entrada de registro) que sea proporcional al número total de filas (entradas de registro) para un ID de seguimiento determinado.