Page 1 of 1

String Feeder

Posted: Thu Feb 08, 2018 10:43 pm
by ExApplix
I am writing a very basic String Rule and Feeder and for some reason my head is not getting around this.
The rule is working fine but the feeder is not behaving properly and suppressing zeros is not working.
The simplified version of the my Rules/feeders as follows:

Code: Select all

SKIPCHECK; 
FEEDSTRINGS;
['Measure'] = S: 'READ' ; 

FEEDERS;
[] => 	['Measure'] ; 
What I am doing wrong here? Any help would be appreciated.
Thanks heaps in advance!

Re: String Feeder

Posted: Fri Feb 09, 2018 2:52 am
by macsir

Code: Select all

['Measure'] = S: 'READ' ;

Re: String Feeder

Posted: Fri Feb 09, 2018 5:04 am
by ExApplix
macsir wrote: Fri Feb 09, 2018 2:52 am
Are you saying that I should remove the SKIPCHECK , STRINGFEEDERS and FEEDERS from the rule?

By removing SKIPCHECK will it not effect the performance as TM1 will not skip the empty cells anymore?

Re: String Feeder

Posted: Fri Feb 09, 2018 7:18 am
by Elessar
You should write feeders from fed or input cells. Do you have any in your cube?

Please read the Feeders proven practices: https://www.ibm.com/developerworks/data ... ge620.html

Re: String Feeder

Posted: Fri Feb 09, 2018 1:34 pm
by John Hammond
Never put any feeder info into Security Cubes as they get evaluated top down anyway. So macsir's suggestion would work.

How you feed a constant has always been a bit of a gripe for me, since constants are not derived, and I believe there should be syntax in TM1 feeders along the lines of

FeedByDefault [area] ;

To resolve this issue.

Re: String Feeder

Posted: Fri Feb 09, 2018 2:30 pm
by Elessar
John Hammond wrote: Fri Feb 09, 2018 1:34 pm Never put any feeder info into Security Cubes as they get evaluated top down anyway. So macsir's suggestion would work.

How you feed a constant has always been a bit of a gripe for me, since constants are not derived, and I believe there should be syntax in TM1 feeders along the lines of

FeedByDefault [area] ;

To resolve this issue.
Little offtop: there is a parameter "PrivilegeGenerationOptimization": https://www.ibm.com/support/knowledgece ... ion_1.html
If it is set to T, you need to feed cells in CellSecurity cube.

But I've never heard of anyone using it

Re: String Feeder

Posted: Fri Feb 09, 2018 8:51 pm
by paulsimon
Hi

Just to clarify, as you are clearly writing the rule in a Security Cube :

You still need the SKIPCHECK but not the FEEDSTRINGS or FEEDERs statements.

You need the rule itself.

You don't need the feeder - There is no point in a Security Cube.

If the Security Cube is a }CellSecurity Cube then if the rule has an IF, the security takes effect as soon as value changes, eg
[] = S: IF( DB( 'System', 'Any' , 'Make Read Only' ) @= 'Y' , 'READ' , CONTINUE ) ;
So as soon as I change my System Cube to have the value Y for the Make Read Only measure, then the all cells in the cube related to the CellSecurity cube will go read only.

However, in any other types of Security Cube, eg }CubeSecurity, }ElementSecurity, then the security change only takes effect when you Refresh Security, which you can do in TI, or from the menus accessed by right clicking the server.

Regards

Paul Simon