The promotion dates are same irrespective of any measures.
This what we use before we run date iterators:
SET TimeFormat='h:mm:ss TT';
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Ok. Then I assume, that you do not have a master calendar. In other words you will only see dates in your dashboard where you had sales.
What you need to do in that case, is to "flag" transaction dates in your transaction table where there was a promotion, because when you do that you can make them visualized in a different color on the dashboard after the load is completed.
My recomendation would be to create a flag based on those promotion dates in your load script with a mapping table inside your transaction table.
So, your mapping table should contain only the promotion dates. When mapped on the transaction table on the transaction date they should give a new field the value 1. If not matched, the transaction date should give the value 0, name this new field "Promotion date"
Then in your visualization you are able to have differen color depending on this field, using set analysis. If you need more help, I can do an example, and if you share your script, my example could be based on your table structure.
Though, this is just one solution. There are many ways to do it, more complec and more simple, depending on your demands. Another solution for instance would be to do it completely in the interface in your expressions.
But in the end, the best solution is depending on how structured the promotion dates are. In case they are always the same days every month, or same days every week, etc, there would be even easier solutions.
Thank you so much for detailed explanation.
Can you please let me know how can I create a flag inside existing table. Do I need to create a new table with date and promotion name?
Say I have created 2 tables like this. I have same date field for both.
Do you want to me flag inside table1, transaction table?
Can you please give me an example by suggesting a better way to do this?
Date (estdate) Transaction Count
Date (estdate) Promo Name
05-05-2017 Samsung Lunch
05-09-2017 Good Friday
05-12-2017 Super Bowl
Thanks for you time and help.
//DOING THE MAPPING TABLE:
Load * INLINE [
//APPLYING THE MAPPING TABLE ON YOUR TRANSACTION TABLE:
ApplyMap('map_promotion',Date,'Normal day') as [Promotion flag]
You now have a field called [Promotion flag] on your fact table. This field can be used in your charts to highlight dates that are not equal to "Normal day" with a new colour (using SET Analysis or "if syntax")
Adding to this 'How can I display the event name next to date '?
If there is a change in color then we should tell why right so I want to display the name of that promotion either next to date or on Bar chart. Is there any way I can display by reading from Mapped Table?
If this also works, you should recommend this feature to Qlik.