You may have a secondary issues here so I am not sure this is an easy solution.
Generally to get what you want you need to have a grouping at a higher level then sub group it under that so the fields stay together.
Example for column would be Group1 at Company and Group2 at StoreLocations.
I don't know how to do this with your data because I think you are going to have a grouping issue Since these are not the same field. Even if you used a formula you will have an issue.
Since the cross tab needs to group data heirachically once you group the data that row will only fall into one grouping only. I assume you have bothe ASD and AFD fields in the same row for the item. If this is the case you will run into a problem when the ASD is in one month but the AFD is in another. It can only appear in one grouping and only be counted once there. If my assumptions about your data are correct I do not know what Upper level grouping you could use to make sure each item appears and is counted in each correct subsequent group. Does this make sense?
Sorry this is not an answer that solves the problem but I hope it explains the proces so maybe you can come up with a resolution...
My best guess as a possible solution is to use a stored proc or view in SQL (if you are using it) and use the table twice so you have 2 records per row and scrub it/manipulate it before it gets to crystal so you can get it grouped together correctly for what you want.