Filtrate the List Based on User's Access
Goal:
Display the data, in dataset, in reporting service for 30 users. Right information to right person.
Main question:
I have a dimension table called dimIndividual that is linked to a fact table with three different measurement. The fact table is linked to different dimension table in SSAS.
I want to set up a security that right user can review their own sales in quantity and value in SSAS.
I also want to prevent that no necessary column will be available due to security risk for instance if you use one column from the dimension table date, the remaining columns shall not be available in SSRS, excel tool etc. The data column from data set
that is being used for SSRS is only allowed to be available for users.
Information:
*The filtration and high security should take place in SSAS and not in the client application.
*The data of user in dimIndividual is for instance "James brown", "Sara Black", "Jim West" etc only
*The user shall have access to relevant column from different dimensiontable. For instance I wanna see sales in 2006.
*Taking account to security, by applying the filtration in server mode, no access availble will be easily for client tool for instance Excel and ssrs etc.
*I have a source code that filtrate the domain and "\" but the "." is available and I cannot use replace in order to remove the "." and replace it with " ".
with member measures.X as MID(username, instr(username, "\")+1)
select measures.x ON COLUMNS
from [Adventure Works]
Hi Sakura,
Did you review following case which you posted earlier?
http://social.technet.microsoft.com/Forums/en-US/5a3f0086-aaee-4e8e-ac71-9e6856adeed3/filtrate-reports-content-based-on-account?forum=sqlreportingservices
If we have not store user account in our database, we can use above method to restrict user access permission. Please refer to it.
If we have store user account in our database, we can use Advanced setting in the role. We can restrict the "Allowed member set" to just those members where the member name is equal to the username (). More detail information, please refer to the article
below:
http://bifuture.blogspot.in/2011/09/ssas-setup-dynamic-security-in-analysis.html
If you have any questions, please feel free to let me know.
Regards,
Alisa Tang
Alisa Tang
TechNet Community Support
Similar Messages
-
Filtration in the List based on "User!UserID"
Goal:
To make a filtration in the table list with support of "where" statement based on SSRS:s built-in function "User!UserID" in SSRS.
Problem:
I need apply the output value of the code
REPLACE
MID
User!UserID,
InStr(User!UserID,"\")+1,
Len(User!UserID)
in the dataset, inside of Where statement, but I retrieve error.
I also tried to apply the sourcecode as a variable and use it in the dataset, but the query designer complain that the variable do not exist. I'm using MDX code
What should I do?
WHERE
FILTER
xxxxxxxx.xxxxxxxx.ALLMEMBERS AS c,
c.Current.Name =
REPLACE
MID
User!UserID,
InStr(User!UserID,"\")+1,
Len(User!UserID)Hi Sakura,
Analysis Services data is Multidimensional Data. All Microsoft SQL Server Analysis Services dimensions are groups of attributes based on columns from tables or views in a data source view.
The data structure is [Dimension].[Hierachy].&[FieldValue]. For example:
WHERE ( [Geography].[Country].&[Canada]
). Also, we can use design mode to filter data. Please refer to the screenshot below:
If there are any misunderstanding, please feel free to let me know.
Regards,
Alisa Tang
Alisa Tang
TechNet Community Support -
How to get the list of actie users in the moss website !!
Hello Everybody,
I need to get the list of active users with access in the moss websites like following format.
User name User mailid permission
one of the project manager requested to find list of active users with user accesses in the moss website.
he wants to modify the user permissions.
Kindly suggest me how to get the users with permissions.
Thanks.Hi,
I have developed that code to retrieve the users, groups and permissions
if (orole.Member.PrincipalType.ToString() == "SharePointGroup")
lvigroup = new ListViewItem();
lvigroup.Text = orole.Member.LoginName;
// args.GroupsList.Items.Add(lvigroup);
DoUpdate1(lvigroup);
Group group = clientContext.Web.SiteGroups.GetById(orole.Member.Id);
UserCollection collUser = group.Users;
clientContext.Load(collUser);
clientContext.ExecuteQuery();
foreach (User oUser in collUser)
lvigroup = new ListViewItem();
lvigroup.Text = "";
lvsigroup = new ListViewItem.ListViewSubItem();
lvsigroup.Text = oUser.LoginName;
lvigroup.SubItems.Add(lvsigroup);
//args.GroupsList.Items.Add(lvigroup);
DoUpdate1(lvigroup);
// MessageBox.Show(oUser.LoginName);
RoleDefinitionBindingCollection roleDefsbindings = null;
roleDefsbindings = orole.RoleDefinitionBindings;
clientContext.Load(roleDefsbindings);
clientContext.ExecuteQuery();
//permission level
lvsi = new ListViewItem.ListViewSubItem();
string permissionsstr = string.Empty;
for (int i = 0; i < roleDefsbindings.Count; i++)
if (i == roleDefsbindings.Count - 1)
permissionsstr = permissionsstr += roleDefsbindings[i].Name;
else
permissionsstr = permissionsstr += roleDefsbindings[i].Name + ", ";
Kind Regards, John Naguib Technical Consultant/Architect MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation -
How can i get the list of all users present in the UME ?
Hi Experts,
How can i get the list of all users present in the UME ?
Is there any API or function Code to get all user list??
Please help me out!!!
Help will be rewarded
-pankaj chouhanHi Pankaj,
find the official NetWeaver security javadocs (including access to UME) <a href="http://help.sap.com/javadocs/NW04S/current/se/index.html">here</a>. Look for classs UMFactory and proceed from there.
Best regards,
Martin -
How to find out the list of all user's whose passwords are expired
Hi
i had tried to find out the list of all user's whose passwords are expired.
i had written some jndi code by finding the max age and then find out the current time and subtracted this current time from max age using the following code
"Attributes attbts=ctx.getAttributes("cn=pwdpolicy");
String maxAge=(String)attbts.get("pwdMaxAge").get();
Date Today = new Date();
System.out.println("maxAge"+maxAge);
long curTime=(Today.getTime())-Long.parseLong(maxAge)*1000;"
and then parse it and create a string time as follows
String time=year+month+day+hour+minute+second+"Z";
where "year" "month" etc were parsed from curTime
now i can get the list by using following code
"String filterCriteria="(&(objectclass=person)(pwdChangedTime>="+time+")";
NamingEnumeration results = ctx.search(baseDN,filterCriteria, sc); "
but the current time which i am getting is the time of my system not the time of ldap server
so my questions are following;
1.Can there is any way by which i can get the tivole sever's system time.
2.If there is no way then can you suggest any other way to find out the list of user's whose passwords are expired.
please help me.
Thanks.
Krishan Rathi.Hi,
Thanx for ur reply..
I got the list from the table...
thanks,
sivagami -
How to get the list of IDM users in a workflow.
Hi,
I wanted to get the list of IDM users in a workflow into a list.Now I tried to use getObjects Method,I do not have the display session here,I passed the workflow context or WF_Context.But it is giving exception like context null .
I used the same method in a form and it worked.How can I get the list of users in a workflow.It is for customizing reports.
Thanks and Regards,
Pandu
Any Idea on how to customize reports including attributes from resources and auditing attributes etc.Any help would be really great.
Thank you.Hi John,
I get this exception WorkItemForm: no id.
This comes when I click on the other column.I generate the data needed in a report and display it as a sorting table when I get the data.
I want to give the user ability to sort data by different columns.But when I click any column I get the exception
WorkItemForm: no id
How can I save a workitem on a manual form before invoking it from a manual action.
Here is the code snippet
<Field name='tblUsers'>
<Display class='SortingTable'>
<Property name='selectEnable' value='false'/>
<Property name='align' value='left'/>
<Property name='linkEnable' value='false'/>
<Property name='sortEnable' value='true'/>
<Property name='width' value='400'/>
<Property name='columns'>
<List>
<String>Account id</String>
<String>First Name</String>
</List>
</Property>
</Display>
<FieldLoop for='row' in='_searchList[*]'>
<Field name='enduserId'>
<Display class='Label'>
<Property name='value'>
<block trace='true'>
<invoke name='getAccountId'>
<ref>row</ref>
</invoke>
</block>
</Property>
</Display>
</Field>
<Field name='lblfirstname'>
<Display class='Label'>
<Property name='value'>
<invoke name='getAttribute'>
<ref>row</ref>
<s>firstname</s>
</invoke>
</Property>
</Display>
</Field>
<FieldLoop> I think I may need to save some workItem,That is why this may be giving the error.How can I correct this.
Thanks,
pandu -
How to find the list of all user exits modified by the users
How to find the list of all user exits using by in R3
Hi Mohamed
You use Solution Manager to do the comparison for you. There are some nice features that will highlight all your customised coding. Have a look at the SolMan resources on the Support Portal e.g. using SolMan for upgrade comparisons.
Rgards
Carl. -
How can i get the list of all users present in the LDAP
Hi Experts,
How can i get the list of all users present in the LDAP ?
Is there any API or function Code to get all user list??
Please help me out!!!
Help will be rewardedWell it will depend on exactly where your UME configuration points to in the LDAP tree but yes, it is possible to get all users. Something like the following should do it:
import com.sap.security.api.*;
import com.sapportals.portal.prt.component.*;
IUserFactory iuf;
ISearchResult isr;
IUser user
String userid;
iuf = UMFactory.getUserFactory();
isr = iuf.getUniqueIDs();
you will need to iterate the ISearchResult object but you can get IUser objects by
userid = (String)isr.next();
user = iuf.getUser(userid);
then you can imanipulate / identify / or whatever you need with the user object
Haydn -
How to get the list of all users
Hi,
Is there a way in Grid Control for getting the list of all users on all target databases? I need to count how many Oracle db users in our company.
Thanks a lot.One way to do it might be...
Assuming you have preferred credentials set up for all of your databases, you could run a 'select username from dba_users or all_users;' against all of your databases through grid control.
Click on Targets tab, click Databases, then the 'Execute SQL' link at the bottom of the page. Click 'Add' and 'Select All'. Then run it. It's just running the same sql across all of your databases and the output will be at the bottom for all of them. -
How do you configure the iMac so separate users can access each other's files, especially iPhoto and iTunes? I need to be able to transfer media between two users and not just gain limited access using 'share'.
See Terence Devlin's thorough explanation here.
-
How to find the List of expired user Ids
How to find the List of expired user Ids
Can you please tell me the question in detail.What do u mean by expired users?
IN a Client or in a System. -
How do I get a list of the reports that a user has access to?
<p>I need to be able to determine which reports a specified user has access to. This is for an application where users will be able to search and view reports that have been archived through a separate process. </p><p>I've searched through the developer library, but I can't find this specific information. Can I use the ObjectPrinicpals class to get this info?</p><p>Thanks!</p><p>-Dell<br /></p>
Hi Robert!
Yes, the presentation went well. It was a lot of fun to do and I had a great time at the conference.
Your suggestion works great if I'm walking down through the reports looking to see who has access to them.Â
However, I need to do this starting from the User object. When I use the ObjectPrincipals of the User, I get a list of the users who have the rights to modify the user. I did a lot of work on this last week and it boils down to I'm going to have to actually log in as the user (I can use trusted authentication to do this without having the user's password) and then run a query to select all of the reports in the system - this should give me just the reports that the user has access to. Not the most efficient way to get the data from my perspective, but it should work.
This would be a great feature to have added to future versions of the SDK. I need it for a couple of purposes:
1. To gather information to set up the security in my archive viewer application.
2. For auditing purposes - we currently have only Professional licenses so I don't have access to the internal auditing functionality. Plus, I'm not sure that that includes the kind of info I'm looking for so I'm building an app that extracts information to XML which is then used by a couple of reports so that I can provide the audit info as needed.
-Dell
 - A computer only does what you told it to, not what you thought you told it to!</p> -
With Timed Access List on, Guest users cannot access Guest network.
I have a ABS with 7.5 version. In the Timed Access window i have default set to "no access". Then, all the computers that are allowed access to the main network are on the list. Then i have the main network hidden. My guest network is broadcasting but when a user tries to connect to it, they get a "Unable to connect". If I change the default access in Timed Access to "Everyday", users are then able to connect to the Guest network again.
Obviously, this is a bug. I don't want people accessing the main network that aren't on the timed access list. However, I still want guest users to access the Guest Network.
It looks to me that the Timed Access window is controlling the restriction of the Guest and Main network, when it should only be controlling the Main only.
Hopefully, apple has noted this issue and will be fixed on the new update. If other people are experiencing this problem, Please let me know.
-GhostApple just updated the airport to 7.5.1. But there is still a problem with the the guest network not allowing access. If the "Unlimited" is set to "No Access" in the access list it prevents anybody from accessing the guest network. It should only deny your Main wireless Network.
In other words, the Access List is controlling the access for both wireless networks(Guest and Main network)
Either apple needs to create two Access Lists, One for Main network, and One for guest network. Or just have to option to choose which Network you want to restrict leaving the second one open for all.
-Ghost -
Have an onchange event in SPD to update a list based on user selection of data view drop down?
Hoping someone can point me in the right direction: I have a list for Media announcements, each one of these announcements will have various types of documents associated (via look up field in the doc library). I am trying to have a data form web part (dropdown)
as the selector (as I am not liking the SharePoint list filter feature) to have a user be able to select the Media Title, then it refreshes the three web parts on the page (1 for the announcement, then one for type1 docs and one for type 2 docs.)
What is the best way to create an onchange event to have the selected option be connected to the first web part (media title on a list view) so that the information on the page can all be filtered?Hi,
Would you mind providing more details about your requirement? Are there one Announcements list and two Document Library in a page?
Suppose you have one Announcements list and two Document Library in a page, then you want to add a Drop Down Menu(not the OOTB SharePoint List Filter Web Part) to filter the
three List View Web Part dynamically.
There will be two workarounds:
1. Use the OOTB “Connections” feature of the list to “Get Filter Values From” one of the three lists, then there will be a “Select” button in that list, we can click it to filter
other two lists/libraries. This is a way without code though we may not have the Drop Down Menu;
2. Add three <iframe> in a page, then add a Drop Down Menu in this page. Now, we will need some JavaScript to listen to the onchange event of this Drop Down Menu. We can
get the values populated in the Drop Down Menu from one of the column of one of the list, when making a selection in it, we can pass an URL with query strings to the three iframes which will show the three different lists or libraries.
The second way requires some code to interact with Client Object Model cause we need to get values from a list, some script to handle the onchange event, which seems more suit
with your need.
Here are some links might be helpful if you want to take the second way:
About how to find a specific element on a page using JavaScript:
http://javascript.info/tutorial/searching-elements-dom
Handle the onchange event using jQuery.change function:
http://api.jquery.com/change/
About query string to filter a list view:
http://techtrainingnotes.blogspot.com/2012/03/sharepoint-search-filter-or-sort-lists.html
About change the src attribute of iframe:
http://stackoverflow.com/questions/3730159/changing-iframe-src-with-javascript
http://www.w3schools.com/jsref/prop_frame_src.asp
Best regards
Patrick Liang
TechNet Community Support -
Is there a way to get the list of ALL user exits in ECC 5.0 or 6.0
Is this list published somewhere by SAP or can we get it from the system somehow? I m not talking about Enhancement or BADI's just user exits.
Thanks for readingHi ,
Just check this program to get the list
Hi,
Copy the problem in SE38 and Execute it
Enter the Tcode u want
this will the list of Userexits and badis
TABLES: TSTC,
TADIR,
MODSAPT,
MODACT,
TRDIR,
TFDIR,
ENLFDIR,
SXS_ATTRT ,
TSTCT.
DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA: FIELD1(30).
DATA: V_DEVCLASS LIKE TADIR-DEVCLASS.
PARAMETERS: P_TCODE LIKE TSTC-TCODE,
P_PGMNA LIKE TSTC-PGMNA .
DATA: WA_TADIR TYPE TADIR.
START-OF-SELECTION.
IF NOT P_TCODE IS INITIAL.
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
ELSEIF NOT P_PGMNA IS INITIAL.
TSTC-PGMNA = P_PGMNA.
ENDIF.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'PROG'
AND OBJ_NAME = TSTC-PGMNA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
IF SY-SUBRC NE 0.
SELECT SINGLE * FROM TRDIR
WHERE NAME = TSTC-PGMNA.
IF TRDIR-SUBC EQ 'F'.
SELECT SINGLE * FROM TFDIR
WHERE PNAME = TSTC-PGMNA.
SELECT SINGLE * FROM ENLFDIR
WHERE FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'FUGR'
AND OBJ_NAME EQ ENLFDIR-AREA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
ENDIF.
ENDIF.
SELECT * FROM TADIR INTO TABLE JTAB
WHERE PGMID = 'R3TR'
AND OBJECT in ('SMOD', 'SXSD')
AND DEVCLASS = V_DEVCLASS.
SELECT SINGLE * FROM TSTCT
WHERE SPRSL EQ SY-LANGU
AND TCODE EQ P_TCODE.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) P_TCODE,
45(50) TSTCT-TTEXT.
SKIP.
IF NOT JTAB[] IS INITIAL.
WRITE:/(105) SY-ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
Sorting the internal Table
sort jtab by OBJECT.
data : wf_txt(60) type c,
wf_smod type i ,
wf_badi type i ,
wf_object2(30) type C.
clear : wf_smod, wf_badi , wf_object2.
Get the total SMOD.
LOOP AT JTAB into wa_tadir.
at first.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 'Enhancement/ Business Add-in',
41 SY-VLINE ,
42 'Description',
105 SY-VLINE.
WRITE:/(105) SY-ULINE.
endat.
clear wf_txt.
at new object.
if wa_tadir-object = 'SMOD'.
wf_object2 = 'Enhancement' .
elseif wa_tadir-object = 'SXSD'.
wf_object2 = ' Business Add-in'.
endif.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 wf_object2,
105 SY-VLINE.
endat.
case wa_tadir-object.
when 'SMOD'.
wf_smod = wf_smod + 1.
SELECT SINGLE MODTEXT into wf_txt
FROM MODSAPT
WHERE SPRSL = SY-LANGU
AND NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
when 'SXSD'.
For BADis
wf_badi = wf_badi + 1 .
select single TEXT into wf_txt
from SXS_ATTRT
where sprsl = sy-langu
and EXIT_NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
endcase.
WRITE:/1 SY-VLINE,
2 wa_tadir-OBJ_NAME hotspot on,
41 SY-VLINE ,
42 wf_txt,
105 SY-VLINE.
AT END OF object.
write : /(105) sy-ULINE.
ENDAT.
ENDLOOP.
WRITE:/(105) SY-ULINE.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No.of Exits:' , wf_smod.
WRITE:/ 'No.of BADis:' , wf_badi.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'No userexits or BADis exist'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'Transaction does not exist'.
ENDIF.
AT LINE-SELECTION.
data : wf_object type tadir-object.
clear wf_object.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(8) EQ 'WA_TADIR'.
read table jtab with key obj_name = sy-lisel+1(20).
move jtab-object to wf_object.
case wf_object.
when 'SMOD'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
when 'SXSD'.
SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
ENDCASE.
Thnks
Abhishek
Maybe you are looking for
-
How do you make Vector Text in Photoshop to import to Flash 8?
I'm trying to make some nice text for a logo in photoshop, but how do i export it as a vector into Flash so it will not distort?
-
New to internalization help me
Hi there, i am new to this internalization issues, so please bare with me. I have an application(web based) that needs to be supported in 6 different languages. From what i could understand is there are some input methods which will help us to map th
-
"Show Package Content" organization ... or lack thereof.
I have been using iPhoto on and off again since 2004. Over the years we have updated our computer various times, so the pictures have been constantly moved around from iPhoto '04 to '06 to '08 to'09. My husband has also 'backed up' my photos by dropp
-
Installing winxp on late macbook air
Tried installing winxp Got Non bootable device error. Why can some people install windows xp on their late macbook air, but I can't? Here a video of what I do and the error message I get: http://www.youtube.com/watch?v=bSMgUbRnlEE Thank you for your
-
hi Everyone anyone send me details for a Chart Design using Webdynpro thanks vino