You could achieve this using the Axis function in MDX. Here is an example in AdventureWorks:
WITH MEMBER Measures.PercentOfAxis AS
[Measures].[Internet Sales Amount]
/
SUM(AXIS(1), [Measures].[Internet Sales Amount]), FORMAT_STRING="Percent"
SELECT {
[Measures].[Internet Sales Amount]
,Measures.PercentOfAxis
}
ON 0,
{[Date].[Calendar Year].AllMembers} ON 1
FROM [Adventure Works]
In this example the Axis(1) value happens to be AllMembers of Calendar year so a percentage is calculated per row for each year. Whatever you put on the 1 Axis will be calculated in the same way (provided the dimension is connected to the Internet Sales Amount measure).
I hope this helps.