Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom Dia
Estou criando alguns indicadores de desempenho para equipe de TI aqui da empresa e alguns deles é encontrar os chamados que foram finalizados antes do prazo, finalizados dentro do prazo e finalizados após o prazo, porém não consegui entender e criar via set analysis para trabalhar com mais de uma situação, segue abaixo exemplo que consigo encontrar os chamados finalizados, mas gostaria de incluir a questão da data de encerramento para saber em qual posição se encontra o chamado finalizado.
Encontrando os Finalizados:
=count({<%IDStatusAtividade={9}>} Distinct %IDAtividade)
Abaixo eu preciso complementar esta expressão para encontrar além de finalizados o dia do fechamento e se está antes do prazo de inicio, se está entre o prazo de inicio e fim e se está além do prazo de encerramento.
Fazendo uma analogia a uma expressão SQL seria da seguinte forma:
Finalizados antes do prazo.
Select Count(Distinct %IDAtividade) From Atividades Where IDStatusAtividade = 9 and DataFinalizada < DataPrevistaInicio.
Finalizados antes do prazo.
Select Count(Distinct %IDAtividade) From Atividades Where IDStatusAtividade = 9 and DataFinalizada between DataPrevistaInicio and DataPrevistaFim.
Finalizados após o prazo.
Select Count(Distinct %IDAtividade) From Atividades Where IDStatusAtividade = 9 and DataFinalizada > DataPrevistaFim.
Como encaixar a analogia acima dentro do Set Analysis abaixo.
=count({<%IDStatusAtividade={9}>} Distinct %IDAtividade)
Busquei várias informações na internet e não consegui entender como funciona e como criar set analysis com mais condições, até a expressão acima tratando apenas uma condição é tranquilo, mas mais de uma condição não consegui entender como fazer e conto com ajuda de vocês.
Desde já muito obrigado.
Att
Paulo Comora
Paulo, para facilitar o seu cálculo, crie condições em seu script de carga para avaliar se a DataFinalizada esta antes ou depois de suas datas de comparações, por exemplo:
LOAD
IDStatusAtividade,
IDAtividade,
DataFinalizada,
DataPrevistaInicio,
if( DataFinalizada > DataPrevistaInicio, 1) as Flg_FinalizadoMaiorPrevistoInicio,
if( DataFinalizada <= DataPrevistaInicio, 1) as Flg_FinalizadoMenorPrevistoInicio,
if( DataFinalizada > DataPrevistaInicio AND DataFinalizada <= DataPrevistaFim, 1) as Flg_FinalizadoNoPrazo
FROM Fato.qvd (qvd);
Depois é só adicionar essas flags dentro de seu set analsysis:
count({<%IDStatusAtividade={9}, Flg_FinalizadoMaiorPrevistoInicio = {1}>} Distinct %IDAtividade)
Paulo, para facilitar o seu cálculo, crie condições em seu script de carga para avaliar se a DataFinalizada esta antes ou depois de suas datas de comparações, por exemplo:
LOAD
IDStatusAtividade,
IDAtividade,
DataFinalizada,
DataPrevistaInicio,
if( DataFinalizada > DataPrevistaInicio, 1) as Flg_FinalizadoMaiorPrevistoInicio,
if( DataFinalizada <= DataPrevistaInicio, 1) as Flg_FinalizadoMenorPrevistoInicio,
if( DataFinalizada > DataPrevistaInicio AND DataFinalizada <= DataPrevistaFim, 1) as Flg_FinalizadoNoPrazo
FROM Fato.qvd (qvd);
Depois é só adicionar essas flags dentro de seu set analsysis:
count({<%IDStatusAtividade={9}, Flg_FinalizadoMaiorPrevistoInicio = {1}>} Distinct %IDAtividade)
Bom Dia
Yuri
Muito obrigado, essa sua dica funcionou perfeitamente, resolveu o meu problema.
Att
Paulo Comora