Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Senhores,
criei um gráfico do tipo barra, onde minha dimensão é usuário, e na minha expressão, faço a soma de um campo chamado impresso, e no gráfico tento mostrar os usuários que mais imprimir em um período que o gestor irá selecionar, porém, quando não seleciono nenhuma data, o gráfico mostra os valores, mais ao selecionar um ano qualquer, o gráfico zera, a minha expressão está assim:
RANK(SUM(IMPRESSO))
GERENCIA:
LOAD
CODDEPARTAMENTO,
NOME_DEPARTAMENTO,
NOME_NUCLEO
FROM
(qvd);
IMPRESSAO:
LOAD
ID_IMPRESSORA,
ID_USUARIO,
NPAGINA,
QTDCOPIA,
NOME_ARQUIVO,
COLORIDO,
DUPLEX,
DATAIMPRESSAO,
CODDEPARTAMENTO,
IMPRESSO
FROM
(qvd);
IMPRESSORA:
LOAD
ID_IMPRESSORA,
nmPrinter,
vlCostPerPage
FROM
(qvd);
USUARIO:
LOAD
ID_USUARIO,
NOME_USUARIO,
SALDO_ATUAL,
COTA_MENSAL,
dsUDNUpper,
stColor,
stSimplex
FROM
(qvd);
---------------------------------------------------------------------------------------------------------------------------------------------
/*Gera Calendário Master com dias, meses, anos, dias de semana, trimestres e outras informações com base na data*/
/*QuarterMap - Cria os Trimestres. Gera 12 linhas e as divide por 3. O número resultante é o número do trimestre*/
QuartersMap:
MAPPING LOAD
rowno() as Month,
Ceil (rowno()/3) & 'º Trimestre' as Quarter
AUTOGENERATE (12);
/*Temp - Busca a menor e a maior data na tabela residente*/
Temp:
Load
min(DATAIMPRESSAO) as minDate,
max(DATAIMPRESSAO) as maxDate
Resident IMPRESSAO;
/*Cria variáveis - data mínima e data máxima*/
Let varMinDate = Num(Peek('minDate', 0, 'Temp'));
Let varMaxDate = Num(Peek('maxDate', 0, 'Temp'));
DROP Table Temp;
/*TempCalendar - Gera todos as datas entre a menor e a maior data definidas acima*/
TempCalendar:
LOAD
$(varMinDate) + Iterno()-1 As Num,
Date($(varMinDate) + IterNo() - 1) as TempDate
AutoGenerate 1 While $(varMinDate) + IterNo() -1 <= $(varMaxDate);
/*Gera o calendário com base na TempDate gerada acima*/
CALENDÁRIO:
Load
TempDate AS DATAIMPRESSAO, //Coloque o nome da sua coluna de data
week(TempDate) As Semana,
Year(TempDate) As Ano,
Month(TempDate) As Mes,
Day(TempDate) As Dia,
YeartoDate(TempDate)*-1 as CurYTDFlag,
YeartoDate(TempDate,-1)*-1 as LastYTDFlag,
date(monthstart(TempDate), 'MMM-YYYY') as MesAno,
ApplyMap('QuartersMap', month(TempDate), Null()) as Trimestre,
Week(weekstart(TempDate)) & '-' & WeekYear(TempDate) as SemanaAno,
WeekDay(TempDate) as DiaSemana
Resident TempCalendar
Order By TempDate ASC;
Drop Table TempCalendar;
Vagner,
Altere esse "pedaço" de código confomre:
IMPRESSAO:
LOAD
ID_IMPRESSORA,
ID_USUARIO,
NPAGINA,
QTDCOPIA,
NOME_ARQUIVO,
COLORIDO,
DUPLEX,
DATE(FLOOR(DATAIMPRESSAO)) AS DATAIMPRESSAO,
CODDEPARTAMENTO,
IMPRESSO
FROM
Seu gráfico pode continuar com a dimensão usuário e com a expressão que você está usando...
Vamos verificar se funciona.
Caracass Thiago, não sei qual é essa mágica, mais ficou perfeito, funcionando 100% agora, muito obrigado mesmo.
#tamojunto