This is a typical example of date ranges (search for 'date range' in the forums and you will get lots of posts and blogs on the subject).
A good example (amongst many other) is here : http://community.qlik.com/blogs/qlikviewdesignblog/2013/02/12/reference-dates
We use it a lot ourselves, also doing marketing campaign analysis at our company.
The 'general trick' is to generate a link between every possible date with your data.
If you link your campaign ID with every single date between start and and date of the campaign you will select all these dates when you select a campaign. At first most people fear that this will generate a lot more data but this is in most cases not a problem. Using this trick dates and date ranges become 'associated' with the data and this is how QV works at ist best.
How to generate this reference date ?
Date( CAMPAIGN_START+ IterNo() – 1 ) as ORDER_DATE
While IterNo() <= CAMPAIGN_END - CAMPAIGN_START + 1 ;
Then you can just make a chart with campaignid as the dimension, and the KPI's as expressions...