Levantamento explícito

Levantamento explícito é uma característica do mecanismo Extensible Analytics do GoodDataque que oferece a você maior flexibilidade na agregação de métricas em relatórios.

No diagrama de modelo de dados lógicos (LDM) abaixo, as métricas agregadas do fato de valor, tais como SELECT SUM(Valor), podem ser agregadas por qualquer um dos atributos em vermelho. Observe que esses são os atributos com setas que apontam para o valor.

Com o levantamento explícito, você pode percorrer a granulidade da agregação usando a palavra-chave BY para bloquear o nível de agregação em um atributo que de outro modo você não poderia usar para segmentar uma determinada métrica.

No exemplo a seguir, no mesmo LDM, veja como o levantamento explícito permite segmentar a métrica de Número de residentes por Shop_ID, mesmo que Shop_ID não pareça estar relacionado ao fato Número de residentes .

Esta agregação é descrita detalhadamente no exemplo 1 abaixo.

Exemplo 1 - Fazendo o levantamento de um nível de agregação

A métrica a seguir representa o número total de residentes em uma cidade.

SELECT SUM (Número de residentes)

No LDM do projeto exibido abaixo, você pode ver que a métrica Número de residentes pode ser segmentada por cidade (Town_ID) ou por condado(Condado).

O relatório resultante se parece com o seguinte:

Com o levantamento explícita, você pode segmentar métricas por outros atributos que não estão diretamente relacionados ao fato fundamental da métrica. Por exemplo, você pode modificar a sua definição para segmentar a métrica de Número de residentes por Shop_ID.

SELECT SUM (Número de residentes) BY Shop_ID

O relatório mostra agora o Número de residentes na cidade onde estão localizadas cada loja. A métrica é agregada em nível de Town_ID .

Agora você pode comparar a métrica de Número de residentes lado a lado com uma métrica que representa a receita bruta de cada loja (ou seja, o valor total de todas as transações agregadas em nível de Shop_ID ).

Para contar a receita bruta, crie a seguinte métrica:

SELECT SUM(Valor)

Você pode dividir essa métrica por qualquer atributo relacionado de maior granularidade (consulte atributos vermelhos no primeiro gráfico, acima), adicionando os atributos no nível do relatório.

Por exemplo, adicione os atributos Condado, , Town_IDe Shop_ID ao relatório. Isso permite que você procure correlações entre o número de residentes na cidade em que uma loja está localizada e a receita bruta de cada loja.

Exemplo 2 - Levantamento através de vários níveis de agregação

Usando este mesmo LDM como noExemplo 1, você pode rever os gerentes mais bem-sucedidos na administração das lojas: calcule o valor total da transação associado a cada gerente de loja.

Esse Gerente não está relacionado ao fato Valor no LDM. Com o levantamento explícito, você pode agregar Valor em nível de Shop_ID e especificar que esses valores devem ser agregados em nível de registros de funcionários. Isso permite que você segmente por atributo gerente relacionado com registros de funcionários.

Em primeiro lugar, escreva uma métrica que agrega o Valor de transações individuais em nível de cada loja. Isso calcula o valor total de todas as transações efetuadas em cada loja:

SELECT SUM(Valor) BY Shop_ID

Em seguida, agregue esses valores em nível de Registros de funcionários.

SELECT ((SELECT SUM(Valor) BY Shop_ID)) BY Registros de funcionários

Por fim, adicione a função de agregação MAX para desdobrar a métrica para o nível de gerente.

SELECT MAX((SELECT ((SELECT SUM(Valor) BY Shop_ID)) BY Registros de funcionários

O aninhamento de SELECT em torno de SUM evita a dupla contagem (pressupondo-se uma relação de 1:1 entre gerentes e lojas); agregar com SUM em vez de MAX, multiplicaria cada valor pelo número de funcionários atribuídos ao gerente e à loja.

Observe que, se um gerente gerencia várias lojas, estes resultados de métrica aninhados vão duplicar a contagem de valores, o que é um problema comum com relações M:N.

O relatório resultante exibe a agregação de valores de transação individual – receitas totais de transações – segmentada por gerente da loja.

 

Alterne para uma visualização diferente para ver quem consegue o melhor desempenho lojas e receita bruta adquirida por loja de cada gerente.

Exemplo 3 - Levantamento explícito avançado

Você também pode contar o tempo médio decorrido entre duas primeiras transações dos clientes.

Uso o levantamento explícito para bloquear a Data da transação em nível de transações individuais com a palavra-chave BY . Você pode então calcular a diferença entre as datas de transações para cada cliente. Isso exibe o período de tempo para cada cliente, bem como a média para o tempo decorrido entre transações em todos os clientes.

Primeiro, você deve contar as datas das transações. Selecione os valores de data das várias operações, a agregação não é necessária.

SELECT Date (Data da transação) BY Registros de transação

Em seguida, crie duas métricas que fazem referência à métrica levantada da data original data:

  • Uma métrica que filtra as primeiras datas de compra
  • Uma métrica que filtra as segundas datas de compra

 

MAX(Data de transação levantada) WHERE Número de compra = 1
MAX(Data de transação levantada) WHERE Número de compra = 2

Essas métricas agregam a data de transação levantada com uma função MAX para filtrá-la por número da compra. As razões para isso são:

  • SUM funciona se houver apenas um valor de dados que corresponda a um número de compra = 2. Se houver múltiplo valores onde número de compra = 2, os valores de métrica são contados duplamente.
  • AVG assemelha-se à intenção da métrica. No entanto, a AVG leva mais tempo para calcular.

Finalmente, crie uma métrica que calcula a diferença entre as métricas de data de compra. Então você pode segmentar o resultado final por Comprador, que é o atributo de nível de relatório.

SELECT AVG (Data de segunda compra-Data de primeira  compra)

O relatório resultante mostra a duração entre primeiras e segunda visitas discriminadas pelo atributo Comprador.

Adicionando a métrica Valor total ao relatório (SELECT SUM(Valor)) para procurar correlações em duração entre transações iniciais e o montante total gasto.

Para encontrar a duração média entre as duas primeiras transações através de todos os compradores, modifique a métrica e remova todos os atributos de relatório:

SELECT AVG ((SELECT data de segunda compra - Data de primeira compra do comprador))

 

Average duration across all shoppers