Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Load data com novo campo que faz diferenca entre valor e ultimo valor

Boas

Tenho de fazer um dashboard ref. a nº de impressoes Xerox por dep., etc. para comparar com o que nos é faturado.

Acessos a base de dados e ler esta a funcionar...acesso a folha de excel com dados faturados tambem.

Situação... a faturacao é trimestral...estava a usar o max e min e estou a obter diferenças...

o que acontece... por exemplo... (o campo ContagemPB le da base de dados o contador de copias a preto e branco por dia)

Nº Serie           Data               ContagemPB

3636363454      01/11/2014     10

3636363454      30/11/2014     15

3636363454      01/12/2014     25

3636363454      31/12/2014     35

3636363454      01/01/2015     65

3636363454      31/01/2015     85


Se for a ver quantas impressões tenho neste trimestre seria 85-10 = 75

Ao fazer max e min por mes tenho para novembro 5, dezembro 10 e janeiro 20 ... 5 + 10 + 30 = 35...porque...

porque nao estou a contar as impressoes feitas desde a ultima leitura do mês anterior, isto é de 30/11 para 01/12 fiz 10 copias e de 31/12 para 01/12 fiz 30...assim fiz mais 40 copias que nao aparecem no dashboard...


Estava a pensar no load fazer "contas" isto é lia a linha da base de dados e criava um campo novo que seria a diferenca de copias entrte hoje e ontem (ou o ultimo dia que estivesse na base de dados com valor para aquele nº de serie)


Assim o max e min deixariam de ser usados e seria um sum da ContagemPB...


Como posso fazer isto?

Obrigado

Hugo

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

Hugo, você pode fazer com Previous(), veja um exemplo:

LOAD

[Nº Serie]          

Data              

ContagemPB,

if( previous([Nº Serie]) <> [Nº Serie], ContagemPB, ContagemPB - Previous(ContagemPB )) as Contador

FROM Tabela.qvd (qvd)

ORDER BY

[Nº Serie] asc

Data asc;

View solution in original post

4 Replies
nicolett_yuri

Hugo, não consegui entender o que você precisa calcular

Anonymous
Not applicable
Author

Boas

Ter no load um campo "novo" chamado Contador

Nº Serie           Data               ContagemPB     Contador

3636363454      01/11/2014     10                    10    

3636363454      30/11/2014     15                    5

3636363454      01/12/2014     25                    10

3636363454      31/12/2014     35                    10

3636363454      01/01/2015     65                    30

3636363454      31/01/2015     85                    20


O "Contador" seria uma formula "linha corrente" - "linha anterior".(conforme o nº de serie iria buscar a ultima contagem na bd... e se nao houvesse ficaria o valor de ContagemPB


Depois so somaria o Contador e teria o total de copias do periodo selecionado


Obrigado


Hugo

nicolett_yuri

Hugo, você pode fazer com Previous(), veja um exemplo:

LOAD

[Nº Serie]          

Data              

ContagemPB,

if( previous([Nº Serie]) <> [Nº Serie], ContagemPB, ContagemPB - Previous(ContagemPB )) as Contador

FROM Tabela.qvd (qvd)

ORDER BY

[Nº Serie] asc

Data asc;

Anonymous
Not applicable
Author

Boas

Funcionou... obrigadíssimo pela ajuda

Hugo M.