Dear experts,
is it possible to modify a private view, so that public subsets, that are assigned to the view, are unleashed?
The following situation:
I'm getting in contact with an old TM1-model. Over the years a huge number of public subsets and views are grown.
I already got rid of lots of public views, which I do not need any more
Now, I want to clean up the subsets. Problem: I can not delete a subset, if it is assigned to a view.
I already created a list (dimension) of all views (private and public) by TI by going through the data-folder
I also have a dimension of all subsets (private and public)
and I've a cube that shows me, which subset is assigned to which view (public subsets in public or private views, private subsets in private views)
I'd now like to:
a) modify the private views, so that the public subsets which I want to delete, are not assigned to private views any more (or replaced by another subset)
b) delete the public subsets that are not used any more.
b) is simple
a) - I'm asking for help.
I know that the private view can be changed by changing the *.view-file in the Users folder in the data directory. but I think this has to be done while the server is down,
Any idea?
Regards
Mark
Change private views: unleash public subset
-
Wim Gielis
- MVP
- Posts: 3245
- Joined: Mon Dec 29, 2008 6:26 pm
- OLAP Product: TM1, Jedox
- Version: PAL 2.1.5
- Excel Version: Microsoft 365
- Location: Brussels, Belgium
- Contact:
Re: Change private views: unleash public subset
Hello Mark,Mark2007 wrote:I know that the private view can be changed by changing the *.view-file in the Users folder in the data directory. but I think this has to be done while the server is down
In fact, you don't have access to the views programmatically, unless you use the API, which is not easy at all.
[Untested]
You will need to loop over all public subsets that are used in private views (it seems that you already have that information). Track to which user that view is private.
Then you will need to copy the *.vue file for the public view and copy it to the user's folder in the TM1 data directory.
When done, execute the same loop again over public subsets that are used in private views, and delete the *.vue files.
When the user logs off and logs on, the private views should be referencing private subsets.
Have a look at security as well, since the public subsets could be referencing elements to which the user might not have access.
Such views where the user has no access to an element might fail to open in the Cube viewer, for example.
[/Untested]
Can you do some tests whether my suggested approach works fine ? Thanks.
If it does not work I'd be happy to give this one a second thought.
Wim
Best regards,
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
-
BrianL
- MVP
- Posts: 264
- Joined: Mon Nov 03, 2014 8:23 pm
- OLAP Product: TM1
- Version: 9.5.2 10.1 10.2 PA2
- Excel Version: 2016
Re: Change private views: unleash public subset
Mark2007 wrote: I know that the private view can be changed by changing the *.view-file in the Users folder in the data directory. but I think this has to be done while the server is down
That's certainly the safest way. In general, private objects are no loaded into memory until the user actually logs in. When the user is no longer logged in, the private objects should be removed from memory. Because of this you *might* be able to modify the private .vue files, but there's a possibility of running into problems if any users are logged/logging in when you do this work. I do not recommend trying it while TM1 is running.
