Better design and implementation
-
- Posts: 148
- Joined: Tue Nov 23, 2010 9:04 am
- OLAP Product: cognos tm1
- Version: 9.5
- Excel Version: 2007
Better design and implementation
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.
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 (131.33 KiB) Viewed 8321 times
-
- 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
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
['Plan','Employee cost']=S:Month(DATE(Now())=6,Read, write);this rule i have written for control cube
-
- 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
any suggestions.
-
- 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
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.charan wrote:any suggestions.
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.
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
-
- 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
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
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
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
''
);
btw, use element names not aliases in rules if you can, they wont ever change (unless deleted), while aliases may
GG
-
- 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
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.
You might need to set up a separate account which does not have admin permission to test it.
-
- 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
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)
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
-
- 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
Winsonlee,
Yeah your thought is correct user should not enter any data.
Thank you
Yeah your thought is correct user should not enter any data.
Thank you
-
- 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
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
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
-
- 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
yes, the month dimension monthsQTR is an attribute with 1,2,3....12 for the month dimension or any other thing their according to your suggestion?
But that will wipe data in all months other than the 'current' quarter... might want to lkook at dim or cell level secuirty
GG
-
- 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
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)In the control cube I did not get the design according to you, How to pick the current month in the control cube?
GG
-
- Posts: 51
- Joined: Thu Jul 24, 2008 6:14 am
Re: Better design and implementation
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?charan wrote: Second I tried with security but I did not meet the requirements.
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');
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

-
- 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
thank you,
I tried it with rules itself.
I tried it with rules itself.