domingo, 18 de maio de 2014

Cláusula IntervalMatch

IntervalMatch
A cláusula IntervalMatch, aplicada a um comando Load ou Select (SQL) é utilizado para associar valores numéricos distintos a um ou mais intervalos numéricos
A sintaxe geral é:
Load|Select tabela1;
Load|Select tabela2;
intervalmatch (campo)(Load | Select)
Onde campo contém os valores numéricos distintos a serem associados aos intervalos.
load ou select retorna uma tabela de duas colunas, na qual o primeiro campo traz o limite inferior de cada intervalo e o segundo campo traz o limite superior de cada intervalo.
Os intervalos devem estar sempre fechados, isto é, sempre conter pontos de extremidade. Para os limites não-numéricos o intervalo será desconsiderado (indefinido), enquanto os limites com valor NULL fazem com que o intervalo seja infinito (ilimitado).
Quando o comando IntervalMatch for executado o campo que contém os pontos de dados distintos e os intervalos já devem ter sido lidos no Qlikview. Uma vez que o comando IntervalMatch, não lê esses campos a partir da tabela da base de dados por se tratar de uma cláusula .dos comandos Load | Select.
Caso os intervalos estejam sobrepostos os valores distintos serão associados a todos os intervalos correspondentes.
Exemplo:
Examine as duas tabelas abaixo. A primeira exibe as datas de início e término da aplicação de percentuais de participação diferentes. A segunda, lista vários percentuais distintos. Por meio da função IntervalMatch, associaremos as duas tabelas logicamente para saber, por exemplo, quais percentuais de participação foram aplicados em um determinado período de tempo.

Participacao
DataInicio          DataFim                           %Participacao
01/01/2010        31/12/2010                      0,35
01/01/2011        31/12/2011                      0,15
01/01/2012        31/12/2012                      0,20
01/01/2013        31/12/2013                      0,48
01/01/2014        31/12/2014                      0,53

Histórico
Data                    Descricao                       Valor
05/01/2010        Venda de Produtos        5.670,00
25/11/2010        Mão-de_obra                  6.213,00
07/10/2011        Venda de Produtos        5.885,00
25/11/2011        Mão-de_obra                  6.428,00
05/01/2012        Venda de Produtos        6.100,00
19/02/2012        Mão-de_obra                  6.643,00
23/06/2013        Venda de Produtos        6.315,00
29/08/2013        Mão-de_obra                  6.858,00
04/01/2014        Venda de Produtos        6.530,00
24/11/2014        Mão-de_obra                  7.073,00

Primeiro, carregue as duas tabelas da forma habitual e, em seguida, associe o campo Data aos intervalos definidos pelos campos DataInício DataTérmino:

Participacao:
LOAD DataInicio,DataFim,%Participacao Inline [
DataInicio|DataFim|%Participacao
01/01/2010|31/12/2010|0,35
01/01/2011|31/12/2011|0,15
01/01/2012|31/12/2012|0,20
01/01/2013|31/12/2013|0,48
01/01/2014|31/06/2014|0,53
](delimiter is '|') ;

Eventos:
Load * Inline [
Data,Descrição,Valor
05/01/2010,Venda de Produtos, 5.670,00
25/11/2010,Mão-de_obra, 6.213,00
07/10/2011,Venda de Produtos, 5.885,00
25/11/2011,Mão-de_obra, 6.428,00
05/01/2012,Venda de Produtos, 6.100,00
19/02/2012,Mão-de_obra, 6.643,00
23/06/2013,Venda de Produtos, 6.315,00
29/08/2013,Mão-de_obra, 6.858,00
04/01/2014,Venda de Produtos, 6.530,00
24/11/2014,Mão-de_obra, 7.073,00
];
IntervalMatchtab:
IntervalMatch(DataLOAD DataInicioDataFim Resident Participacao;

Agora, tabela a seguir pode ser criada no Qlikview:


Nenhum comentário:

Postar um comentário