Creating a multi-dimensional view with TI process

Post Reply
Lickkky
Posts: 5
Joined: Mon Feb 25, 2019 4:00 pm
OLAP Product: TM1
Version: 10.2.2
Excel Version: 2016

Creating a multi-dimensional view with TI process

Post by Lickkky »

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?
User avatar
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

Post by PavoGa »

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.
Ty
Cleveland, TN
CellPutN
Posts: 22
Joined: Mon Oct 01, 2018 1:50 pm
OLAP Product: TM1
Version: 10.2.20500.75
Excel Version: 2016
Location: Montreal, Canada

Re: Creating a multi-dimensional view with TI process

Post by CellPutN »

EvgenyT
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

Post by EvgenyT »

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?
Hi,

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
Post Reply