Usando variáveis para filtrar por uma tabela secundária

Às vezes acontece de você precisar filtrar várias métricas de uma tabela secundária. A imagem a seguir mostra um exemplo de modelo.

Para a maioria dos casos, alguém procura resumir as doações feitas por um usuário. Em seguida, poderia se querer comparar quantos eventos alguém frequentou. Ambas essas tarefas podem ser facilmente realizadas por uma soma de Doações.Quantia e COUNT de ID.evento.

Mas e se você quiser informações mais granulares, por exemplo, sobre as pessoas que participaram de um evento específico? As métricas básicas permitem saber quantas pessoas compareceram com qualquer informação demográfica na tabela de usuários. E se você desejar ver a quantidade total de doações de pessoas que participaram desse evento? Como as tabelas não estão diretamente ligadas, não é possível usar métricas básicas.

Nesta situação, cada usuário pode ter participado de vários eventos e ter feito várias doações. Devido à relação de 1:N entre usuários e eventos, provavelmente não faz sentido tentar alterar o modelo de dados para desnormalizar as tabelas.

Usando variáveis e um filtro de métrica, você pode criar um filtro no nosso dashboard para classificar por eventos. A ideia geral é criar uma métrica que faz uma contagem de quantos eventos cada usuário participou e, em seguida, filtrar isso. Se uma pessoa participou de um evento (e com a lista agora sendo filtrada paraapenas esse item), vamos chegar a um valor de 1 que agora podemos usar para filtragem.

O primeiro passo é criar e nomear uma variável. Neste exemplo, a variável é chamada de “Filtro de eventos”. Defina isso como uma variável filtrada e selecione o campo na tabela de eventos que você quer ver no dashboard. Usar o Event.EventName funciona aqui.

Em seguida, crie uma métrica que agrega essa configuração. Crie uma nova métrica, chamada “métrica de filtro de evento” e configure-a no seguinte formato:

SELECT COUNT(EVENT.ID) por USER.ID, ALL OTHER WHERE Variável de filtro de evento

Ela representa uma contagem da ID da tabela secundária (evento), pela ID da tabela primária, filtrada pela variável que acabamos de criar. Entre em cada relatório no seu painel e adicione um filtro de intervalo numérico. Para o atributo, selecione o elevado nível de Ponto de conexão - User.ID nesta situação. Para a métrica, selecione métrica de filtro de evento, onde > 0. Clique em salvar.

Por fim, vá ao seu dashboard e adicione um filtro de variável para o item que você acabou de criar no dashboard.

Agora, sempre que usar o filtro de variável, você pode filtrar os resultados com base na associação do evento. Uma coisa a observar são registros órfãos na tabela de doações. Todas as doações não vinculadas a um usuário vão aparecer em todos os relatórios, independentemente do filtro. Isso pode ser corrigido com um segundo filtro em todos os relatórios. Outra observação é que isto NÃO contará as doações em dobro. Se você selecionar dois grupos e houver alguma sobreposição de adesão, os membros duplos contados não terão suas doações duplicadas.