Better design and implementation

Post Reply
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Better design and implementation

Post by charan »

Hi,
I have developed a cube with the dimensions;
Customer
Account
Version
Months
Year
Bands
Employee Details
the requirements when user selects the Plan version, first we must identify what is the current month?,based on the current month the quarter should be editable.
Like if we are in jun then Apr,May and jun should be editable remaining should be blocked,This should be dynamic.

First I have tried by writing rule(many)
['plan','Feb']=S:''; in the same way for remaining months.

Second I tried with security but I did not meet the requirements.

Please find the attachment for the cube I modeled.
Attachments
Dsgn.JPG
Dsgn.JPG (131.33 KiB) Viewed 8329 times
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Re: Better design and implementation

Post by charan »

for the current month I tried like
['Plan','Employee cost']=S:Month(DATE(Now())=6,Read, write);this rule i have written for control cube
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Re: Better design and implementation

Post by charan »

any suggestions.
Alan Kirk
Site Admin
Posts: 6667
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Re: Better design and implementation

Post by Alan Kirk »

charan wrote:any suggestions.
Only one; patience. You asked the question only 5 hours ago. At that time it was already close to going home time in the eastern US, late evening or well into the night in Europe, and a bright shining morning in asia-pac... where a lot of us work on a 30 June financial year and are too buried under annual budgets and end of year reporting just now to answer as many questions as we otherwise might.

I appreciate that you'd like to get a reply as soon as you can but you don't need to bump the thread that soon, just wait for nature to take its course...
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
BigG
Community Contributor
Posts: 211
Joined: Tue Sep 15, 2009 11:13 pm
OLAP Product: IBMPA
Version: PA 2.0 Cloud
Excel Version: 2010

Re: Better design and implementation

Post by BigG »

Hi, unsure if this helps. for numeric, write N: based rules

Could use ELPAR to find the matching Qtrs but best to create an attribute 'QTR' for each leaf element

Code: Select all

# Do not allow input to non plan quarter
['Plan','Ecost'] = N:
	IF(
		# The current month within the months quarter
     ATTRS('Month', !Month, 'QTR') @= ATTRS('Month', DB('Control', 'Item', 'Current Month'), 'QTR') 		
		 ,
		# Allow input
		STET,
		# otherwise zero
		0	
                );


['Plan','Employeename'] = S:
	IF(
		# The current month within the months quarter
                                 ATTRS('Month', !Month, 'QTR') @= ATTRS('Month', DB('Control', 'Item', 'Current Month'), 'QTR') 		
		 ,
		# Allow input
		STET,
		# otherwise zero
		''	
                );
note: use CONTINUE instead of STET if you have furher calcs on the intersections

btw, use element names not aliases in rules if you can, they wont ever change (unless deleted), while aliases may
GG
winsonlee
Regular Participant
Posts: 180
Joined: Thu Jul 01, 2010 3:06 am
OLAP Product: Cognos Express
Version: 9.5
Excel Version: 2007
Location: Melbourne, Australia

Re: Better design and implementation

Post by winsonlee »

When you mention blocked, i would believe the data will still be there, just that the user will not have access to change the data that is already on the cell. Can you write rules on the Months security cube to determine which month has write access ?

You might need to set up a separate account which does not have admin permission to test it.
BigG
Community Contributor
Posts: 211
Joined: Tue Sep 15, 2009 11:13 pm
OLAP Product: IBMPA
Version: PA 2.0 Cloud
Excel Version: 2010

Re: Better design and implementation

Post by BigG »

oh, still want data to be retained in the other months? ok, scrap my rules example above

Could use rules to drive the security as winsonlee describes, but if its only applicable to Plan version then it may be cell level security, which you want to be careful with due to performance overheads

Either way, if you are rolling over your 'current month' each new period, you can write the same logic into a TI process and reduce any rule overhead issues (as its only data)
GG
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Re: Better design and implementation

Post by charan »

Winsonlee,
Yeah your thought is correct user should not enter any data.
Thank you
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Re: Better design and implementation

Post by charan »

Big G,
Thank you very much,
I have doubt in the rule,
QTR is an attribute with 1,2,3....12 for the month dimension or any other thing their according to your suggestion?

In the control cube I did not get the design according to you, How to pick the current month in the control cube?

Thanks and regards
BigG
Community Contributor
Posts: 211
Joined: Tue Sep 15, 2009 11:13 pm
OLAP Product: IBMPA
Version: PA 2.0 Cloud
Excel Version: 2010

Re: Better design and implementation

Post by BigG »

QTR is an attribute with 1,2,3....12 for the month dimension or any other thing their according to your suggestion?
yes, the month dimension months

But that will wipe data in all months other than the 'current' quarter... might want to lkook at dim or cell level secuirty
GG
BigG
Community Contributor
Posts: 211
Joined: Tue Sep 15, 2009 11:13 pm
OLAP Product: IBMPA
Version: PA 2.0 Cloud
Excel Version: 2010

Re: Better design and implementation

Post by BigG »

In the control cube I did not get the design according to you, How to pick the current month in the control cube?
control cube is an example. every month you roll over change the current month in a cube you created (my example I called it control - its not a } TM1 control cube)
GG
Lukas Meyer
Posts: 51
Joined: Thu Jul 24, 2008 6:14 am

Re: Better design and implementation

Post by Lukas Meyer »

charan wrote: Second I tried with security but I did not meet the requirements.
I'm no native speaker, so ' apologize if this is obvious to you: If you say "I don't meet the requirements" do you mean that you couldn't implement it or that cell-security is not what you need?

If you need to disable rules, BigG provided an approach.

If you have no rule calculations - or still need them - but want to prevent users from writing to the other 3/4 of the year, you want cell-security.
If you need to prevent administrators too (although this seems unlikely as ibm charges quite a bit per admin user, at least for us) you want locks.

To have dynamic security, the security-objects need to be recalculated to take effect, so you would have to run a daily chore with nothing but SECURITYREFRESH in it (we got lazy once and added SAVEDATAALL, but this eventually crashed the server. So I have SECURITYREFRESH scheduled quite a bit before SAVEDATAALL on the servers that need such dynamic security)

I would build an interface-cell-security cube with dimensions
Version
Months
Year
Right (Element=S:Right)

And populate it either manually or via TI process.
Then enter a rule like

Code: Select all

['Admin'] = stet; #because I don't feel comfortable overwriting Admin rights... but it has no apparent harm to do it...
[] = S: IF(DB('SYS_Interface_CS',!Version,!Months,!Year,'Right')@<>'',DB('SYS_Interface_CS',!Version,!Months,!Year,'Right'), 'READ');
to the }CellSecurity_ cube. (If needed you can add }Groups to the interface cube or add exceptions to the rule above the global statement)
If you don't like explicit rights, you can keep it binary (don't add the 'Right' dimension, obviously) for <>1 -> Read and ==1 ->Write. (in fact I'd recommend the binary approach)

Don't forget to refresh security (either via command in TI or context-menu of your server) for the effort to have any impact ;)
charan
Posts: 148
Joined: Tue Nov 23, 2010 9:04 am
OLAP Product: cognos tm1
Version: 9.5
Excel Version: 2007

Re: Better design and implementation

Post by charan »

thank you,
I tried it with rules itself.
Post Reply