Análise de conjunto e expressões de conjunto

A análise de conjunto oferece um meio de definir um conjunto (ou grupo) de valores de dados que está diferente do conjunto normal definido pelas seleções atuais.

Geralmente, quando você faz uma seleção, funções de agregação, como Sum,Max,Min,Avg e Count agregam sobre as seleções que você fez: as seleções atuais. Suas seleções automaticamente definem o conjunto de dados para agregar por cima. Com a análise de conjunto você pode definir um grupo que é independente das seleções atuais. Isso pode ser útil se você quer mostrar um valor particular, por exemplo, participação de mercado de um produto em todas as regiões, independentemente das seleções atuais.

Análise de conjunto também é útil quando se faz diferentes tipos de comparação, como produtos mais vendidos comparados com os produtos menos vendidos, ou esse ano comparado ao ano passado.

Imagine um exemplo no qual você começa a trabalhar em um aplicativo selecionando o ano de 2010 em uma caixa de filtro. As agregações são então baseadas nessa seleção, e as visualizações mostram apenas valores para aquele ano. Quando você faz novas seleções, as visualização são atualizadas de acordo. As agregações são feitas sobre o conjunto de registros possíveis definido pela seleção atual. Com a análise de conjunto, você pode definir um conjunto que é de seu interesse e não depende dessas seleções.

Criando expressões de conjunto

Antes de olhar para partes diferentes de um exemplo da análise de conjunto, há uma distinção que deve ser feita entre uma expressão de conjunto e análise de conjunto:

A definição de um conjunto de valores de campo é chamada de definição de uma expressão de conjunto; enquanto que o uso de expressões de conjunto para analisar os dados é chamado de análise de conjunto. Consequentemente, o resto dessa seção foca na expressão de conjunto e seus componentes.

Aqui está um exemplo de análise de conjunto: sum( {$<Year={2009}>} Sales ), em que {$<Year={2009}>} é uma expressão de conjunto.

Há duas regras gerais de sintaxe para uma expressão de conjunto:

  • Uma expressão de conjunto deve ser usada em uma função de agregação. Nesse exemplo, a função de agregação é sum(Sales).
  • Uma expressão de conjunto deve estar dentro de chaves, {}. No exemplo, a expressão de conjunto é: {$<Year={2009}>}.

Uma expressão de conjunto consiste em uma combinação das seguintes partes:

  • Identificadores. Um ou mais identificadores definem a relação entre a expressão de conjunto e o que está sendo avaliado no resto da expressão. Uma expressão de conjunto consiste de um identificador único, como o sinal de dólar, {$}, que significa todos os registros na seleção atual.
  • Operadores. Se há mais do que um identificador, um operador ou operadores são usados para refinar o conjunto de dados especificando como os conjuntos de dados representados pelos identificadores são combinados para criar um subconjunto ou superconjunto, por exemplo.
  • Modificadores. Um modificador ou modificadores podem ser adicionados à expressão do conjunto para mudar a seleção. Um modificador pode ser usado sozinho ou para modificar um identificador para filtrar o conjunto de dados.

Examples:  

Example 1:  

{$<Year={2009}>}

Esta expressão de conjunto contém um identificador $ e o modificador <Year={2009>}. Esse exemplo não inclui um operador. A expressão de conjunto é interpretada como: "Todos os registros na seleção atual que pertencem ao ano de 2009".

Example 2:  

Sum({$<Year={2009}>+1<Country={'Sweden'}>} Sales)

Esta expressão de conjunto contém os identificadores $ e 1, o operador + e os modificadores <Year={2009}> e <Country={'Sweden'}>.

Esta expressão de conjunto foi criada para somar as vendas do ano de 2009 associadas às seleções atuais e adicionar o conjunto completo de dados associados ao país Sweden em todos os anos.

Nota: Expressões de conjunto podem ser apenas usadas em expressões para visualização, não em expressões de script.

Identificadores, operadores e modificadores são descritos em mais detalhes dentro das subseções seguintes.

Identificadores

Identificadores definem a relação entre a expressão de conjunto e os valores do campo ou expressão que está sendo avaliada.

Em nosso exemplo sum( {$<Year={2009}>} Sales ), o identificador é o sinal de dólar, $, e significa que o conjunto de registros a serem avaliados consiste em todos os registros da seleção atual. Esse conjunto é então filtrado ainda mais pela parte modificadora da expressão de conjunto. Em uma expressão de conjunto mais complexa, dois identificadores podem ser combinados usando um operador.

Essa tabela mostra alguns identificadores comuns.

Identificadores
Identificador Descrição
1 Representa um conjunto completo de todos os registros no aplicativo, independente de quaisquer seleções feitas.
$ Representa os registros da seleção atual. A expressão de conjunto {$} é equivalente a não definir uma expressão de conjunto.
$1 Representa a seleção anterior. $2 representa seleção-menos-um anterior, e adiante.
$_1 Representa a próxima (para frente) seleção. $_2 representa a próxima seleção-mais-um, e adiante.
BM01 Você pode usar qualquer ID do marcador ou nome do marcador.
MyAltState Você pode fazer referência às seleções realizadas em um estado alternado por seu nome de estado.

Essa tabela mostra alguns exemplos com identificadores diferentes.

Exemplos com identificadores diferentes
Exemplo Resultado
sum ({1} Sales) Retorna o total das vendas no aplicativo, desconsiderando as seleções porém não a dimensão.

sum ({$} Sales)

Retorna as vendas da seleção atual , ou seja , o mesmo que sum(Sales).

sum ({$1} Sales)

Retorna as vendas da seleção anterior.

sum ({BM01} Sales)

Retorna as vendas do marcador chamado BM01.

Operadores

Os operadores são usados para incluir, excluir ou cruzar conjuntos de dados inteiros ou em partes. Todos os operadores usam conjuntos como operandos e retornam um conjunto como resultado.

Essa tabela mostra operadores que podem ser usados nas expressões de conjunto.

Operadores
Operador Descrição
+ União. Essa operação binária retorna um conjunto formado pelos registros que pertencem a qualquer um dos dois operandos do conjunto.
- Exclusão. Essa operação binária retorna um conjunto formado pelos registros que pertencem apenas ao primeiro operando do conjunto, mas não ao outro. Além disso, quando usada como um operador unário, ela retorna o conjunto complementar.
* Interseção. Essa operação binária retorna um conjunto formado pelos registros que pertencem aos dois operandos do conjunto.
/ Diferença simétrica (XOR). Essa operação binária retorna um conjunto formado pelos registros que pertencem a um dos dois operandos do conjunto.

Essa tabela mostra alguns exemplos com operadores.

Exemplos com operadores
Exemplos Resultados
sum( {1-$} Sales ) Retorna vendas de tudo excluído pela seleção.
sum( {$*BM01} Sales ) Retorna as vendas da interseção entre a seleção e o marcador BM01.
sum( {-($+BM01)} Sales )

Retorna as vendas excluídas pela seleção e o marcador BM01.

Sum({$<Year={2009}>+1<Country={'Sweden'}>} Sales) Retorna as vendas do ano de 2009 associadas às seleções atuais e adiciona o conjunto completo de dados associados ao país Sweden em todos os anos.

Modificadores

Os modificadores são usados para fazer adições ou mudanças à uma seleção. Essas modificações podem ser escritas na expressão de conjunto. Um modificador consiste em um ou em vários nomes de campo, cada um seguido de uma ou várias seleções que devem ser feitas no campo. Modificadores começam e terminam com chevrons (sinal de maior/menor), <>.

Um modificador de conjunto modifica a seleção do identificador do conjunto anterior. Se nenhum identificador do conjunto for referenciado, o estado de seleção atual está implícito.

Essa tabela mostra alguns exemplos com modificadores.

Modificadores
Exemplo Resultado
sum({$<OrderDate = DeliveryDate>} Sales) Retorna as vendas da seleção atual onde OrderDate = DeliveryDate.

sum({1<Region = {US}>} Sales)

Retorna as vendas da região dos EUA, desconsiderando a seleção atual.

sum({$<Region = >} Sales)

Retorna as vendas da seleção, mas com a seleção em 'Region' removida.

sum({<Region = >} Sales)

Retorna o mesmo como o exemplo acima. Quando o conjunto para modificar for omitido, $ é adotado.

sum({$<Year={2000}, Region={“U*”}>} Sales) Retorna as vendas da seleção atual, mas com novas seleções ambas em 'Year' e em 'Region'.

Consulte Modificadores de conjunto para ver uma descrição mais detalhada dos modificadores e como usá-los em análises de conjunto mais complexas.