Skip to main content
Announcements
NEW Customer Portal: Initial launch will improve how you submit Support Cases. FIND OUT MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

dudas calendario maestro

Hola, tengo una serie de dudas al respecto del calendario maestro.

¿Influye  el orden en el que se carga el calendario? Explico mi caso. Yo genero un calendario maestro, que tiene fecha, mes, dia, año. Por otra parte yo genero una serie de tablas, donde el único campo en común con el calendario maestro es el campo fecha.Visualmente genero una tabla simple donde muestro algunos  resultados.

Mi "problema" es el siguiente, si yo genero el calendario al comienzo del script, y hago alguna seleccion, de los ids que hay en las tablas, en la tabla no se me visualiza nada. En cambio si yo genero el calendario en último lugar del script, si se me muestra el contenido dentro de la tabla. Pero por ejemplo solo para las fechas que tengan realmente coincidencia en fecha con el id seleccionado y no todo el periodo de fecha que yo he seleccionado.

Yo pensaba que el orden a la hora de la carga no influia en nada, y que se relacionaba de igual forma si el nombre del campo coincidia.

Si alguien me puede explicar un poco al respecto

Un saludo

21 Replies
Not applicable
Author

Buenos días Jonay,

Yo uso un txt calendario maestro y lo relaciono mediante un include, lo llamo al principio del script y no he tenido ningún problema, te paso un ejemplo del calendario que uso y pruebas de esta manera.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Yo tengo el calendario maestro y otras tablas de configuración en qvd y los importo con un include al inicio del script sin ningún problema.

A veces pasa que se queda alguna selección guardada en el documento, al recargar no hay datos que la cumplan y entonces se abren las selecciones dando la impresión de que no funciona. Por ejemplo, si tienes el documento que aplica un triger sobre el mes y guardas la selección con el día 30 cuando cambies de ves fallará porque al abrir el documento se eliminarán de forma automática algunas selecciones !!!

jmmayoral3
Creator
Creator

Si tienes hecho el calendario maestro correctamente no debería influir. Yo he creado documentos con el calendario maestro tanto al principio como al final del documento y nunca he tenido problemas.

Otra cosa es que para calcular la fecha inicio y fin del calendario maestro utilices fechas que ya deberían estar cargadas. Si es así y cargas el calendario antes que esas fechas, lo normal es que no funcione.

Anonymous
Not applicable
Author

Mi duda una vez creado el calendario maestro es lo siguiente, yo genero en dicho calendario, dia, mes y año. Esto me genera todos los días posibles entre el periodo de la vmin y la vmax que le ponga. Luego yo tengo unas tablas que tengo un campo fecha, que supongo que tendré que desglosar en dia, mes y año, para que me lo relacione con el calendario maestro. El problema es que en esas tablas no necesariamente están todos los días, sino que habrá ID que a lo mejor en el mes de febrero, le faltan los días 15,22,25,26. Si yo relaciono el calendario maestro con los campos dia, mes y año de la tabla en cuestión, el problema es que febrero no me lo computaria como 28 dias, sino como 24 días, porque se me relaciona con los que tiene fecha coincidente.

¿Es correcto relacionar la tabla por los campos dia, mes y año , para que me vincule el calendario a la tabla que tengo con datos?

jmmayoral3
Creator
Creator

No. No debes relacionarlo por día mes y año.

Lo tienes que relacionar por la feccha ccompleta. Osea, en tu calendario maestro debes tener un campo fecha (además del día, mes, año, semana, cuatrimestre... etc) que será la que se relacione con el campo fecha de tus tablas.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

No, la tabla de hechos se relaciona por el campo fecha

Anonymous
Not applicable
Author

Yo creo el calendario de la siguiente manera:

let vMin  = num(MakeDate(2014,09,09));

let vMax = num(today());

       Calendario:

       load

       date(IterNo() + $(vMin)-1) as fecha

       AutoGenerate 1 while IterNo() + $(vMin) -1 <= $(vMax);

      

       CalendarioMaestro:

       load

        fecha, year(fecha) as año, Num(Month(fecha)) as mes, Day(fecha) as dia, Week(fecha) as NumeroSemana,

       1 as contadorDias

       resident Calendario  ORDER BY fecha ASC;

      

       drop table Calendario;

      

Y luego genero una tabla de la siguiente manera:

Tabla:

        select ID,count(*) as total,date_format(fecha,'%Y-%m-%d') as fecha

        from tabla

        where ID is not null

        group by ID,date_format(fecha,'%Y-%m-%d');

Si yo añado el campo fecha en el calendario maestro, no me muestra nada en la tabla simple que uso para mostrar los datos. Sino añado el campo fecha, si me muestra los datos y como no tiene relacion la tabla con el calendario, pues el número de días si se corresponde con el periodo seleccionado y no con las fechas que tenga coincidencia en la tabla para ese ID.

Not applicable
Author

Prueba con este:

LET vDateMin = Num(MakeDate(2015,1,1));

LET vDateMax = Num(MakeDate(2015,12,31));

LET vDateToday = Num(Today());

LET vCurrentWeek=Week(Today())-1;

LET vCurrentMonth = Month(Today());

LET vCurrentYear=Year(Today());

TempCalendar:

LOAD

  $(vDateMin) + RowNo() - 1 as DateNumber,

  Date($(vDateMin) + RowNo() - 1) as TempDate

AUTOGENERATE 1

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

Calendar:

LOAD

    Date(TempDate) as Fecha,

    // Standard Date Objects

    Day(TempDate) as Dia,

    WeekDay(TempDate) as DiaSemana,

    Week(TempDate) as Semana,

    Month(TempDate) as Mes,

    'Q' & Ceil(Month(TempDate)/3) as Trimestre,

    Year(TempDate) as Anio,

    // Calendar Date Names

    WeekName(TempDate) as SemanaAnio,

    MonthName(TempDate) as MesAnio,

    YeartoDate(TempDate)*-1 as YTD,

    YeartoDate(TempDate,-1)*-1 as YTDPrev

RESIDENT TempCalendar ORDER BY TempDate ASC;

DROP TABLE TempCalendar;

Pero todo pasa porque en tu tabla de hechos tengas un campo fecha en el mismo formato que en el calendario, si para una fecha en concreto no tienes dato no debe afectar al modelo.

Anonymous
Not applicable
Author

Vale. el problema con el campo fecha era que el calendario maestro y las fechas que sacaba en sql, no tenian el mismo formato. Ahora ya parto de que son iguales.

Mi problema es el que comentaba es que en mi tabla de datos no necesariamente están todos los días, sino que habrá ID que a lo mejor en el mes de febrero, le faltan los días 15,22,25,26.

entonces el calculo de días me sale como 24, en lugar de 28. Y yo lo que necesito es calcular la media para todo el mes completo aunque solo tenga 24 días