Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Fecha actual y fecha anterior
Muy buenas tardes, espero que me puedan ayudar con este problema
Que función puedo utilizar para calcular en grafico de tabla lo siguiente:
En una columna debe ser la suma de ventas de la semana actual de lunes a domingo : sum(Cantidad) y en la otra columna debe ser la suma de ventas de la semana anterior también de lunes a domingo, pero se tiene que tener en consideración que parte o toda la semana anterior puede pertenecer a un mes diferente al actual.
Otra consideración es que en el mes de enero, parte de la semana anterior puede pertenecer a otro año, pero la información se necesitaría consultar de igual manera.
El formato del campo fecha es dd/mm/aaaa
Mil gracias.!!
Hola, ya probaste usando la funcio week?
Si en el calendario maestro añadis la siguiente linea:
num(Week(PeriodDate),'00') AS WEEK,
te trae el numero de semana, despues en la expresion usas:
sum({<NumWeek = {'> = $ (= max (NumWeek) -1) <$ (= max (NumWeek))'},MES AÑO>} Ventas)
MES, AÑO es para que ignore los filtros y no te deje afuera los dias de años o meses distintos a los seleccionados
Muchas gracias por tu respuesta, lamentablemente tengo muy poco tiempo utilizando qlik y no estoy familiarizado con un calendario maestro, tendrás algún ejemplo para poder replicarlo y justamente como mencionas, necesito que el gráfico tipo tabla ignore los filtros y que la información siempre se muestre, muchas gracias de antemano
Ok, hace lo siguiente:
Pega en un archivo nuevo el siguiente script:
FOR i = 2018 TO 2028 //aca pone los años desde hasta que necesitas
LET curYear = $(i); // de aca en adelante sutogenera todos los dias que hay entre esos años
LET StartDate = makedate(curYear);
LET YearEnd = yearend(StartDate);
LET TotalDays = (YearEnd - StartDate) + 2;
TempCalendar:
LOAD
date('$(StartDate)' + recno() - 1) AS PeriodDate
AUTOGENERATE(TotalDays - 1);
Next
Calendario: // aca renombra los campos como quieras
Load
PeriodDate AS %DATE,
Year(PeriodDate) AS YEAR,
num(month(PeriodDate)) AS MONTH, //Number format
DUAL(text(date(PeriodDate,'MMM')),num(month(PeriodDate))) AS MES, //Alfabeth format
DUAL(date(PeriodDate,'MMM') & ' ' & date(PeriodDate,'yyyy'),
Year(PeriodDate)*100+NUM(Month(PeriodDate))) AS MES_AÑO, // Month and year
WeekDay(PeriodDate) AS WEEKDAY,
num(Week(PeriodDate),'00') AS WEEK, //Number format
num(Day(PeriodDate),'00') AS DAY,
CEIL(Num(Month(PeriodDate))/3)&'°T' AS TRIM, //Quarter
num(weekday(PeriodDate)) AS DIA_NRO,
if(num(weekday(PeriodDate)=6) OR num(weekday(PeriodDate)=0),0,1) AS WORKINGDAY
Resident TempCalendar;
STORE Calendario into tupath\Calendario.qvd(qvd);
DROP TABLE Calendario;
DROP TABLE TempCalendar;
Carga el qvd que genero ese script en tu aplicacion, asegurate que los campos fecha generen una clave:
Ahi vas a encontrar el campo NumWeek que genero el calendario
Primero que nada quiero darte las gracias por el tiempo invertido en ayudarme a solucionar mi problema, te comento que hasta el momento he realizado lo siguiente:
1.- Hice un archivo llamado calendario.qvd utilizando el script que me hiciste favor de pasarme
2.- En mi aplicación hice una carga de dicho archivo
3.- Los campos fecha si generan llave
4.- En mi aplicación me marca error al utilizar el campo numweek, lo estoy utilizando en una gráfica tipo tabla
No se que hice mal que me marca el error, espero y me puedas seguir orientando, nuevamente gracias
Ya hice la sustitución que me sugeriste y este es el resultado, tengo una columna simplemente sumando los disponibles y el resultado es el mismo con la expresión nueva no tengo ningún filtro seleccionado de año, día, mes...
Tengo una base de datos en sql con apenas 3 tablas y pocos datos que tengo ficticios
*necesitas una pantalla de mis tablas donde se vean tanto los nombres de los campos como la información?
*o la base de datos junto con mi aplicación qlikview? de ser así me pudieras proporcionar un correo para subir a mi Google drive y pasarte un link de descarga
Muchas gracias