Thanks for your response!
I beleve your approach is usefull when there are only few dimensions. And unfortunately I've got at least dozen of them.
As a matter of fact. I've found that when I add these three lines to my macro it suddenly starts to work:
set props = chart.GetProperties
props.tableProperties.NumberOfLeftDimensions = dimSelection.Count
This approach do not affect web client, which is pity. I suspect it's a bug.