Encontrando datas mín e máx usando aritmética de data
Às vezes você deseja extrair dados com base nas primeiras ou últimas datas da ocorrência de eventos específicos. Por exemplo, agentes de suporte querem descobrir os tíquetes não solucionados mais antigos na sua fila de help desk.
No GoodData, você pode usar a aritmética de data com atributos de data, a mesma lógica pode ser aplicada em métricas, usando um modelo mais simples de dados lógicos (LDM) e métricas menos complexas.
Exemplo de LDM:
Para descobrir qual tipo de evento ocorreu primeiro em cada cidade, use a aritmética de data para encontrar a primeira data ou data MIN (data inicial) que ocorrem em cada cidade.
Conectando datas a eventos
No diagrama LDM, atributos e fatos só podem ser divididos e segmentado por objetos diretamente conectados à esquerda deles.
Neste exemplo, Data (Data inicial) não tem objetos ligados à sua esquerda.
Então, em primeiro lugar, reconecte ao seu ponto de conexão, Evento, com MAQL:
SELECT Date (data inicial) BY evento
A cláusula BY permite à métrica interagir com o resto dos conjunto de dados do evento e cidade.
Identificar a primeira data (mais antiga)
Em seguida, crie uma métrica “Primeira data inicial por cidade”. Isto encontra a primeira data de início ocorrida em cada cidade:
SELECT MIN ((SELECT Data (Data inicial) BY Evento)) BY cidade, ALL OTHER
As causas BY cidade e ALL OTHER de cada cidade retornam a primeira data do evento, mesmo se vários eventos ocorreram em cada cidade.
Esta data é representada por um valor numérico e não uma data real:
Exemplo:
Use o exemplo a seguir para métrica e formato de número personalizado para exibir o formato de data como aaaa-mm-dd:
SELECT MAX ((SELECT (10000 * MAX(Ano(Data))) + (100 * MAX(Mês (Data))) + (MAX(Dia do mês (Data))) BY <connection point>))
WHERE (SELECT COUNT(Data (Data), <connection point>) BY Year (Data), ALL OTHER) > 0
Formato de número personalizado:
[=null]N/A; ########
Inserindo a métrica em seu relatório
Por último, adicione a métrica anterior na métrica de final que encontra o número de eventos que ocorreram nessa data específica:
SELECT COUNT (evento) Data WHERE (data inicial) = Primeira data inicial por cidade
Use a métrica “Primeira data inicial por cidade” para contar apenas o primeiro evento que ocorreu em cada cidade.
A métrica final exibe que evento ocorreu primeiro em cada cidade. Todos os eventos subsequentes foram filtrados do relatório.
Para obter mais detalhes sobre como trabalhar com datas, consulte Aritmética de atributo de data.