Como usar cálculos com reconhecimento de nível no Amazon QuickSight - Amazon QuickSight

Como usar cálculos com reconhecimento de nível no Amazon QuickSight

   Aplica-se a: Enterprise Edition e Standard Edition 

Com os cálculos com reconhecimento de nível (LAC), você pode especificar o nível de granularidade que deseja para computar funções de janela ou funções agregadas. Há dois tipos de funções LAC: cálculo com reconhecimento de nível para funções agregadas (LAC-A) e cálculo com reconhecimento de nível para funções de janela (LAC-W).

Cálculo com reconhecimento de nível para funções agregadas (LAC-A)

Com as funções LAC-A, você pode especificar em qual nível agrupar a computação. Ao adicionar um argumento a uma função agregada existente, como sum() , max() , count(), você pode definir qualquer nível de agrupamento que desejar para a agregação. O nível adicionado pode ser qualquer dimensão, independente das dimensões adicionadas ao elemento visual. Por exemplo:

sum(measure,[group_field_A])

Para usar as funções LAC-A, digite-as diretamente no editor de cálculo adicionando os níveis de agregação pretendidos como o segundo argumento entre colchetes. A seguir está um exemplo de uma função agregada e uma função LAC-A, para comparação.

  • Função agregada: sum({sales})

  • Função LAC-A: sum({sales}, [{Country},{Product}])

Os resultados do LAC-A são computados com o nível especificado entre colchetes [ ] e podem ser usados como operando de uma função agregada. O nível de agrupamento da função agregada é o nível visual, com campos Agrupar por adicionados à fonte de campo do elemento visual.

Além de criar uma chave de grupo LAC estática no colchete [ ], você pode adaptá-la dinamicamente aos campos visuais de agrupamento, colocando um parâmetro $visualDimensions no colchete. Esse é um parâmetro fornecido pelo sistema, em contraste com o parâmetro definido pelo usuário. O parâmetro [$visualDimensions] representa os campos adicionados à fonte de campo Agrupar por no elemento visual atual. Os exemplos a seguir mostram como adicionar dinamicamente chaves de grupo às dimensões visuais ou remover chaves de grupo das dimensões visuais.

  • LAC-A com chave de grupo dinamicamente adicionada: sum({sales}, [${visualDimensions},{Country},{Products}])

    Ele calcula, antes que a agregação de nível visual seja calculada, a soma das vendas, agrupando por country, products e quaisquer outros campos na fonte de campo Agrupar por.

  • LAC-A com chave de grupo dinamicamente removida: sum({sales}, [${visualDimensions},!{Country},!{Products}])

    Ele calcula, antes que a agregação de nível visual seja calculada, a soma das vendas, agrupando pelos campos na fonte de campo Agrupar por do elemento visual, exceto country e product.

Você pode especificar a chave de grupo adicionada ou a chave de grupo removida na expressão LAC, mas não ambas.

As funções LAC-A são compatíveis com as seguintes funções agregadas:

Exemplos de LAC-A

Você pode fazer o seguinte com as funções LAC-A:

  • Executar cálculos que sejam independentes dos níveis no elemento visual. Por exemplo, se você tiver o cálculo a seguir, os números de vendas serão agregados somente no nível do país, mas não em outras dimensões (região ou produto) no elemento visual.

    sum({Sales},[{Country}])
    Os números de vendas são agregados somente no nível do país.
  • Executar cálculos para as dimensões que não estão no elemento visual. Por exemplo, se você tiver a função a seguir, será possível calcular a média das vendas totais do país por região.

    sum({Sales},[{Country}])

    Embora o país não esteja incluído no elemento visual, a função LAC-A primeiro agrega as vendas no nível do país e, em seguida, o cálculo de nível visual gera o número médio para cada região. Se a função LAC-A não for usada para especificar o nível, a média das vendas será calculada no nível granular mais baixo (o nível básico do conjunto de dados) de cada região (exibido na coluna de vendas).

    A função LAC-A primeiro agrega as vendas no nível do país e depois no nível visual.
  • Usar LAC-A em combinação com outras funções agregadas e funções LAC-W. Há duas formas de aninhar funções LAC-A com outras.

    • Você pode escrever uma sintaxe aninhada ao criar um cálculo. Por exemplo, a função LAC-A pode ser aninhada com uma função LAC-W para calcular o total de vendas por país usando o preço médio de cada produto:

      sum(avgOver({Sales},[{Product}],PRE_AGG),[{Country}])
    • Ao adicionar uma função LAC-A a um elemento visual, o cálculo pode ser ainda mais aninhado com as funções agregadas de nível visual que você selecionou na fonte de campos. Para obter mais informações sobre como alterar a agregação de campos no elemento visual, consulte Como alterar ou adicionar uma agregação a um campo ao usar uma fonte de campo.

      Usar as opções de agregação visual para aninhar ainda mais uma função LAC-A.

Limitações do LAC-A

As seguintes limitações se aplicam às funções LAC-A:

  • As funções LAC-A são compatíveis com todas as funções agregadas aditivas e não aditivas, como, sum(), count() e percentile(). As funções LAC-A não são compatíveis com funções agregadas condicionais que terminam com "if", como sumif() e countif(), nem com funções agregadas de período que começam com "periodToDate", como periodToDateSum() e periodToDateMax().

  • Atualmente, não há suporte para totais em nível de linha e de coluna para funções LAC-A em tabelas e tabelas dinâmicas. Quando você adiciona totais em nível de linha ou de coluna ao gráfico, o número total é exibido em branco. Outras dimensões que não sejam do LAC não são afetadas.

  • Atualmente, não há suporte para as funções LAC-A aninhadas. Há suporte para uma capacidade limitada de funções LAC-A aninhadas com funções agregadas regulares e funções LAC-W.

    Por exemplo, as seguintes funções são válidas:

    • Aggregation(LAC-A()). Por exemplo: max(sum({sales}, [{country}]))

    • LAC-A(LAC-W()). Por exemplo: sum(sumOver({Sales},[{Product}],PRE_AGG), [{Country}])

    As seguintes funções não são válidas:

    • LAC-A(Aggregation()). Por exemplo: sum(max({sales}), [{country}])

    • LAC-A(LAC-A()). Por exemplo: sum(max({sales}, [{country}]),[category])

    • LAC-W(LAC-A()). Por exemplo: sumOver(sum({Sales},[{Product}]),[{Country}],PRE_AGG)

Cálculo com reconhecimento de nível para funções de janela (LAC-W)

Com as funções LAC-W, você pode especificar a janela ou a partição para computar o cálculo. As funções LAC-W são um grupo de funções de janela, como sumover(), (maxover), denseRank, que você pode executar no nível de pré-filtro ou pré-agregado. Por exemplo: sumOver(measure,[partition_field_A],pre_agg).

As funções LAC-W eram chamadas de agregações com reconhecimento de nível (LAA).

As funções LAC-W ajudam você a responder aos seguintes tipos de perguntas:

  • Quantos dos meus clientes fizeram apenas um pedido de compra? Ou 10? Ou 50? Queremos que o visual use a contagem como uma dimensão e não como uma métrica no visual.

  • Quais são as vendas totais por segmento de mercado para clientes cujos gastos em tempo de vida sejam superiores a 100.000 USD? O visual deve mostrar apenas o segmento de mercado e o total de vendas para cada um deles.

  • Qual é a contribuição de cada setor para todo o lucro da empresa (porcentagem do total)? Queremos poder filtrar o visual para mostrar alguns dos setores e como eles contribuem para o total de vendas dos setores exibidos. Porém, também queremos ver a porcentagem do total de vendas de cada setor para toda a empresa (incluindo os setores filtrados).

  • Qual é o total de vendas de cada categoria em comparação com a média do setor? A média do setor deve incluir todas as categorias, mesmo após a filtragem.

  • Como meus clientes são agrupados em intervalos de gastos cumulativos? Queremos usar o agrupamento como uma dimensão e não como uma métrica.

Em caso de perguntas mais complexas, você pode injetar um cálculo ou filtro antes que o QuickSight chegue a um ponto específico na avaliação das configurações. Para influenciar diretamente os resultados, adicione uma palavra-chave em nível de cálculo a um cálculo de tabela. Para obter mais informações sobre como o QuickSight avalia consultas, consulte Ordem de avaliação no Amazon QuickSight.

Há suporte para os seguintes níveis de cálculo nas funções LAC-W:

  • PRE_FILTER: antes de aplicar filtros da análise, o QuickSight avalia os cálculos de pré-filtro. Depois, aplica todos os filtros configurados nesses cálculos de pré-filtro.

  • PRE_AGG: antes de computar agregações em nível de exibição, o QuickSight executa cálculos de pré-agregação. Depois, aplica todos os filtros configurados nesses cálculos de pré-agregação. Esse trabalho acontece antes da aplicação de N filtros superiores e inferiores.

Você pode usar a palavra-chave PRE_AGG ou PRE_FILTER como um parâmetro nas funções de cálculo de tabela a seguir. Ao especificar um nível de cálculo, você usa uma medida não agregada na função. Por exemplo, você poderá usar o countOver({ORDER ID}, [{Customer ID}], PRE_AGG). Ao usar PRE_AGG, você especifica que o countOver é executado no nível de pré-agregação.

Por padrão, o primeiro parâmetro de cada função deve ser uma medida agregada. Se usar PRE_FILTER ou PRE_AGG, você usará uma medida não agregada para o primeiro parâmetro.

Para funções LAC-W, a agregação visual é padronizada como MIN para eliminar duplicatas. Para alterar a agregação, abra o menu de contexto do campo (clique com o botão direito do mouse) e escolha uma agregação diferente.

Para obter exemplos de quando e de como usar as funções LAC-W em cenários reais, consulte a seguinte publicação no Blog da AWS de big data: Create advanced insights using Level Aware Aggregations in Amazon QuickSight.