Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Tenho dados de 1900 até o ano atual e o que preciso é filtrar um Ano e este me trazer a soma de vidas ativas até o dia 31/12 do Ano selecionado. Exemplo: Qd seleciono 2013 no filtro, ele deve me trazer a quantidade total de todos os usuários ativos até 31/12/2013.
A condição para o usuário ser ativo é:
if(((IsNull(DtTermino) or DtTermino > Data Selecionada and DtInclusao <= Data Selecionada )), Usuários Ativos, 0)
Eu estou conseguindo trazer a soma total até o Ano atual, porém, quando filtro outro ano, como 2013, ele me traz apenas a quantidade de inclusões ativas de 2013, quando na verdade o que quero é que ele traga a qtde de ativos até 31/12/2013, independente dele ter sido cadastrado em 2010, 1950, 2001, etc, contanto que ainda esteja ativo no sistema.
Vou assumir que você possui um campo de data, no estilo DD/MM/YYYY, denominado "Data" em seu modelo de dados além do campo de Ano e talvez Mês.
Neste caso a melhor prática é você já trazer isso do script de load pronto. Então criar um Set Analysis em que o filtro selecionado represente o período máximo, passando a somar todo o restante abaixo dele.
Também recomendo no Load Script você já criar um campo que esteja informando o fato de ele estar ativo ou não comparado à hoje Today(). Por exemplo:
No Load Script:
If(
( Len(Trim(DtTermino)) = 0 or DtTermino > Today() ) and DtInclusao <= Today(),
1, // Usuários Ativos
0) as Usuario_Ativo
E na aplicação, algo como por exemplo:
Count(distinct
{<
Ano =, // Para ignorar o filtro de ano. Adicione os demais filtros necessários.
Mês =, // Exemplo caso queira ignorar o mês em campo separado também.
Usuario_Ativo = {1}, // Simulando que exista um campo com conteúdo = 1 quando o usuário está ativo
Data = {"<=$(=Max(Data))"} // Neste trecho você está buscando tudo igual/abaixo da data máxima disponível na sua seleção
>}
UsuarioID // Exemplo de código do usuario a ser feito contagem
)