Looking into setting up a control cube to manage view configurations. These have been mentioned in various threads. To avoid reinventing the wheel, what suggestions in terms of structuring the cube, measures, etc. are recommended?
Thanks in advance.
Control Cube for Managing Views
- PavoGa
- MVP
- Posts: 617
- Joined: Thu Apr 18, 2013 6:59 pm
- OLAP Product: TM1
- Version: 10.2.2 FP7, PA2.0.9.1
- Excel Version: 2013 PAW
- Location: Charleston, Tennessee
Control Cube for Managing Views
Ty
Cleveland, TN
Cleveland, TN
-
- Community Contributor
- Posts: 206
- Joined: Fri Oct 17, 2008 2:40 am
- OLAP Product: TM1, PA , TMVGate
- Version: 2.x
- Excel Version: 36x
- Location: Singapore
- Contact:
Re: Control Cube for Managing Views
I will probably use a cube to store the the view definition and drive through the view creation via TI (or REST API).
But again you will have complication such as subsets to be used and the definition you put in as the view definition "cube" will not have any idea the validity of he subset chosen unless addition check are put in.
Interesting request though but can't really see the benefits of real application vs traditional view creation.
But again you will have complication such as subsets to be used and the definition you put in as the view definition "cube" will not have any idea the validity of he subset chosen unless addition check are put in.
Interesting request though but can't really see the benefits of real application vs traditional view creation.
-
- Posts: 81
- Joined: Tue May 31, 2011 6:29 am
- OLAP Product: TM1 and EV
- Version: 9.1 SP3
- Excel Version: Excel 2010
Re: Control Cube for Managing Views
Hi There,
I use the following:
CubeName: }viewControl
DImensions:
> }Cubes
> ViewItemIndex ( 1,2,3,4,5,6...)
> ItemIndex ( noItemIndex, 1 ,2 3 , 4,5.... )
> ViewControl_Measure ( contains the following elements )
IsBuild - value to control TI build behaviour i.e to build or not to build
ViewName - name of the view
DimensionName - Name of the dimension i.e. Client
DimensionSets - mdx i.e. {[Client].[All Clients]}
DimensionAliasName - Code - Desc
ViewRowDimensionSet - index number
ViewColumnDimensionSet - index number
ViewRowSuppressZeroesSet - value
ViewColumnSuppressZeroesSet - value
Set this cube as a data-source and then loop through it using a bedrock process or some other customer view process you may have built.
There are probably a bunch of other variants per above. This is something I use with great success. Also determine a naming convention as an example I use this:
ie for my account subset name I use this format:
DimensionName.CompanyAbbrevName.NameOfView
i.e so the name of my subset for account dim for this view is:
Account.CompanyAbbrevName.Finance.Breakeven
For other dims this:
Month.CompanyAbbrevName.Finance.Breakeven
Year.CompanyAbbrevName.Finance.Breakeven
Hope this helps
Zark
I use the following:
CubeName: }viewControl
DImensions:
> }Cubes
> ViewItemIndex ( 1,2,3,4,5,6...)
> ItemIndex ( noItemIndex, 1 ,2 3 , 4,5.... )
> ViewControl_Measure ( contains the following elements )
IsBuild - value to control TI build behaviour i.e to build or not to build
ViewName - name of the view
DimensionName - Name of the dimension i.e. Client
DimensionSets - mdx i.e. {[Client].[All Clients]}
DimensionAliasName - Code - Desc
ViewRowDimensionSet - index number
ViewColumnDimensionSet - index number
ViewRowSuppressZeroesSet - value
ViewColumnSuppressZeroesSet - value
Set this cube as a data-source and then loop through it using a bedrock process or some other customer view process you may have built.
There are probably a bunch of other variants per above. This is something I use with great success. Also determine a naming convention as an example I use this:
ie for my account subset name I use this format:
DimensionName.CompanyAbbrevName.NameOfView
i.e so the name of my subset for account dim for this view is:
Account.CompanyAbbrevName.Finance.Breakeven
For other dims this:
Month.CompanyAbbrevName.Finance.Breakeven
Year.CompanyAbbrevName.Finance.Breakeven
Hope this helps
Zark
-
- Posts: 81
- Joined: Tue May 31, 2011 6:29 am
- OLAP Product: TM1 and EV
- Version: 9.1 SP3
- Excel Version: Excel 2010
Re: Control Cube for Managing Views
Also. This works very well in application. imho its best to keep the process as transparent as possible so putting all your view parameters into a cube works well. As long as you stick to a naming convention your should be able to manage conflicts ( if any ) easily. Also when ever a new user needs a new view setup you plug it into your cube. The advantage you get his transparency and you also manage of all your views across the server. If the view that is in the cube does not meet you viewname format like:
DimensionName.CompanyAbbrevName.CubeName.NameOfView
then you can ignore it or just bin it. You can also put in smarts like this to dynamically drive years etc like this:
# Year
{ StrToMember("[Year].["+ [System Attributes].( [System Measure].[Current Year], [System DataType].[String] ) +"]") }
# Month
{ StrToMember("[Month].["+ [System Attributes].( [System Measure].[Control Month], [System DataType].[String] ) + "YTD" +"]" ) }
Also setting up your views also makes it easy when say for example users are using PAW. They can simple navigate to the view and drag it in. You will want to consider cleaning up your server if and when you move to PAW. One thing to note. As you expand the number of views it will start to clutter the server. Think about naming your dimension subsets that are commonly used at the top of the list by prefixing it will a "." or "_" or something like that to keep it seperate from your generated subset names.
Cheers
Zark
DimensionName.CompanyAbbrevName.CubeName.NameOfView
then you can ignore it or just bin it. You can also put in smarts like this to dynamically drive years etc like this:
# Year
{ StrToMember("[Year].["+ [System Attributes].( [System Measure].[Current Year], [System DataType].[String] ) +"]") }
# Month
{ StrToMember("[Month].["+ [System Attributes].( [System Measure].[Control Month], [System DataType].[String] ) + "YTD" +"]" ) }
Also setting up your views also makes it easy when say for example users are using PAW. They can simple navigate to the view and drag it in. You will want to consider cleaning up your server if and when you move to PAW. One thing to note. As you expand the number of views it will start to clutter the server. Think about naming your dimension subsets that are commonly used at the top of the list by prefixing it will a "." or "_" or something like that to keep it seperate from your generated subset names.
Cheers
Zark
- PavoGa
- MVP
- Posts: 617
- Joined: Thu Apr 18, 2013 6:59 pm
- OLAP Product: TM1
- Version: 10.2.2 FP7, PA2.0.9.1
- Excel Version: 2013 PAW
- Location: Charleston, Tennessee
Re: Control Cube for Managing Views
Thank you, very much. This provides a solid base.
Ty
Cleveland, TN
Cleveland, TN