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 e 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(Data) LOAD DataInicio, DataFim Resident Participacao;
Agora, tabela a seguir pode ser criada no Qlikview:
Nenhum comentário:
Postar um comentário