funções definidas pelo Adobe

As funções definidas pelo Adobe, aqui chamadas de ADFs, são funções pré-criadas no Adobe Experience Platform Query Service que ajudam a executar tarefas comuns relacionadas aos negócios em Experience Event dados. Incluem funções para Sessões e Atribuição como as encontradas no Adobe Analytics.

Este documento fornece informações para funções definidas pelo Adobe, disponíveis em Query Service.

Funções de janela

A maior parte da lógica comercial exige a coleta de pontos de contato para um cliente e a solicitação desses pontos por tempo. Esse suporte é fornecido pelo Spark SQL na forma de funções de janela. As funções de janela fazem parte do SQL padrão e são suportadas por muitos outros mecanismos SQL.

Uma função de janela atualiza uma agregação e retorna um único item para cada linha no subconjunto solicitado. A função de agregação mais básica é SUM(). SUM() leva suas linhas e oferece um total. Se, em vez disso, você aplicar SUM() a uma janela, transformando-a em uma função de janela, você receberá uma soma cumulativa com cada linha.

A maioria dos Spark auxiliares SQL são funções de janela que atualizam cada linha na janela, com o estado dessa linha adicionado.

sintaxe do query

OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição Exemplo
{PARTITION} Um subgrupo de linhas com base em uma coluna ou campo disponível. PARTITION BY endUserIds._experience.mcid.id
{ORDER} Uma coluna ou campo disponível usado para ordenar o(s) subconjunto(s). ORDER BY timestamp
{FRAME} Um subgrupo das linhas em uma partição. ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

Sessões

Quando você está trabalhando com Experience Event dados de um site, aplicativo móvel, sistema de resposta de voz interativo ou qualquer outro canal de interação do cliente, isso ajuda se os eventos puderem ser agrupados em um período de atividade relacionado. Normalmente, você tem uma intenção específica de conduzir sua atividade como pesquisar um produto, pagar uma conta, verificar o saldo da conta, preencher um aplicativo e assim por diante.

Esse agrupamento, ou sessão de dados, ajuda a associar os eventos para descobrir mais contexto sobre a experiência do cliente.

Para obter mais informações sobre sessões no Adobe Analytics, consulte a documentação sobre sessões sensíveis ao contexto.

sintaxe do query

SESS_TIMEOUT({TIMESTAMP}, {EXPIRATION_IN_SECONDS}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{EXPIRATION_IN_SECONDS} O número de segundos necessários entre os eventos para qualificar o fim da sessão atual e o start de uma nova sessão.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT 
  endUserIds._experience.mcid.id as id, 
  timestamp,
  SESS_TIMEOUT(timestamp, 60 * 30)
    OVER (PARTITION BY endUserIds._experience.mcid.id
        ORDER BY timestamp
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    AS session
FROM experience_events
ORDER BY id, timestamp ASC
LIMIT 10

Resultados

                id                |       timestamp       |      session       
----------------------------------+-----------------------+--------------------
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:55:53.0 | (0,1,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:56:51.0 | (58,1,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:57:47.0 | (56,1,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:58:27.0 | (40,1,false,4)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:59:22.0 | (55,1,false,5)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:16:23.0 | (1361821,2,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:17:17.0 | (54,2,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:06.0 | (49,2,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:39.0 | (33,2,false,4)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:19:10.0 | (31,2,false,5)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna session. A coluna session é composta dos seguintes componentes:

({TIMESTAMP_DIFF}, {NUM}, {IS_NEW}, {DEPTH})
Parâmetros Descrição
{TIMESTAMP_DIFF} A diferença de tempo, em segundos, entre o registro atual e o anterior.
{NUM} Um número exclusivo de sessão, começando em 1, para a chave definida em PARTITION BY da função window.
{IS_NEW} Um booliano usado para identificar se um registro é o primeiro de uma sessão.
{DEPTH} A profundidade do registro atual na sessão.

SESS_START_IF

Esse query retorna o estado da sessão para a linha atual, com base no carimbo de data e hora atual e na expressão fornecida e start uma nova sessão com a linha atual.

sintaxe do query

SESS_START_IF({TIMESTAMP}, {TEST_EXPRESSION}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{TEST_EXPRESSION} Uma expressão na qual você deseja verificar os campos dos dados. Por exemplo, application.launches > 0.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT
    endUserIds._experience.mcid.id AS id,
    timestamp,
    IF(application.launches.value > 0, true, false) AS isLaunch,
    SESS_START_IF(timestamp, application.launches.value > 0)
        OVER (PARTITION BY endUserIds._experience.mcid.id
            ORDER BY timestamp
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
        AS session
    FROM experience_events
    ORDER BY id, timestamp ASC
    LIMIT 10

Resultados

                id                |       timestamp       | isLaunch |      session       
----------------------------------+-----------------------+----------+--------------------
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:55:53.0 | true     | (0,1,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:56:51.0 | false    | (58,1,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:57:47.0 | false    | (56,1,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:58:27.0 | true     | (40,2,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:59:22.0 | false    | (55,2,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:16:23.0 | false    | (1361821,2,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:17:17.0 | false    | (54,2,false,4)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:06.0 | false    | (49,2,false,5)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:39.0 | false    | (33,2,false,6)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:19:10.0 | false    | (31,2,false,7)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna session. A coluna session é composta dos seguintes componentes:

({TIMESTAMP_DIFF}, {NUM}, {IS_NEW}, {DEPTH})
Parâmetros Descrição
{TIMESTAMP_DIFF} A diferença de tempo, em segundos, entre o registro atual e o anterior.
{NUM} Um número exclusivo de sessão, começando em 1, para a chave definida em PARTITION BY da função window.
{IS_NEW} Um booliano usado para identificar se um registro é o primeiro de uma sessão.
{DEPTH} A profundidade do registro atual na sessão.

SESS_END_IF

Esse query retorna o estado da sessão da linha atual, com base no carimbo de data e hora atual e na expressão fornecida, encerra a sessão atual e start uma nova sessão na próxima linha.

sintaxe do query

SESS_END_IF({TIMESTAMP}, {TEST_EXPRESSION}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{TEST_EXPRESSION} Uma expressão na qual você deseja verificar os campos dos dados. Por exemplo, application.launches > 0.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT
    endUserIds._experience.mcid.id AS id,
    timestamp,
    IF(application.applicationCloses.value > 0 OR application.crashes.value > 0, true, false) AS isExit,
    SESS_END_IF(timestamp, application.applicationCloses.value > 0 OR application.crashes.value > 0)
        OVER (PARTITION BY endUserIds._experience.mcid.id
            ORDER BY timestamp
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
        AS session
    FROM experience_events
    ORDER BY id, timestamp ASC
    LIMIT 10

Resultados

                id                |       timestamp       | isExit   |      session       
----------------------------------+-----------------------+----------+--------------------
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:55:53.0 | false    | (0,1,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:56:51.0 | false    | (58,1,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:57:47.0 | true     | (56,1,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:58:27.0 | false    | (40,2,true,1)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-01-18 06:59:22.0 | false    | (55,2,false,2)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:16:23.0 | false    | (1361821,2,false,3)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:17:17.0 | false    | (54,2,false,4)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:06.0 | false    | (49,2,false,5)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:18:39.0 | false    | (33,2,false,6)
 100080F22A45CB40-3A2B7A8E11096B6 | 2018-02-03 01:19:10.0 | false    | (31,2,false,7)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna session. A coluna session é composta dos seguintes componentes:

({TIMESTAMP_DIFF}, {NUM}, {IS_NEW}, {DEPTH})
Parâmetros Descrição
{TIMESTAMP_DIFF} A diferença de tempo, em segundos, entre o registro atual e o anterior.
{NUM} Um número exclusivo de sessão, começando em 1, para a chave definida em PARTITION BY da função window.
{IS_NEW} Um booliano usado para identificar se um registro é o primeiro de uma sessão.
{DEPTH} A profundidade do registro atual na sessão.

Atribuição

Associar as ações dos clientes ao sucesso é uma parte importante do entendimento dos fatores que influenciam as experiências dos clientes. Os seguintes ADFs suportam atribuição de primeiro toque e atribuição de último toque com diferentes configurações de expiração.

Para obter mais informações sobre atribuição no Adobe Analytics, consulte a visão geral do Attribution IQ no guia do painel Atribuição Analytics.

Atribuição de primeiro toque

Esse query retorna o valor de atribuição de primeiro toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event. O query retorna um objeto struct com o valor do primeiro toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver qual interação levou a uma série de ações do cliente. No exemplo mostrado abaixo, a responsabilidade do código de rastreamento inicial (em:946426) nos dados Experience Event é atribuída a 100% (1.0) das ações do cliente, pois foi a primeira interação.

sintaxe do query

ATTRIBUTION_FIRST_TOUCH({TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado.
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query.

Uma explicação dos parâmetros dentro de OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_FIRST_TOUCH(timestamp, 'Paid First', marketing.trackingCode)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS first_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC
LIMIT 10

Resultados

                id                 |       timestamp       | trackingCode |                   first_touch                    
-----------------------------------+-----------------------+--------------+--------------------------------------------------
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-18 07:06:12.0 | em:946426    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-18 07:07:02.0 | em:946426    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-18 07:07:55.0 |              | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-18 07:08:44.0 |              | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-23 17:50:10.0 | em:513526    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-23 17:50:43.0 | em:513526    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-23 17:53:02.0 |              | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-26 20:37:12.0 | sms:70175    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-12-26 20:37:57.0 |              | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2019-01-02 19:41:38.0 | em:526702    | (Paid First,em:946426,2018-12-18 07:06:12.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna first_touch. A coluna first_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetro Descrição
{NAME} O {CHANNEL_NAME}, que foi inserido como um rótulo no ADF.
{VALUE} O valor de {CHANNEL_VALUE} que é o primeiro toque em Experience Event
{TIMESTAMP} O carimbo de data e hora de Experience Event onde o primeiro toque ocorreu.
{FRACTION} A atribuição do primeiro toque, expressa como uma fração decimal.

Atribuição de último toque

Esse query retorna o valor de atribuição de último toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event. O query retorna um objeto struct com o valor do último toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver a interação final em uma série de ações do cliente. No exemplo mostrado abaixo, o código de rastreamento no objeto retornado é a última interação em cada registro Experience Event. A cada código é atribuída uma responsabilidade de 100% (1.0) pelas ações do cliente, já que era a última interação.

sintaxe do query

ATTRIBUTION_LAST_TOUCH({TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado.
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query.

Uma explicação dos parâmetros dentro de OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_LAST_TOUCH(timestamp, 'trackingCode', marketing.trackingCode)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS last_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC

Resultados

                id                 |       timestamp       | trackingcode |                   last_touch                   
-----------------------------------+-----------------------+--------------+-------------------------------------------------
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-18 07:06:12.0 | em:946426    | (Paid Last,em:946426,2017-12-18 07:06:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-18 07:07:02.0 | em:946426    | (Paid Last,em:946426,2017-12-18 07:07:02.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-18 07:07:55.0 |              | (Paid Last,em:946426,2017-12-18 07:07:02.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-18 07:08:44.0 |              | (Paid Last,em:946426,2017-12-18 07:07:02.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-23 17:50:10.0 | em:513526    | (Paid Last,em:513526,2017-12-23 17:50:10.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-23 17:50:43.0 | em:513526    | (Paid Last,em:513526,2017-12-23 17:50:43.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-23 17:53:02.0 |              | (Paid Last,em:513526,2017-12-23 17:50:43.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-26 20:37:12.0 | sms:70175    | (Paid Last,sms:70175,2017-12-26 20:37:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2017-12-26 20:37:57.0 |              | (Paid Last,sms:70175,2017-12-26 20:37:12.0,1.0)
 5D9D1DFBCEEBADF6-4097750903CE64DB | 2018-01-02 19:41:38.0 | em:526702    | (Paid Last,em:526702,2018-01-02 19:41:38.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna last_touch. A coluna last_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetros Descrição
{NAME} O {CHANNEL_NAME}, que foi inserido como um rótulo no ADF.
{VALUE} O valor de {CHANNEL_VALUE} que é o último toque em Experience Event
{TIMESTAMP} O carimbo de data e hora de Experience Event onde channelValue foi usado.
{FRACTION} A atribuição do último toque, expressa como uma fração decimal.

Atribuição de primeiro toque com condição de expiração

Esse query retorna o valor de atribuição de primeiro toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event, que expira depois ou antes de uma condição. O query retorna um objeto struct com o valor do primeiro toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver qual interação levou a uma série de ações do cliente em uma parte do conjunto de dados Experience Event determinada por uma condição de sua escolha. No exemplo mostrado abaixo, uma compra é registrada (commerce.purchases.value IS NOT NULL) em cada um dos quatro dias mostrados nos resultados (15, 21, 23 e 29 de julho) e o código de rastreamento inicial em cada dia recebe 100% (1.0) de responsabilidade pelas ações do cliente.

sintaxe do query

ATTRIBUTION_FIRST_TOUCH_EXP_IF(
    {TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}, {EXP_CONDITION}, {EXP_BEFORE}) 
    OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado.
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query.
{EXP_CONDITION} A condição que determina o ponto de expiração do canal.
{EXP_BEFORE} Um booliano que indica se o canal expira antes ou depois da condição especificada, {EXP_CONDITION}, é atendida. Isso é habilitado principalmente para as condições de expiração de uma sessão, para garantir que o primeiro toque não seja selecionado de uma sessão anterior. Por padrão, esse valor é definido como false.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_FIRST_TOUCH_EXP_IF(timestamp, 'Paid First', marketing.trackingCode, commerce.purchases.value IS NOT NULL, false)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS first_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC

Resultados

                id                 |       timestamp       | trackingCode |                   first_touch                    
-----------------------------------+-----------------------+--------------+--------------------------------------------------
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:04:10.0 | em:1024841   | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:05.0 | em:1024841   | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 |              | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:08:30.0 |              | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:45:10.0 | em:483339    | (Paid First,em:483339,2019-07-21 18:45:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:50:22.0 | em:483339    | (Paid First,em:483339,2019-07-21 18:45:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:56:56.0 |              | (Paid First,em:483339,2019-07-21 18:45:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:25:12.0 | sms:70558    | (Paid First,em:70558,2019-07-23 12:25:12.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:38:51.0 |              | (Paid First,em:70558,2019-07-23 12:25:12.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-29 21:33:30.0 | em:884210    | (Paid First,em:884210,2019-07-29 21:33:30.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna first_touch. A coluna first_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetros Descrição
{NAME} O {CHANNEL_NAME}, que foi inserido como um rótulo no ADF.
{VALUE} O valor de CHANNEL_VALUE} que é o primeiro toque em Experience Event, antes de {EXP_CONDITION}.
{TIMESTAMP} O carimbo de data e hora de Experience Event onde o primeiro toque ocorreu.
{FRACTION} A atribuição do primeiro toque, expressa como uma fração decimal.

Atribuição de primeiro toque com tempo limite de expiração

Esse query retorna o valor de atribuição de primeiro toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event para um período de tempo especificado. O query retorna um objeto struct com o valor do primeiro toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver qual interação, dentro de um intervalo de tempo selecionado, levou a uma ação do cliente. No exemplo mostrado abaixo, o primeiro toque retornado para cada ação do cliente é a primeira interação nos sete dias anteriores (expTimeout = 86400 * 7).

Especificação

ATTRIBUTION_FIRST_TOUCH_EXP_TIMEOUT(
    {TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}, {EXP_TIMEOUT}) 
    OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado.
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query.
{EXP_TIMEOUT} A janela de tempo antes do evento do canal, em segundos, que o query procura por um evento de primeiro toque.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_FIRST_TOUCH_EXP_TIMEOUT(timestamp, 'Paid First', marketing.trackingCode, 86400 * 7)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS first_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC

Resultados

                id                 |       timestamp       | trackingCode |                   first_touch                    
-----------------------------------+-----------------------+--------------+--------------------------------------------------
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:04:10.0 | em:1024841   | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:05.0 | em:1024841   | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 |              | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:08:30.0 |              | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:45:10.0 | em:483339    | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:50:22.0 | em:483339    | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:56:56.0 |              | (Paid First,em:1024841,2019-07-15 06:04:10.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:25:12.0 | sms:70558    | (Paid First,em:483339,2019-07-23 12:25:12.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:38:51.0 |              | (Paid First,em:483339,2019-07-23 12:25:12.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-29 21:33:30.0 | em:884210    | (Paid First,em:884210,2019-07-29 21:33:30.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna first_touch. A coluna first_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetros Descrição
{NAME} O {CHANNEL_NAME}, que foi inserido como um rótulo no ADF.
{VALUE} O valor de CHANNEL_VALUE} que é o primeiro toque dentro do intervalo {EXP_TIMEOUT} especificado.
{TIMESTAMP} O carimbo de data e hora de Experience Event onde o primeiro toque ocorreu.
{FRACTION} A atribuição do primeiro toque, expressa como uma fração decimal.

Atribuição de último toque com condição de expiração

Esse query retorna o valor de atribuição de último toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event, que expira depois ou antes de uma condição. O query retorna um objeto struct com o valor do último toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver a última interação em uma série de ações do cliente dentro de uma parte do conjunto de dados Experience Event determinada por uma condição de sua escolha. No exemplo mostrado abaixo, uma compra é registrada (commerce.purchases.value IS NOT NULL) em cada um dos quatro dias mostrados nos resultados (15, 21, 23 e 29 de julho) e o último código de rastreamento em cada dia recebe a responsabilidade de 100% (1.0) pelas ações do cliente.

sintaxe do query

ATTRIBUTION_LAST_TOUCH_EXP_IF(
    {TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}, {EXP_CONDITION}, {EXP_BEFORE}) 
    OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado.
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query.
{EXP_CONDITION} A condição que determina o ponto de expiração do canal.
{EXP_BEFORE} Um booliano que indica se o canal expira antes ou depois da condição especificada, {EXP_CONDITION}, é atendida. Isso é habilitado principalmente para as condições de expiração de uma sessão, para garantir que o primeiro toque não seja selecionado de uma sessão anterior. Por padrão, esse valor é definido como false.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_LAST_TOUCH_EXP_IF(timestamp, 'trackingCode', marketing.trackingCode, commerce.purchases.value IS NOT NULL, false)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS last_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC

Resultados de exemplo

                id                 |       timestamp       | trackingcode |                   last_touch                   
-----------------------------------+-----------------------+--------------+-------------------------------------------------
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:04:10.0 | em:1024841   | (Paid Last,em:550984,2019-07-15 06:08:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 | em:1024841   | (Paid Last,em:550984,2019-07-15 06:08:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 |              | (Paid Last,em:550984,2019-07-15 06:08:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:08:30.0 | em:550984    | (Paid Last,em:550984,2019-07-15 06:08:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:45:10.0 | em:483339    | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:50:22.0 | em:483339    | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:56:56.0 |              | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:25:12.0 | sms:70558    | (Paid Last,em:380097,2019-07-23 12:38:51.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:38:51.0 | em:380097    | (Paid Last,em:380097,2019-07-23 12:38:51.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-29 21:33:30.0 | em:884210    | (Paid Last,em:884210,2019-07-29 21:33:30.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna last_touch. A coluna last_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetros Descrição
{NAME} O {CHANNEL_NAME}, que foi inserido como um rótulo no ADF.
{VALUE} O valor de {CHANNEL_VALUE} que é o último toque em Experience Event, antes de {EXP_CONDITION}.
{TIMESTAMP} O carimbo de data e hora de Experience Event onde o último toque ocorreu.
{FRACTION} A atribuição do último toque, expressa como uma fração decimal.

Atribuição de último toque com tempo limite de expiração

Esse query retorna o valor de atribuição de último toque e os detalhes de um único canal no conjunto de dados de público alvo Experience Event para um período de tempo especificado. O query retorna um objeto struct com o valor do último toque, o carimbo de data e hora e a atribuição para cada linha retornada para o canal selecionado.

Esse query é útil se você quiser ver a última interação dentro de um intervalo de tempo selecionado. No exemplo mostrado abaixo, o último toque retornado para cada ação do cliente é a interação final dentro dos sete dias seguintes (expTimeout = 86400 * 7).

sintaxe do query

ATTRIBUTION_LAST_TOUCH_EXP_TIMEOUT(
    {TIMESTAMP}, {CHANNEL_NAME}, {CHANNEL_VALUE}, {EXP_TIMEOUT}) 
    OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} O campo de carimbo de data e hora encontrado no conjunto de dados.
{CHANNEL_NAME} O rótulo do objeto retornado
{CHANNEL_VALUE} A coluna ou o campo que é o canal do público alvo do query
{EXP_TIMEOUT} A janela de tempo após o evento do canal, em segundos, que o query procura por um evento de último toque.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, timestamp, marketing.trackingCode,
    ATTRIBUTION_LAST_TOUCH_EXP_TIMEOUT(timestamp, 'trackingCode', marketing.trackingCode, 86400 * 7)
      OVER(PARTITION BY endUserIds._experience.mcid.id
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS last_touch
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, timestamp ASC

Resultados

                id                 |       timestamp       | trackingcode |                   last_touch                   
-----------------------------------+-----------------------+--------------+-------------------------------------------------
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:04:10.0 | em:1024841   | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 | em:1024841   | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:05:35.0 |              | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-15 06:08:30.0 |              | (Paid Last,em:483339,2019-07-21 18:56:56.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:45:10.0 | em:483339    | (Paid Last,sms:70558,2019-07-23 12:38:51.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:50:22.0 | em:483339    | (Paid Last,sms:70558,2019-07-23 12:38:51.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-21 18:56:56.0 |              | (Paid Last,sms:70558,2019-07-23 12:38:51.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:25:12.0 | sms:70558    | (Paid Last,em:884210,2019-07-29 21:33:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-23 12:38:51.0 |              | (Paid Last,em:884210,2019-07-29 21:33:30.0,1.0)
 7J82HGSSBNELKLD4-4107750913DE65DA | 2019-07-29 21:33:30.0 | em:884210    | (Paid Last,em:884210,2019-07-29 21:33:30.0,1.0)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna last_touch. A coluna last_touch é composta dos seguintes componentes:

({NAME}, {VALUE}, {TIMESTAMP}, {FRACTION})
Parâmetros Descrição
{NAME} O {CHANNEL_NAME}, inserido como um rótulo no ADF.
{VALUE} O valor de {CHANNEL_VALUE} que é o último toque dentro do intervalo {EXP_TIMEOUT} especificado
{TIMESTAMP} O carimbo de data e hora de Experience Event onde o último toque ocorreu
{FRACTION} A atribuição do último toque, expressa como uma fração decimal.

Definição de caminho

A definição de caminho pode ser usada para entender a profundidade de envolvimento do cliente, confirmar se as etapas desejadas de uma experiência estão funcionando conforme projetado e identificar possíveis pontos problemáticos que afetam o cliente.

Os seguintes ADFs suportam a criação de visualizações de definição de caminho a partir de seus relacionamentos anteriores e posteriores. Você poderá criar páginas anteriores e próximas, ou percorrer vários eventos para criar a definição de caminho.

Página anterior

Determina o valor anterior de um campo específico a um número definido de etapas a partir da janela. Observe no exemplo que a função WINDOW está configurada com um quadro de ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW definindo o ADF para observar a linha atual e todas as linhas subsequentes.

sintaxe do query

PREVIOUS({KEY}, {SHIFT}, {IGNORE_NULLS}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{KEY} A coluna ou o campo do evento.
{SHIFT} (Opcional) O número de eventos distantes do evento atual. Por padrão, o valor é 1.
{IGNORE_NULLS} (Opcional) Um booliano que indica se valores nulos {KEY} devem ser ignorados. Por padrão, o valor é false.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.mcid.id, _experience.analytics.session.num, timestamp, web.webPageDetails.name
    PREVIOUS(web.webPageDetails.name, 3)
      OVER(PARTITION BY endUserIds._experience.mcid.id, _experience.analytics.session.num
           ORDER BY timestamp
           ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
      AS previous_page
FROM experience_events
ORDER BY endUserIds._experience.mcid.id, _experience.analytics.session.num, timestamp ASC

Resultados

                id                 |       timestamp       |                 name                |                    previous_page                    
-----------------------------------+-----------------------+-------------------------------------+-----------------------------------------------------
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:15:28.0 |                                     | 
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:53:05.0 | Home                                | 
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:53:45.0 | Kids                                | (Home)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 19:22:34.0 |                                     | (Kids)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:01:12.0 | Home                                | 
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:01:57.0 | Kids                                | (Home)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:03:36.0 | Search Results                      | (Kids)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:04:30.0 | Product Details: Pemmican Power Bar | (Search Results)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:05:27.0 | Shopping Cart: Cart Details         | (Product Details: Pemmican Power Bar)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:06:07.0 | Shopping Cart: Shipping Information | (Shopping Cart: Cart Details)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna previous_page. O valor na coluna previous_page baseia-se no {KEY} usado no ADF.

Próxima página

Determina o próximo valor de um campo específico a um número definido de etapas à distância dentro da janela. Observe no exemplo que a função WINDOW está configurada com um quadro de ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING definindo o ADF para observar a linha atual e todas as linhas subsequentes.

sintaxe do query

NEXT({KEY}, {SHIFT}, {IGNORE_NULLS}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{KEY} A coluna ou o campo do evento.
{SHIFT} (Opcional) O número de eventos distantes do evento atual. Por padrão, o valor é 1.
{IGNORE_NULLS} (Opcional) Um booliano que indica se valores nulos {KEY} devem ser ignorados. Por padrão, o valor é false.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT endUserIds._experience.aaid.id, timestamp, web.webPageDetails.name,
    NEXT(web.webPageDetails.name, 1, true)
      OVER(PARTITION BY endUserIds._experience.aaid.id
           ORDER BY timestamp
           ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
      AS previous_page
FROM experience_events
ORDER BY endUserIds._experience.aaid.id, timestamp ASC
LIMIT 10

Resultados

                id                 |       timestamp       |                name                 |             previous_page             
-----------------------------------+-----------------------+-------------------------------------+---------------------------------------
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:15:28.0 |                                     | (Home)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:53:05.0 | Home                                | (Kids)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 17:53:45.0 | Kids                                | (Home)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 19:22:34.0 |                                     | (Home)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:01:12.0 | Home                                | (Kids)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:01:57.0 | Kids                                | (Search Results)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:03:36.0 | Search Results                      | (Product Details: Pemmican Power Bar)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:04:30.0 | Product Details: Pemmican Power Bar | (Shopping Cart: Cart Details)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:05:27.0 | Shopping Cart: Cart Details         | (Shopping Cart: Shipping Information)
 457C3510571E5930-69AA721C4CBF9339 | 2017-11-08 20:06:07.0 | Shopping Cart: Shipping Information | (Shopping Cart: Billing Information)
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna previous_page. O valor na coluna previous_page baseia-se no {KEY} usado no ADF.

Intervalo de tempo

O intervalo de tempo permite explorar o comportamento latente do cliente em um determinado período de tempo antes ou depois da ocorrência de um evento.

Tempo entre correspondência anterior

Esse query retorna um número representando a unidade de tempo desde que o evento correspondente anterior foi visualizado. Se nenhum evento correspondente for encontrado, retornará null.

sintaxe do query

TIME_BETWEEN_PREVIOUS_MATCH(
    {TIMESTAMP}, {EVENT_DEFINITION}, {TIME_UNIT})
    OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} Um campo de carimbo de data e hora encontrado no conjunto de dados preenchido em todos os eventos.
{EVENT_DEFINITION} A expressão para qualificar o evento anterior.
{TIME_UNIT} A unidade de saída. O valor possível inclui dias, horas, minutos e segundos. Por padrão, o valor é segundos.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT 
  page_name,
  SUM (time_between_previous_match) / COUNT(page_name) as average_minutes_since_registration
FROM
(
SELECT 
  endUserIds._experience.mcid.id as id, 
  timestamp, web.webPageDetails.name as page_name, 
  TIME_BETWEEN_PREVIOUS_MATCH(timestamp, web.webPageDetails.name='Account Registration|Confirmation', 'minutes')
    OVER(PARTITION BY endUserIds._experience.mcid.id
       ORDER BY timestamp
       ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    AS time_between_previous_match
FROM experience_events
)
WHERE time_between_previous_match IS NOT NULL
GROUP BY page_name
ORDER BY average_minutes_since_registration
LIMIT 10

Resultados

             page_name             | average_minutes_since_registration 
-----------------------------------+------------------------------------
                                   |                                   
 Account Registration|Confirmation |                                0.0
 Seasonal                          |                   5.47029702970297
 Equipment                         |                  6.532110091743119
 Women                             |                  7.287081339712919
 Men                               |                  7.640918580375783
 Product List                      |                  9.387459807073954
 Unlimited Blog|February           |                  9.954545454545455
 Product Details|Buffalo           |                 13.304347826086957
 Unlimited Blog|June               |                  770.4285714285714
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna average_minutes_since_registration. O valor na coluna average_minutes_since_registration é a diferença de tempo entre os eventos atual e anterior. A unidade de tempo foi definida anteriormente em {TIME_UNIT}.

Tempo entre a próxima correspondência

Esse query retorna um número negativo representando a unidade de tempo atrás do próximo evento correspondente. Se um evento correspondente não for encontrado, null será retornado.

sintaxe do query

TIME_BETWEEN_NEXT_MATCH({TIMESTAMP}, {EVENT_DEFINITION}, {TIME_UNIT}) OVER ({PARTITION} {ORDER} {FRAME})
Parâmetro Descrição
{TIMESTAMP} Um campo de carimbo de data e hora encontrado no conjunto de dados preenchido em todos os eventos.
{EVENT_DEFINITION} A expressão para qualificar o próximo evento.
{TIME_UNIT} (Opcional) A unidade de saída. O valor possível inclui dias, horas, minutos e segundos. Por padrão, o valor é segundos.

Uma explicação dos parâmetros dentro da função OVER() pode ser encontrada na seção funções de janela.

Exemplo de query

SELECT 
  page_name,
  SUM (time_between_next_match) / COUNT(page_name) as average_minutes_until_order_confirmation
FROM
(
SELECT 
  endUserIds._experience.mcid.id as id, 
  timestamp, web.webPageDetails.name as page_name, 
  TIME_BETWEEN_NEXT_MATCH(timestamp, web.webPageDetails.name='Shopping Cart|Order Confirmation', 'minutes')
    OVER(PARTITION BY endUserIds._experience.mcid.id
       ORDER BY timestamp
       ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
    AS time_between_next_match
FROM experience_events
)
WHERE time_between_next_match IS NOT NULL
GROUP BY page_name
ORDER BY average_minutes_until_order_confirmation DESC
LIMIT 10

Resultados

             page_name             | average_minutes_until_order_confirmation 
-----------------------------------+------------------------------------------
 Shopping Cart|Order Confirmation  |                                      0.0
 Men                               |                       -9.465295629820051
 Equipment                         |                       -9.682098765432098
 Product List                      |                       -9.690661478599221
 Women                             |                       -9.759459459459459
 Seasonal                          |                                  -10.295
 Shopping Cart|Order Review        |                      -366.33567364956144
 Unlimited Blog|February           |                       -615.0327868852459
 Shopping Cart|Billing Information |                       -775.6200495367711
 Product Details|Buffalo           |                      -1274.9571428571428
(10 rows)

Para o query de amostra fornecido, os resultados são fornecidos na coluna average_minutes_until_order_confirmation. O valor na coluna average_minutes_until_order_confirmation é a diferença de tempo entre os eventos atual e seguinte. A unidade de tempo foi definida anteriormente em {TIME_UNIT}.

Próximas etapas

Usando as funções descritas aqui, você pode gravar query para acessar seus próprios conjuntos de dados Experience Event usando Query Service. Para obter mais informações sobre a criação de query em Query Service, consulte a documentação sobre criação de query.

Recursos adicionais

O vídeo a seguir mostra como executar query na interface do Adobe Experience Platform e em um cliente PSQL. Além disso, o vídeo também usa exemplos envolvendo propriedades individuais em um objeto XDM, usando funções definidas pelo Adobe e usando CREATE TABLE AS SELECT (CTAS).

Nesta página