In short, I use copies of }Cubes and }Dimensions to actually work with (sys.Cubes and sys.Dimensions respectively), and wanted to create an MDX subset on sys.Cubes that filtered out cubes that were flagged <> YES for "DEMANDLOAD" for obvious reasons. However, it would not work!
Code: Select all
FILTER( TM1SubsetAll( [sys.Cubes] ),
[}CubeProperties].(StrToMember("[}Cubes].[" + [sys.Cubes].currentmember.Name + "]"), [}CubeProperties].[DEMANDLOAD]) <> 'YES')
So playing around I discovered this:
Code: Select all
# This works in sys.Cubes:
GENERATE( TM1SubsetAll( [}Cubes] ), {StrToMember("[sys.Cubes].[" + [}Cubes].currentmember.Name + "]")})
# this does not in }Cubes:
GENERATE( TM1SubsetAll( [sys.Cubes] ), {StrToMember("[}Cubes].[" + [sys.Cubes].currentmember.Name + "]")})
Code: Select all
GENERATE( FILTER( TM1SubsetAll( [}Cubes] ), [}CubeProperties].([}CubeProperties].[DEMANDLOAD]) <> 'YES'),
FILTER( TM1SubsetAll( [sys.Cubes] ),
[sys.Cubes].currentmember.name = [}Cubes].currentmember.name)
)
What am I missing or don't know about the }Cubes dimension? Not a big deal, but still odd to me.