Leia mais sobre Datas Workbench Anúncio do fim da vida útil.
Como outras transformações, a transformação CrossRows é aplicada às linhas de dados (entradas de log) nas fontes de log.
Para cada linha de dados, a transformação pega o valor do campo de entrada especificado, executa um conjunto de etapas de processamento e registra o resultado no campo de saída especificado. No entanto, quando a variável CrossRows a transformação funciona em uma linha de dados (essa linha é chamada de linha de saída), e leva em conta que a linha mais uma ou mais linhas de dados (essas linhas são chamadas linhas de entrada) associadas à mesma ID de rastreamento. Portanto, para uma determinada ID de rastreamento, o valor do campo de saída para cada linha de saída é baseado nos valores do campo de entrada para uma ou mais linhas de entrada.
A transformação fornece várias condições e restrições que permitem limitar as linhas de entrada da transformação. Você pode expressar esses limites em termos das condições do servidor do Data Workbench (consulte Condições), um intervalo de linhas de entrada em relação à linha de saída ou um intervalo de vezes em relação ao tempo da linha de saída. Para essas linhas de entrada que atendem às condições e restrições da transformação, é possível aplicar uma operação (como SUM) que determine o valor do campo de saída.
Para trabalhar, o CrossRows a transformação exige que os dados sejam solicitados no tempo e agrupados pela ID de rastreamento nos dados de origem. Por conseguinte, CrossRows funciona somente quando definido no Transformation.cfg ou em um Transformation Dataset Include arquivo.
À medida que revisa as descrições dos parâmetros na tabela a seguir, lembre-se do seguinte:
Parâmetro | Descrição | Padrão |
---|---|---|
Nome | Nome descritivo da transformação. Você pode inserir qualquer nome aqui. | |
Comentários | Opcional. Observações sobre a transformação. | |
Condição | Limita a saída da transformação a determinadas entradas de log. Se a condição não for atendida para uma entrada de log específica, o campo no parâmetro Saída permanecerá inalterado. A entrada ainda pode ser usada para afetar outras entradas de log. | |
Entrada | O nome do campo da linha de entrada a ser usada como entrada. | |
Condição de entrada | Aceita entrada para a transformação a partir de apenas determinadas linhas de entrada. Se a Condição de entrada não for atendida para uma linha de entrada específica, o campo de entrada dessa linha será ignorado e não afetará outras linhas de saída. No entanto, o campo de saída dessa linha ainda será modificado de acordo com a Condição especificada. | |
Chave | Opcional. O nome do campo a ser usado como a chave. Se uma chave for especificada, as linhas de entrada de uma determinada linha de saída serão limitadas ao bloco contíguo de linhas com o mesmo valor Chave da linha de saída. Essa restrição é adicional a todas as outras limitações colocadas nas linhas de entrada por outros parâmetros do CrossRows transformação. Por exemplo, se estiver trabalhando com dados da Web e fizer com que o campo x-session-key (que tem um valor exclusivo para cada sessão) tenha a chave, as linhas de entrada da transformação serão limitadas às linhas que têm o mesmo valor x-session-key que a linha de saída. Portanto, você está considerando apenas as linhas de entrada que representam exibições de página que ocorrem durante a mesma sessão que a linha de saída. |
|
Operação | Uma operação que, para cada linha de saída, é aplicada a todas as linhas de entrada que satisfaçam todas as condições definidas pelos parâmetros Condição de entrada, Chave, Início da linha, Fim da linha, Início do tempo e Fim do tempo para produzir uma saída:
|
|
Saída | O nome do campo de saída. | |
Início da linha/Término da linha | Opcional. Especifica um intervalo de linhas de entrada em relação à linha de saída. Por exemplo, um valor de Início de linha "0" exclui todas as linhas antes da linha de saída. Um valor inicial de linha de "1" também exclui a linha de saída. Intervalos comuns incluem:
|
Todas as linhas |
Hora de início/hora de término | Opcional. Especifica um intervalo de vezes relativo ao tempo da linha de saída. Por exemplo, um Fim de tempo de 30 minutos inclui todas as linhas que ocorrem dentro de 30 minutos após a linha de saída. Um Início de tempo de -30 minutos inclui todas as linhas que ocorrem dentro de 30 minutos antes da linha de saída. As unidades de tempo disponíveis são dias, semanas, horas, minutos, ms (milissegundos), tiques (100 nanossegundos) e ns (nanossegundos). |
Todas as vezes |
O CrossRows neste exemplo, a transformação é aplicada a linhas de dados da Web para localizar para cada exibição de página o tempo da próxima exibição de página. Porque nós sabemos disso CrossRows for aplicada somente durante a fase de transformação do processo de construção do conjunto de dados, as linhas de dados serão solicitadas pelo visitante (cada visitante tem uma ID de rastreamento exclusiva) e pelo tempo.
O campo de entrada, x-timestamp, é considerado apenas para as linhas de entrada nas quais x-is-page-view é preenchido (indicando que a linha de dados representa uma exibição de página). O campo x-session-key (que tem um valor exclusivo para cada sessão) é especificado para o parâmetro Key . Portanto, as linhas de entrada (entradas de log) para a transformação são limitadas ao bloco contíguo de linhas que têm o mesmo valor de x-session-key que a linha de saída. Em outras palavras, para ser considerada para a transformação, uma linha de entrada deve representar uma exibição de página que ocorre durante a mesma sessão que a exibição de página na linha de saída. A primeira operação de linha obtém o valor do campo de saída da primeira linha de entrada que satisfaz o Input Condição e com o mesmo valor x-session-key que a linha de saída.
CrossRows O é executado em uma quantidade de tempo proporcional ao tamanho de suas entradas mais o tamanho de suas saídas. Isso significa que para as operações SUM, FIRST ROW e LAST ROW, não é menos eficiente do que outras transformações. Para TODOS, a situação é mais complexa porque é possível configurar CrossRows para gerar uma quantidade de dados para cada linha de dados (entrada de log) que é proporcional ao número total de linhas (entradas de log) para uma determinada ID de rastreamento.