look at this extension:
This may help you.
You define 3 variable to measure1..3, and to the chart you add a condition, to show the data only when the variable contains true. With the extension you can modify the value of the variable. I'm not sure, that this way suit you, because all measure will there, even if all value is null because of the variable and the condition in measure.
It is easier and more elegant the cyclic measure, you find a tutorial here:
But with cyclic measures, you can't compare the bars, only changing the measure behind them.
there is an example attached but:
You can't do this with Qlik Sense in bar chart (or any other non table chart) right now - without an extension.
With version Jun 2018 there is an option to show expressions by calculation, but only in table charts.
Comm1532862.qvf 240.0 K
You may be able to get to what you want by using the ValueList function as the dimension and then have a single expression which returns a value for each of the types.
There is an example of using ValueList in the bottom section of this blog post:
In your case you will want to load the Measures to choose as a data island, you can then have a filter to select which dimensions are in or out.
You may be able to have a Calculated Dimension of;
ValueList(chr(39) & concat(Measures, chr(39) & ',' & chr(39)) & chr(39))
This may then produce a list of selected measures as a dimension, e.g.
ValueList('Measure 1', 'Measure 3')
You can then use the ValueList to drive the expression, like this:
if(ValueList(chr(39) & concat(Measures, chr(39) & ',' & chr(39)) & chr(39)) = 'Measure 1',
if(ValueList(chr(39) & concat(Measures, chr(39) & ',' & chr(39)) & chr(39)) = 'Measure 2',
It's a bit fiddly, and you will have to experiment a bit, but I hope that points you in the right direction.