By using Cross table method you can find solution.
Create 3 table instead of 1 table using resident method. first table fields are P1,P2.P3,P4,Type. Second table fields are C1,C2,C3,C4,Type. Third Table fields are M1,M2,M3,M4,Type
In field "Type" give proper value based on table like 'Population','Companies' and 'Money'.
Now all 3 table into final qvw.. You can use "Type" field as list box.
Hope its will help u..
If you are using QV11, then you can do the following ...
1. Create an island table with one field (eg DataGroup) in script to hold your Group names (Companies, Money and Population) and create a list box.
2. Add ALL your expressions to your single bar chart.
3. Tick the conditional show box for each expression and add =Only(DataGroup)='Companies' (or Money or Population as releveant).
Your chart should show the relevant expressions as the user selects the group. You can even change the 'All expressions disabled' message on the General tab in properties to a more user-friendly message such as 'Please select a Data Group' or something.