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).
Tópicos
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
eproduct
.
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}])
-
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).
-
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.
-
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()
epercentile()
. As funções LAC-A não são compatíveis com funções agregadas condicionais que terminam com "if", comosumif()
ecountif()
, nem com funções agregadas de período que começam com "periodToDate", comoperiodToDateSum()
eperiodToDateMax()
. -
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