Embedded PowerBI in SharePoint - Targeted Audience? - sharepoint

I have a number of PowerBI dashboards on our SharePoint 2013 online site. We are working on a plan to only display relevant dashboards to the user based on their user group. For example, a salesperson will only see their personal dashboard on the page. I can do this for image viewer, etc., but I cannot figure out how to edit a PowerBI webpart to target an audience. Any suggestions would be most welcomed.
KL

I suggest you to use Row level security.
Select the Modeling tab.
Select Manage Roles.
3.Select Create
4.Provide a name for the role.
5.Select the table that you want to apply a DAX rule.
6.Enter the DAX expressions. This expression should return a true or false. For example: [UserID] = userprincipalname().
And Save.
For this you need a field where the username is registered, means that user has visibility on that row. If you don't have this information, then you will need to add some information to the row, to give visibility to whom deserve it.
After you have created your role, you can test the results of the role within Power BI Desktop. To do this, select View As Roles.
And then play around to check if what you get is what you want.
Hope that helps!

I had to revert the SP page to a Classic interface, then create individual Web Parts for each dashboard on the page, limiting each Web Part by the targeted audience. The Web Parts are not visible on the main Dashboard Portal page unless you are in the targeted audience, so you could see 1 or up to 5 dashboard previews on the page. An individual page was needed for each Power BI dashboard. A user cannot be prevented from seeing the dashboard if they are provided the URL, but hiding the hyperlink and preview screenshot on the Portal page is close enough. This should be easier to execute in SP... Oh well...

Related

How to make report page default for different customers using Power BI API?

We are embedding all our customers reports from power bi web to our own website and from there customers can view their insights/reports. Now, customers are requesting for default report page. so instead of viewing main page of report, they want to see their own report page as default. We have many customers, so we have to be done this for all of our customers. FYI: we are using c# for writing web services.
What are the ways of doing this? I believe we have to store report bookmarks guid in our database? if so then how can I access that bookmark guid?
so basically, do I need to create a table and store the customer id and bookmark guid for report page and whenever they access I should have to return that page guid according to customer id?
So is there anything to do from power bi API side or just need to make a changes from portal side?
Please suggest any possible ways of doing this.
If it is only about the page, then you can simply store the page name and switch to it programmatically by calling page's setActive method, or to set the page name to pageName property of the embed configuration details when embedding the report.
If you still want to apply bookmarks, then again you can apply it on load, or apply predefined state.

PowerApps Gallery not showing SharePoint data for users

I have a PowerApp that is a gallery showing a list from SharePoint and also an input mask for said list in SharePoint. The input part works flawlessly for me and my collegues, but the gallery part which should be showing the data from the SharePoint list is giving me a headache.
I can see the data from the SP list in the App. My colleagues with whom I shared the App only see a blank list.
When they first open the shared app they have to accept a prompt from the SharePoint connector & I have given them all access to the specific SharePoint list. Yet they still don't see anything in the PowerApp gallery that should show the SP data.
I checked the connections in the App setting and the SharePoint connection works. Also I can see the data. Although the connector is showing my personal SharePoint account, but afaik by granting the SharePoint access on the first opening of the App this should take care of that.
TLDR:
PowerApp has a gallery that shows SP data and that works for me but not for the users whom I shared the App with. They only see a blank gallery. How do I fix that?
BR
Thomas
I thankfully found the issue myself after some digging around in the settings. In the Advanced List setting the following option was not set to read all:
Item-level Permissions
Specify which items users can read and edit.
With this option correctly set everyone is now able to see the list items.
Have a great day and I hope this might help someone!

Why can’t I change my personal settings in Microsoft Dynamics CRM 2016

I've set all my security roles in CRM but unable to select the Default Tab, see screenshot below. What am i missing?.
Screenshot
Since you selected the Default Pane based on user role it doesn't create a filtered list for the Default Tab.
Call MS devs lazy or performance aware but they just cut corners there and do not query the Pane based on your user role to filter the Tab list.

Use Pictures from another website as SharePoint profile pictures

We have a "corporate directory" website that displays some contact information about our employees. Among other things like displaying data from Active Directory, it also displays a picture, which can be retrieve via a URL of the format http://[CorpDir]/PersonPhoto.aspx?email=[UserEmail]
I'm now looking for a way to use these pictures as profile pictures in SharePoint, as easy as possible. Custom coding for SharePoint is not an option for us at the moment.
The easiest way would be to set the PictureUrl property for each user profile. Even if you can't add custom code on the server to do that, you can probably write code elsewhere that uses the web services to set the profile.
You may also be able to do it with customization of the out of box AD import - take a look at the settings for that and what you have available in AD.

Viewing a MOSS 2007 page as another user would see it - without logging in as that user

In Moss 2007 you have the ability to set the target audience for each individual web part within a page. Is there a way to preview how the page will look to another user without logging in as that user? What I am looking for is a way for someone with full control/design permissions on a site to be able to preview how the site will be displayed to another user. Any suggestions?
I have a few test accounts that our IS department uses to preview pages, however we do not allow non-IS departamental staff to use those accounts. Those staff members only have access to their one account. So, if a user makes changes the target audience on a web part on one of their pages, right now they have no way to preview how the page will look to someone else other than asking someone else to login & watching over their shoulder. I can't give out the account information for the test accounts, nor can I create new test accounts.
Thanks!
Edit: I have the ability to preview. The problem is that other users with full control of a site can't preview the page. Here's a scenarios: In my school division each school has a site. The principal has full control of his school's site. On the landing page, he wants all the school announcements to be visible. However, some should only be visible to teaching staff, while others need to be visible to the students. He uses audience targetting but cannot preview to see at a glance that the targetting is correct. A lot of the users are not computer savy so things need to be as simple as possible. Also, that was just one scenario, there are other scenarios that are not divided by school. There are many users with full control of a site with different requirements - so it's not feasible to create test accounts for all scenarios.
First I don't think it is possible to have a preview feature if you are using NT security. Maybe it is something you can do with forms authentication but I never used it.
On that subject. I think when you are developing new features or integrating stuff on a MOSS/WSS server you need a little flexibility.
With what I see you have to following things you can do. It is surely more cost effective than developing a custom solution. I assume you are using NT Security.
User accounts : Ask your domain administrator to have dedicated user accounts to play with.
Virtual Machines : Ask to have some virual machines to be able to play with that server combined with tests accounts
Sandboxed environment : Ask your IT dept to create a sandboxed MOSS environment to have to possibility to replicate your actual MOSS environment and create custom user scenarios.
Edit: After re-reading the question I released that you want the users to be able to preview a page. I think you will need to look into writing a preview control that uses Impersonation to load the page. Not sure how feasible this is, but surely someone has created a preview feature. Sounds like a pretty common scenario to me.
Old Answer:
Could you not fire up a non MS browser such as Firefox, which will prompt for the username and password.
You can then just clear the session cookies to be prompted to log in as someone else.
This is the technique I used for an ASP.Net site that used authentication against the domain in a similar manner to SharePoint.
Alternatively, you can create a control/webpart that hooks into the audiences for the site and displays the audience membership to the user (maybe from the GetMembership call). This does not preview the site, but it will give your editors a heads up on who is in each audience. Something that will help them get the audiences correct.
We have made a similar webpart for security group membership.
I think there are two approaches you can take:
Do make use of test accounts to preview the pages. You can ease the "pain" to log in as another user by making use of the RUNAS command (http://technet.microsoft.com/en-us/library/bb490994.aspx). So it's possible to just create a shortcut on the desktop that opens a browser making use of another account's credentials. Only that browser instance will work with the test account.
Make a copy (or more copies) of the page that you want to preview, store it in a secured site (so it's only accessible for the principal for example), and tweak the Audience Targetting properties of the web parts on that page/pages.
For previewing target audiences only, the only way to do it is to create a target audience that runs based on a properties in the SSP User Profile Properties.
You can then have a control that allows the editor to change the value stored thier profile, re-compile the profiles and voila (for some description of voila) the user will have change thier audience targetting values to something else.
This would need quite a bit of coding and some thought put into the rules for the audience targetting.
At the end of the day, the most cost effective way is to push back to your infrastructure guys for an account solution that will allow you to have an "reader" account people can use for this function.

Resources