with member [Measures].[Total Sales - Same Store] as
iif([Location Dimension].[Name].CurrentMember is [Location Dimension].
[Name].[All],
Sum(
Filter(
[Location Dimension].[Name].Children,
([Measures].[Total Sales],[Time Dimension].[Fiscal
Year].PrevMember) > 0)
, [Measures].[Total Sales]
),
Sum(
Filter(
[Location Dimension].[Name].CurrentMember,
([Measures].[Total Sales],[Time Dimension].[Fiscal
Year].PrevMember) > 0), [Measures].[Total Sales]
)
), format_string = "Currency"
This seem to work correctly, but I just want to see if anyone has a
more straight forward approach?
You could define a set for your Filter() part first, then use the defined
set in your measure expression.
with set [] as 'Filter()'
member [] as '...'
>>
with member [Measures].[Total Sales - Same Store] as
Sum(
Filter(
existing [Location Dimension].[Name].[Name],
([Measures].[Total Sales],
[Time Dimension].[Fiscal Year].PrevMember) > 0)
, [Measures].[Total Sales]
), format_string = "Currency"
>>
- Deepak
Deepak Puri
Microsoft MVP - SQL Server
*** Sent via Developersdex http://www.developersdex.com ***