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 documento selecionando o ano de 2010 em uma lista. Então, as agregações são baseadas nessa seleção, e os gráficos mostram apenas valores para aquele ano. Quando você faz novas seleções, os gráficos são atualizados 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.

Eis 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 dolar, {$}, 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.

Exemplos:  

Exemplo 1:  

{$<Year={2009}>}

Essa 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".

Exemplo 2:  

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

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

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

Nota: Expressões de conjunto podem ser usadas apenas em expressões de gráficos, 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 dolar, $, e significa que o conjunto de registros a serem avaliados consistem de 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.

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 referenciar as seleções feitas em outro estado pelo nome do estado.

Essa tabela mostra alguns exemplos com identificadores diferentes.

Exemplo Resultado
sum ({1} Sales) Retorna o total das vendas no documento, 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.

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 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 para o ano de 2009 com as seleções atuais e adiciona o conjunto completo de dados associados com o 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 se aplica à seleção do identificador de conjunto anterior. Caso nenhum identificador de conjunto seja informado como referência, o estado de seleção atual estará implícito.

Essa tabela mostra alguns exemplos com 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 identificador de conjunto a ser modificado é omitido, o estado herdado é adotado.

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

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