The beauty of DAX is that it makes no difference in terms of rows and columns, once the formula is written you can use and re-use as desired.
Tip 1
You
MUST use a separate date table in your model. This table should have a column of unique, contiguous dates that you will use to relate to your fact table. Your date table can have numerous additional columns such as month, year, financial year, ytd etc. that will help with your analysis. Having this in place also drives many of the DAX time intelligence functions and will enable you to integrate other data sources in your model. You will also be able to integrate totally with your company's financial / reporting calendar.
Make sure the Date column is set as THE date column through Design>Mark as Date Table in the PowerPivot window. (Below I have assumed that you call this table 'dimDate'.)
Tip 2
Try out some of the built-in DAX time intelligence functions. Lets say you have a measure called [Sales] that sums the Sales column in your fact table. A few of ways of working out the % variance could be:
Code:
= ( [Sales] / CALCULATE([Sales], DATEADD('dimDate'[Date],-364,DAY) ) -1
= ( [Sales] / CALCULATE([Sales], PARALELLPERIOD('dimDate'[Date],-1,YEAR) ) -1
= ( [Sales] / CALCULATE([Sales], PREVIOUSYEAR('dimDate'[Date]) ) -1
You will likely find the last two give the same answer with the first being slightly different - if like me you work in an industry that favours 'symetrical' report periods such as retail or manufacturing you will need to avoid the 365 day years embedded in many of the functions.
You must test these in detail that the embedded logic is doing what you think it is before using!
Tip 3
You could also go a little crazy and try and get into some more advanced DAX. Here is an example of a formula that uses all three of DAX's holy trinity; CALCULATE(), ALL() and FILTER() to open out the filter context and find the previous 'period' to the one you are interested in. The reason to go down this route is that it works with non-standard financial calendars.
Code:
= ( [Sales] / CALCULATE([Sales], ALL(dimDate), FILTER( ALL(dimDate), dimDate[Financial Year] = MAX( [Financial Year) - 1 )) ) -1
For a thorough explanation of this technique have a look at:
The Greatest Formula in the World, Part 3 « PowerPivotPro