Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou abrindo outra discussão e fechando a anterior para tentar facilitar o que preciso.
No qvf em anexo tem a base de dados e a tabela abaixo é o resultado que preciso conseguir.
Até agora, não descobri como fazer a extração com esses resultados.
Periodo | Adm | Dem | Func |
jan/18 | 20 | 0 | 20 |
fev/18 | 32 | 0 | 52 |
mar/18 | 24 | 1 | 75 |
abr/18 | 14 | 0 | 89 |
mai/18 | 17 | 1 | 105 |
jun/18 | 20 | 1 | 124 |
jul/18 | 16 | 0 | 140 |
ago/18 | 23 | 3 | 160 |
set/18 | 15 | 5 | 170 |
10/2018 | 1 | 0 | 171 |
Agradeço desde já quem puder dar uma luz sobre essas questões.
Abraços,
Ernesto,
Boa Tarde
Cria um intervalo de datas, entre o DATAADM e DATADEM, e uma FLAG se estava ativo ou não .. dai consegues criar usando set analysis ...Basicamente isso:
INTERVALO:
LOAD
%CHAVE,
CODIGOFUNCPESSOA,
DATAADM,
DATADEM,
If(DATADEM = (Date( DATAADM + IterNo() - 1 )),'0','1') AS FLAG,
Date( DATAADM + IterNo() - 1 ) as 'Data'
While DATAADM + IterNo() - 1 <= if(IsNull(DATADEM),Today(), DATADEM);
PESSOAL:
LOAD
%CHAVE,
CODIGOFUNCPESSOA,
DATAADM,
DATADEM,
FUNCATIVO
FROM [lib://Transformados/QT_TEMPFUNC.qvd]
(qvd)
where
;
Dai usando o set analysis:
Count({$<FLAG={'1'}>}distinct CODIGOFUNCPESSOA)
-
Count({$<FLAG={'0'}>}distinct CODIGOFUNCPESSOA)
Tens o total de ativo!
Next time, please try to write in english .
With that being said, here u go :
Func:
aggr(
Rangesum(Above(
Sum(aggr(count(if([Periodo.Cal.Ano Mês] >= [DATAADM.Cal.Ano Mês]
and ([Periodo.Cal.Ano Mês] <= [DATADEM.Cal.Ano Mês])
or isnull([Periodo.Cal.Ano Mês])
, [%CHAVE] ))
, [%CHAVE], [Periodo.Cal.Ano Mês], CODIGOFUNCCONTR ))
,0,rowno()))
,(Periodo,(Numeric,Ascend)))
result:
Hi Omar,
You're right, sorry.
Your suggestion is very good!
It helps me in the case of the table, however, I would really like to have a solution to a question like:
How many admissions, dismissals and assets in May / 2018? No need to set up a table for this.
Anyway, for a table, your idea helps a lot!
Thank you !
In a KPI?
Well then just do sthing as follow:
count({<Year,Month,Date={"<=$(=max(Date))"}>}UrMeasure)
Hiope this helps
Why this not work ?
count({<[DATAADM.Cal.Ano],[DATAADM.Cal.Mês],DATAADM={"<=$(=max([Periodo.Cal.Ano Mês]))"}>}CODIGOFUNCCONTR)
Or
count({<[DATAADM.Cal.Ano],[DATAADM.Cal.Mês],DATAADM={"<=$(=("01/2018"))"}>}CODIGOFUNCCONTR)
it's Date={"<=$(=max(Date))"} not month
DATAADM={"<=$(=max("01/01/2018"))"} ? Not work too.
Date is DATAADM or DATADEM, right ?
I need to compare DATAADM with PERIODO.
Ernesto,
Boa Tarde
Cria um intervalo de datas, entre o DATAADM e DATADEM, e uma FLAG se estava ativo ou não .. dai consegues criar usando set analysis ...Basicamente isso:
INTERVALO:
LOAD
%CHAVE,
CODIGOFUNCPESSOA,
DATAADM,
DATADEM,
If(DATADEM = (Date( DATAADM + IterNo() - 1 )),'0','1') AS FLAG,
Date( DATAADM + IterNo() - 1 ) as 'Data'
While DATAADM + IterNo() - 1 <= if(IsNull(DATADEM),Today(), DATADEM);
PESSOAL:
LOAD
%CHAVE,
CODIGOFUNCPESSOA,
DATAADM,
DATADEM,
FUNCATIVO
FROM [lib://Transformados/QT_TEMPFUNC.qvd]
(qvd)
where
;
Dai usando o set analysis:
Count({$<FLAG={'1'}>}distinct CODIGOFUNCPESSOA)
-
Count({$<FLAG={'0'}>}distinct CODIGOFUNCPESSOA)
Tens o total de ativo!
Valeu Mario ! Deu certo aqui !
Obrigado !
Omar, thanks a lot for your help !