This doc and app shows a workaround how to make cyclic groups for dimensions and measures. Qlik Sense 2018 November or later is required. The workaround is based on a variable and the button. The solution is not self service but no extensions or add-ons are required and using master items simplifies the usage.
Cyclic Dimension Group
Add a variable vDimension and set it to Year.
Add a button, set the label to =vDimension and add an set variable action for vDimension to toggle the dimensions: =pick(match(vDimension,'Year','Quarter','Month'),'Quarter','Month','Year')
Write dimension dependent expressions using vDimension (instead of GetCurrentField), ex: =Sum(Sales)/ Sum(Total Aggr(Sum(Sales), $(=vDimension)))
For convenience, add master dimension CyclicDimension =$(vDimension) set to label =vDimension and make the button a master visualization.
Cyclic Measure Group
Add a variable vButton and set it to Sales
Add a button set the label to vButton and add a set variable action for vButton to toggle the measures: =pick(match(vButton,'Sales','Orders','COS'),'Orders','COS','Sales')
Add a variable vMeasure and set it to hold the measure expressions: =pick(match(vButton,'Sales','Orders','COS'),'sum(Sales)','count(OrderID)','sum(COS)')
For convenience, add master measure CyclicMeasure =$(vMeasure) set to label =vMeasure and make the button a master visualization.