Thanks for your response.
Yes that's what I was meaning to do ....I loaded the data from Excel into a QlikView table and then wanted to transpose it in the load script using the algorithm I described above. However I have a feeling I can't use the FOR....EACH logic that I've described above, it fails when I try to refresh the data. Maybe I'm using the wrong approach entirely and there's a better way to achieve this?
What you have is a pivot table with four dimensions (Year, User, Product, and Quarter) and one fact (Goal).
What you want also is a pivot table with the same four dimensions and one fact with the position of dimensions Product and Quarter changed.
You may load the source pivot table into a Qlikview logical table using the table load wizard, which generates a script like this one below and then generate the second pivot table or any other pivot table in the format you need.
CrossTable(Q, Data, 3)
(ooxml, embedded labels, table is Sheet1);
Hope this helps.