Is there a way to set an initial/default date to the Calendar Object?
Ie. When I open up the .qvw file, Iike the Date to be pre-selected to TODAY's date?
Thank-you for your support.
I don't believe there is a way to set default values for any field, including a calendar object, which is unfortunate. The only way I know of to accomplish what you want is to have a macro that makes that selection for you when the document loads, or when you enter a tab. I don't remember the exact syntax off the top of my head, but it is something like:
You may be able to do a similar thing with a bookmark, which would be preferable to a macro as macros are single-threaded.
hope this helps,
Similar to sjprows' suggestion, you could use a Trigger instead of a macro. You could set a Trigger for OnOpen and make the Today() selection in your date field. I believe Triggers are the preferred solution to some of the issues with using macros. Triggers are only available in QlikView 9.
You can base your calendar value on a variable. e.g. TodayDateVar
This variable will be equal to today() (In variables window add TodayDateVar = Date(Today())
So when you open your application your variable will take your value.
I personally like the behavior of the below, but it depends on your reload frequency. It resets the slider to today's date with each reload. The user can then choose a different date between the min/max options. This looks like it's working for me, but if there is a different better option, please reply.
in the load script:
Min(BDate) as MinDate,
Max(EDate) as MaxDate
RESIDENT your table;
LET vMinDate = Num(Peek('MinDate', 0, 'MinMax'));
LET vMaxDate = Num(Peek('MaxDate', 0, 'MinMax'));
LET vToday = today();
In the calendar slider properties:
Set variable = vToday
set min and max equal to vMinDate and vMaxDate
it is simple, by assigning calendar object variable to reload time date and saving the application.
vCalendarDate=date (reload ())
(And giving the max value of calendar object to date of reload time)
EDIT: Found the problem. Source data date field is a timestamp. I hadn't added floor to the date, so was being stored with timestamps but was not displaying with times.
Hi Rob, QV learner here.
That link worked for me, however, it removed all entries from the table except for a single matched instance of the day I wanted (yesterday).
I do have a key, 2 in fact, but I seem to lose the relationship between those dates.
I do have a master calendar.
If I add 2 select fields for month and day, and manually choose yesteErday, again, I lose table entries except one instance.
Am using a table box as it is supporting data