I may already know the answer to this but if you have an input cube where you simply enter a numeric amount and then pick a couple of dropdowns. An then you want to report on those picklists as actual dimensions, what techniques are there to not overfeed?
Currently I believe you are stuck to a conditional feeder or using a TI. I would be interested to know if anyone has any slick techniques other than these?
Techniques to not over feed with virtual dimensions
-
- Community Contributor
- Posts: 349
- Joined: Tue Aug 17, 2010 6:31 am
- OLAP Product: Planning Analytics
- Version: 2.0.5
- Excel Version: 2016
-
- MVP
- Posts: 170
- Joined: Fri Dec 10, 2010 4:07 pm
- OLAP Product: TM1
- Version: [2.x ...] 11.x / PAL 2.1.13
- Excel Version: Excel 2016-2021-365
- Location: Germany
Re: Techniques to not over feed with virtual dimensions
I think, you are talking about a disadvantage, which was built into TM1 from the very first. As long as you do traditional consolidations, feeding works fine.
If one intend the usage of extra dims as a kind of dropdown to display variations of original data, then conventional feeding is very restricted, as you blow up your feeding volume.
The best way I know, to keep a smart (rule based) TM1, is the introduction of feeder dummy elements in the extra dims and move your N-level elements one level up, means make every N-element a C-element with having the dummy leaf as child.
There are a couple of tricks to get back the usual TM1 cube behaviour (zero suppression etc.), however the creation of rules is more sophisticated of course, because you cannot write N: business rules anymore. The biggest step ahead was, when 8.2.2 introduced the ConsolidateChildren function, so I could get rid of external compilations into a TM1 server.
Best Regards
Gabor
If one intend the usage of extra dims as a kind of dropdown to display variations of original data, then conventional feeding is very restricted, as you blow up your feeding volume.
The best way I know, to keep a smart (rule based) TM1, is the introduction of feeder dummy elements in the extra dims and move your N-level elements one level up, means make every N-element a C-element with having the dummy leaf as child.
There are a couple of tricks to get back the usual TM1 cube behaviour (zero suppression etc.), however the creation of rules is more sophisticated of course, because you cannot write N: business rules anymore. The biggest step ahead was, when 8.2.2 introduced the ConsolidateChildren function, so I could get rid of external compilations into a TM1 server.
Best Regards
Gabor
-
- Community Contributor
- Posts: 103
- Joined: Mon Sep 05, 2011 11:04 pm
- OLAP Product: TM1
- Version: 10.2
- Excel Version: 2010
Re: Techniques to not over feed with virtual dimensions
I may not be fully understanding the scenario here, but can't you just reference the picklist cells in your feeder.
ie
Cube 1 - input cube
Dim 1 - sku (sku A, sku B, ....)
Dim 2 - SKU Info (Category, Department, etc as picklists, quantity,revenue, as numbers)
Cube 2 - reporting cube
Dim 1 - sku
Dim 2 - 'measures' (quantity, revenue etc)
Dim 3 - Category
Dim 4 - Department
.....
....
Then the rule in Cube 2 would read:
The feeder in Cube 1 reads:
Again, I'm not sure this is the sort of situation you're looking for, but this would introduce no overfeeding at all. The If statements in the rule aren't too slow, even with huge cubes. The feeders would also need to be reprocessed whenever a picklist value is changed, but if you play around with settings, and the feeder source, you can do it so that feeders are re-fired whenever a picklist is changed.
ie
Cube 1 - input cube
Dim 1 - sku (sku A, sku B, ....)
Dim 2 - SKU Info (Category, Department, etc as picklists, quantity,revenue, as numbers)
Cube 2 - reporting cube
Dim 1 - sku
Dim 2 - 'measures' (quantity, revenue etc)
Dim 3 - Category
Dim 4 - Department
.....
....
Then the rule in Cube 2 would read:
Code: Select all
[{'quantity', 'revenue'}] = N: IF(
!Category @= DB('Cube 1', !sku, !Category)
& !Department @= DB('Cube 1', !sku, !Department),
DB('Cube 1', !sku, !Measures),
CONTINUE
);
Code: Select all
[{'Quantity'. 'Revenue'}] =>
DB('Cube 2', !Sku, !SKU Info,
DB('Cube 2', !SKU, 'Category'),
DB('Cube 2', !Sku, 'Department'), .....
);
- George Regateiro
- MVP
- Posts: 326
- Joined: Fri May 16, 2008 3:35 pm
- OLAP Product: TM1
- Version: 10.1.1
- Excel Version: 2007 SP3
- Location: Tampa FL USA
Re: Techniques to not over feed with virtual dimensions
I have used Whitej_d's method with a little variation to get around the refiring issue. I use an accompanying string feeder. For the numerical values on the input template I have a corresponding DBSS that will populate a string value if the numeric is not zero or blank it out if the numeric entry is zero. That way if the picklist value changes then the corresponding numeric in the reporting cube is fed automatically.
Using the string feeder might not be the most efficient way to handle it but for our instance it was a good compromise around the refiring, but it is efficient enough that we have not run into any issues using this method.
Using the string feeder might not be the most efficient way to handle it but for our instance it was a good compromise around the refiring, but it is efficient enough that we have not run into any issues using this method.