Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá,
Tenho uma tabela assim:
Eu criei o campo ChaveData baseado no Status da Tarefa. Então o valor que o campo ChaveData recebe é mostrado na tabela abaixo:
o campo ChaveData é ligado a milha tabela de calendário.
Porém se o usuário selecionar o Filtro Ano para 2017 ele obterá os seguintes valores:
Tarefas Em Andamento = 1
Tarefas Solicitadas = 1
Tarefas Suspensas = 1
Tarefas Canceladas = 1
Como posso fazer para contar as tarefas que foram cadastradas no ano de 2017 pela data de registro baseado no filtro da ChaveData?
Isaias,
Fiz algumas alterações no script e na expressão da Medida.
Na imagem abaixo está feita uma seleção do ano de 2016. Porem repare que existem tarefas com data chave em 2013, 2014 e 2015, que foram registradas, iniciadas ou concluídas em 2016. É isso que voce precisa? Se for analise as alterações que fiz no script e na expressão da Medida. Estou anexando o QVF ajustado.
Tive que criar uma conexão para extrair dados de uma planilha que gerei a partir do QVF original, se for o caso redirecione para a sua conexão original.
Espero ter ajudado.
Isaias,
Voce pode disponibilizar o QVF?
Se nao puder, pode passar imagens do script e modelo de dados para eu tentar te ajudar?
Mauro,
O script é bem simples
O meu modelo está assim
consegui resolver parcialmente fazendo assim:
count(if(Year(ChaveData)=Year(DataRegistro), CodTarefaPai))
Porém não está 100% correto, pois em algumas tarefas o ano da DataRegistro não fecha com o ano da ChaveData.
Isaias,
Me passe tambem o script onde voce cria o calendario.
Segue o script do calendario:
LET vMinDate = NUM(DATE(FLOOR(MAKEDATE(2010,1,1))));
LET vMaxDate = NUM(DATE(FLOOR(TODAY())));
TempCalendar:
LOAD
$(vMinDate) + IterNo()-1 As Num,
Date($(vMinDate) + IterNo()-1) As TempData
AutoGenerate 1 While $(vMinDate) + IterNo()-1 <= $(vMaxDate);
Calendario:
LOAD
TempData As ChaveData,
Year(TempData) As Ano,
Month(TempData) As Mês,
Date(TempData, 'DD') as Dia
RESIDENT TempCalendar;
DROP TABLE TempCalendar;
Boa tarde isaiasdd.
Acredito que se você quer filtrar pela data de registro independentemente da chave, ....
=Count(If( Num(Year(Date(DataRegistro))) = Num(Year(Today()))) , Tarefas)
=Count({$<DataRegistro={"=$(=Num(Year(Date(DataRegistro)))) = $(=Num(Year(Today()))))"}>}Tarefas)
Att,
Isaias,
Pelo que entendi no seu caso o CodTarefaPai=100 deve ficar fora da contagem, é isso? já que a chave é de 2017 mas o registro é de 2016?
Se for isso Tente o Seguinte, cria na tabela Tarefas um campo ano da datachave e compare no set analisys da expressão com o ano da data de registro.
Acrescente no script abaixo o seguinte:
year(if(match(CodStatus,1,4,5), DataRegistro,
if(CodStaus=2, DataInicio,
if(CodStatus=3, DataTermino)))) as Ano_DataChave
Na expressão tente assim:
count({<Ano_DataChave={"=$(=Year(DataRegistro))"}>}CodTarefaPai)
Dessa forma o CodTarefaPai=100 deve ficar fora da contagem.
Veja se Resolver.
O codTarefaPai=105 tbm deveria ficar fora, pois foi registrado em 2016 e o usuário está filtrando 2017.
No caso eu teria 4 tarefas cadastradas em 2017. e 2 cadastradas em 2016.
Só que o codTarefaPai=100 deve aparcer como concluída em 2017 e registrado em 2016.
Tente:
count({<Ano_DataChave="=$(=rangemax(Year(Total DataRegistro),Year(Total DataInicio),Year(Total DataTermino))"}>}CodTarefaPai)
Isaias,
Voce pode disponibilizar o QVF? ou pelo menos a imagem do gráfico ou tabela que voce deseja como resultado final?