Dynamic subset and rule execution
Posted: Wed Jan 10, 2018 12:00 am
Hi guys,
I'm wondering how the rule is executed when dynamic subset is used within a cube view.
If my understanding is correct the rule is always executed only for cells within a view, not for the whole cube. So if I use a static subset then only members within the subset are evaluated/calculated - let's say only selected measures, products, org units etc.
But what if I use a dynamic subset? Does the rule behave the same way as for the static one?
I suppose it depends on the subset expression...
I'm interested in subsets that use FILTER function. What is happening in the cube if my dynamic subset uses FILTER function? Is the rule evaluated for the basis of the FILTER function or for the result of the FILTER function?
For example if I use an attribute for filtering the subset looks like this:
{FILTER( {TM1SUBSETALL( [Product] )}, [Product].[Category] = "Customer Lending")}
Is the rule evaluated for {TM1SUBSETALL( [Product] )} but the view shows only products with "Customer Lending" category? Or is the rule evaluated only for products with "Customer Lending" category?
And additionally - what happens when the dynamic subset is "connected" to another dimension within the cube? For example a relation between segment and product - I want to see only products for selected segment (segment dim is in the context and product dim is in rows). Is the rule evaluated for all products but only products for selected segment are shown within the view?
I assume this might have significant impact on performance because if I have hundreds/thousands of products within Product dimension but only few of them are flagged as "Customer Lending" (or use selected segment) then there must be a difference in the overall cube performance...
Appreciate any help!
BR
Vladino
I'm wondering how the rule is executed when dynamic subset is used within a cube view.
If my understanding is correct the rule is always executed only for cells within a view, not for the whole cube. So if I use a static subset then only members within the subset are evaluated/calculated - let's say only selected measures, products, org units etc.
But what if I use a dynamic subset? Does the rule behave the same way as for the static one?
I suppose it depends on the subset expression...
I'm interested in subsets that use FILTER function. What is happening in the cube if my dynamic subset uses FILTER function? Is the rule evaluated for the basis of the FILTER function or for the result of the FILTER function?
For example if I use an attribute for filtering the subset looks like this:
{FILTER( {TM1SUBSETALL( [Product] )}, [Product].[Category] = "Customer Lending")}
Is the rule evaluated for {TM1SUBSETALL( [Product] )} but the view shows only products with "Customer Lending" category? Or is the rule evaluated only for products with "Customer Lending" category?
And additionally - what happens when the dynamic subset is "connected" to another dimension within the cube? For example a relation between segment and product - I want to see only products for selected segment (segment dim is in the context and product dim is in rows). Is the rule evaluated for all products but only products for selected segment are shown within the view?
I assume this might have significant impact on performance because if I have hundreds/thousands of products within Product dimension but only few of them are flagged as "Customer Lending" (or use selected segment) then there must be a difference in the overall cube performance...
Appreciate any help!
BR
Vladino