The rowno() is based on specific field in one table (i build an excel file that hold the following fields Header , SubHeader, Measure , Calc When Header = Primary Dimension SubHeader = Sub Dimension Measure = Sub Expression - based on dimension tab Calc = The unique Vars that i'm using in the $(Metric) var as Expression under Expression tab
I assume that your DimensionID isn't properly defined - it needs to be unique in regard to your 2 vertically and 2 horizontally dimensions. This means you might need a different table-structure for your approach.
I checked the loaded table and the "DimensionID" field is unique and equals to unique "Calc" field value so for my understanding it should match between the Pivot table's RowNo() and the Calc of the Var as i used in the vMetrics var
should return a table with results and not just a blank table and further that your issue with the origin expression is caused by any invalid expression-variable and/or a mistake by placing the variables within the pick() which all together leads to a syntax-error for the whole expression. To find it I suggest to use my above mentioned commenting-approach within the expression.
Beside this you are trying to apply a quite large amount of different expressions. If each one is quite big you might hit any limitation in regard to the max. amount of chars within an expression. I never experienced such case but I could imagine that such things might happens. Further by larger datasets your approach might need some time to be calculated and/or hit RAM limitations for the object - but this should be clearly noticable.
Another thought goes to any comments within the variables which may not bother by using them as a single expression but by including them within other calculations they could cause problems, see: Well-commented-variables-Be-careful.