Hi All,
I was wondering if it was possible to create a view with a TI process that has multiple dimensions in it.
i am trying to use data from a source cube view and transfer that data into another cube view (Different cube). The target cube must have 3 dimensions stacked on the left and one dimension on the top. So far the view i am creating only allows for one dimension on the left and the top.
How can this be possible?
Creating a multi-dimensional view with TI process
- 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: Creating a multi-dimensional view with TI process
Have you looked at the ViewColumnDimensionSet, ViewRowDimensionSet and ViewTitleDimensionSet functions? Those are the functions to use.
These functions have no effect on a view used for a datasource, only those used as cube views for end users.
These functions have no effect on a view used for a datasource, only those used as cube views for end users.
Ty
Cleveland, TN
Cleveland, TN
-
- Community Contributor
- Posts: 324
- Joined: Mon Jul 02, 2012 9:39 pm
- OLAP Product: TM1
- Version: PAL 2.0.8
- Excel Version: 2016
- Location: Sydney, Australia
Re: Creating a multi-dimensional view with TI process
Hi,Lickkky wrote: ↑Mon Feb 25, 2019 5:06 pm Hi All,
I was wondering if it was possible to create a view with a TI process that has multiple dimensions in it.
i am trying to use data from a source cube view and transfer that data into another cube view (Different cube). The target cube must have 3 dimensions stacked on the left and one dimension on the top. So far the view i am creating only allows for one dimension on the left and the top.
How can this be possible?
Any view used as a data source by default is multidimensional, i.e contains all dimensions + values of that cube. Above-mentioned terminology such as stacked dimensions is pretty much irrelevant in a context of transferring data between two cubes. A TI process will always preserve the dimension order as in your source cube, moreover, the same logic applies to the target cube (when you push the data via CellP*). Have a look at your variables tab once you have selected a view as a data source, you will see what I mean here.
There are several ways to utilize source view functionality, you can assign a pre-created view or you can build a view dynamically. It is usually a good practice to have a "dummy" view that starts with "}" that is not visible to everyone. It helps to preserve variable in your TI.
A pre-created view is not dynamic, something you would not generally use. Also, it will likely to contain every single element in every single dimension, which you obviously do not want because of business logic and performance reasons.
A dynamic view is something that you need to look at, as it allows you to manipulate the view creation on the "fly". ViewCreate, ViewDestoy, SubsetCreate, SubsetDestory (refer to the TI functions guide for more) are the functions that you would use to build a dynamic view.
Let's say your Cube A has 3 dimensions: Version, Period and Value. You are likely to move your data between two cubes based on a certain period in time, for example, Feb-2019. To achieve this you would create your view via ViewCreate, create a subset in Period dimension which only contains that period (it can come from a parameter or some sort of control cube) and assigns that subset to the newly created view. Then you can use this view to push your data to Cube B, remember TI always owners the dimension order as per the cube. Also, it's important not to forget to set correct Local Variables, by default TI process does not know that it needs to use this dynamic view. To achieve that you need to set DataSourceType, DatasourceCubeview etc. correctly.
Hope this helps
Evgeny