Page 1 of 1

ViewSuppressZeroesSet when creating a View in TI

Posted: Thu Nov 17, 2011 12:43 pm
by prameson
Hi all

Just a quick query about the way ViewSuppressZeroesSet works when creating a View using TI.

Does it zero out each record passed or does it work in the same way as a zero suppress on a slice works - i.e. is it only zeroing out rows and columns which contain all zeros?

The query arises as I'm trying to use it on a view that contains Actual, Forecast & Budget data in the Version dimension which I have added to the Columns of the view using ViewColumnsDimensionSet. I only want to suppress the zeros if all three elements contain a zero (as in a slice), but it seems to suppress data for each element individually in the data tab (e.g. if there is data in Actual it will get to the data tab, if zero in Forecast for the same row data it won't).

Is this how you would expect it to work? Just want to verify in case there is another issue I'm not picking up.

Cheers,

Re: ViewSuppressZeroesSet when creating a View in TI

Posted: Thu Nov 17, 2011 1:13 pm
by lotsaram
Hi there - you are a little off base with some of your assumptions and what you are doing.

Were you creating a user view then by your description you would not use ViewSuppressZeroesSet but rather you would set ViewColumnSuppressZeroesSet to false and ViewRowSuppressZeroesSet to true. HOWEVER from your description of what you are doing you are not using the view in the cube viewer, rather the "view" is actually being used as a data source or a view extract. It is important to understand 3 things
1/ The appropriate call to suppress zeros in a view extract is ViewExtractSkipZeroesSet not ViewSuppressZeroesSet
2/ A view extract does not contain title/context dimensions or column dimensions it contains only row dimensions (even if the view is defined in the standard cube browsing UI this is how TI treats it)
3/ A view extract as a data source is examined record by record (or cell by cell) therefore this is the level where the zero suppression is active

Hopefully an appreciation of those 3 points would make it clear that what you are observing is expected behavior.

If you want to process where either actual, budget or forecast is populated then you have a few choices to achieve this
- set up a consolidation of the 3 versions and process that. Then you have to not skip calculated values which can really complicate preparing subsets for all the other dimensions in the view
- set up a rule defined version fed from each base version (it doesn't have to have a purpose other than to facilitate the processing) and process that and get the base version values via a CellGetN function Then you have to not skip rule calculated values which again complicates things and means you need to not skip rule calculated values in the extract
- process all 3 base versions with the zero suppression and for each record pull the other 2 versions with a CellGetN to do whatever comparisons or calculations you want to do. This is the approach I would recommend. You may process more records but without any additional complication and because the records being pulled are non consolidated non calculated odds on it would be the fastest also.

There's also the option of processing without zero suppression but that is very rarely a good option due to the number of records this introduces.

also you haven't really explained what you are trying to do. Perhaps what you want to achieve can be done with rules as opposed to a TI process if what you are after is a variance or growth calculation?

Re: ViewSuppressZeroesSet when creating a View in TI

Posted: Wed Nov 23, 2011 10:38 am
by prameson
Many thanks.

Your point 3 answered my question and confirmed my suspicion as to how the zero suppress works with a view extract.

I managed to solve the problem by creating and using a consolidation of the 3 elements.