Page 1 of 1

Making a private dimension subset public

Posted: Fri Nov 19, 2010 7:57 pm
by ChrisF79
Greetings:

I have a coworker that is not an admin and made a subset in one of the dimensions. He saved that subset and asked me to make it public. I'd like to but I don't see it. Is there a way I can make a user's subset public?

Thanks

Re: Making a private dimension subset public

Posted: Sat Nov 20, 2010 7:10 am
by Alan Kirk
ChrisF79 wrote: I have a coworker that is not an admin and made a subset in one of the dimensions. He saved that subset and asked me to make it public. I'd like to but I don't see it. Is there a way I can make a user's subset public?
If this is a one-off the easiest way is to log off, copy the .sub file from the user's folder (which will be something like \UserName\DimName}subs) into your own folder in the data directory, then when you log in it'll appear as one of your private subsets. You can then right click on it in the subset list and select Publish.

Re: Making a private dimension subset public

Posted: Sat Nov 20, 2010 3:44 pm
by ChrisF79
That will work well. Thanks!

Re: Making a private dimension subset public

Posted: Sat Nov 20, 2010 9:18 pm
by kpk
Alan Kirk wrote:
ChrisF79 wrote: I have a coworker that is not an admin and made a subset in one of the dimensions. He saved that subset and asked me to make it public. I'd like to but I don't see it. Is there a way I can make a user's subset public?
If this is a one-off the easiest way is to log off, copy the .sub file from the user's folder (which will be something like \UserName\DimName}subs) into your own folder in the data directory, then when you log in it'll appear as one of your private subsets. You can then right click on it in the subset list and select Publish.
If you copy the subset this way you have to restart the server in order to see it as your own private.
Using this approach you can copy the subset directly into the Database\DimName}subs folder and see it immeditately as a public subset (after restart).

If you want to avoid the server restart then try to use the PublishSubset(dimension, subset) function.

Re: Making a private dimension subset public

Posted: Sun Nov 21, 2010 8:16 pm
by Alan Kirk
kpk wrote:
Alan Kirk wrote:
ChrisF79 wrote: I have a coworker that is not an admin and made a subset in one of the dimensions. He saved that subset and asked me to make it public. I'd like to but I don't see it. Is there a way I can make a user's subset public?
If this is a one-off the easiest way is to log off, copy the .sub file from the user's folder (which will be something like \UserName\DimName}subs) into your own folder in the data directory, then when you log in it'll appear as one of your private subsets. You can then right click on it in the subset list and select Publish.
If you copy the subset this way you have to restart the server in order to see it as your own private.
I assure you, you don't.

Go ahead and try it.

Private views and subsets seem to be read in on demand (ie when the user logs on), unlike public ones.

Re: Making a private dimension subset public

Posted: Sun Nov 21, 2010 8:52 pm
by kpk
Alan Kirk wrote: I assure you, you don't.

Go ahead and try it.

Private views and subsets seem to be read in on demand (ie when the user logs on), unlike public ones.
Wow! That really works.
Thanks!

Re: Making a private dimension subset public

Posted: Mon Nov 22, 2010 11:00 pm
by Gregor Koch
Hi

I agree with Alan, if it is a once off just use the "File - Copy - Bounce - Server" approach.

But...
Although the private subsets might not be in memory they are still stored as .sub files in the users folder. Hence if you know the user name, dimension name and subset name you know where to look for the .sub file. You can use the file as source and by fiddling with the '270,x' section (which lists the elements of the subset) of that file and do a 'simple' SubsetCreate (SubsetExists check, SubsetElementInsert etc) and you are good to go.
Yep, a whole lot of coding and you can take it to the extend of checking for a dynamic subset, but it beats restarting the server if you have to do it every month, week or day.

Cheers