Show specific data from excel to specific user in sharepoint - excel

I have an excel sheet where there are two columns:
Email
loyalty points
example:
Email
Loyalty Points
abc1#company.com
248
abc2#company.com
540
My requirement:
When a user (abc1#company.com) login to his SharePoint he should see the token value as 248 and when the user (abc2#company.com) login to SharePoint then he should see the token value as 540.
Till now I have created a page on sharepoint and now I am wondering how to load data specific to user and display it in the sharepoint page.

Solution might be to Import That excel to a SharePoint list. Now based on situations:
A) Unique Item Permission
You can set unique permission per item in the SP library, then set it only for managers group and specific user.
Set unique item permission part can be automatized with WF or Power Automate Flow as well, after that it can be done for large amount of items (limit for unique item permission in SP list is 50 000)
B) View with filter
If the Loyalty Points are not secret and you just dont want to spam users with a lot of rows....you can create a list view in SharePoint list...Where you limit the values with Filter. (Library settings > Views > Create View) in Filter part you select person/group Column "Email" and in value you can put [Me]
[Me] and [today] are only available dynamic filters in View settings
You can display this view on HomePage for example and it will show always values only for specific user.

Related

How to automate a comparison and if no hit, delete a row of information?

I have an excel list of employees who have given input via microsoft forms.
I want to check automatically whether those people are still present in the organization.
If so, then the data may remain.
If not, the data must be removed from the excel sheet because it is used in a canvas app.
Also, if possible, I'd like the response to be removed from microsoft forms.
As far as we know there is no Excel list of persons present in the organization. However, all persons are loaded into, for example, Outlook or MS Teams.
What would be a good way to automate the comparison and then update the Excel file?
Form SharePoint side, you go to Microsoft 365 admin center -> Users -> Active users -> Export users to get csv list of present persons in the organization.
You could retrieve the responders via the FormAPI. You can retrieve the enabled accounts via List Users method with a $filter query via the Graph API.
After that you can compare those two arrays within a Filter Array action.
The output of that Filter Array action should be an array with the users which are disabled users who have responded to the form. You can loop through that array and remove the matching items from the Excel.
Below is an example of how to retrieve the users who have been disabled since they have responded to the Microsoft Forms form.
1.Use a Send an HTTP request to SharePoint action with a GET request to the forms.office.com
2.Use a Select action to get a clean array with only the responder mail addresses
a. Use the expression below in the From Field
outputs('Send_an_HTTP_request_to_SharePoint')?['body']['value']
b. Switch Map field to text mode (with icon on the right side) and add the expression below
item()['responder']
3.Use a Send an HTTP request to SharePoint action with a GET request to the forms.office.com
4.Use a Select action to get a clean array with only the users which have an enabled account in the tenant
a. Use the expression below in the From Field
outputs('Send_an_HTTP_request')?['body']['value']
b. Switch Map field to text mode (with icon on the right side) and add the expression below
item()['mail']
5.Compare the two arrays in a Filter Array
a. Use the Select - Forms action Output in the From Field
b. Use the following expression (in advanced mode) in the Criteria field
#not(contains(body('Select_-_AccountEnabled_Users'), item()))

Sharepoint list view - set permissions so only certain users can access certain views

so I have a sharepoint list that contains all the data (We will call it MasterList), and it has an a dropdown column where different departments can be selected (example Sales, HR, Accounting etc etc). I created a view, which only shows data where HR is selected in this dropdown. Now is it possible to set permissions where a user can only see the HR view, and not the Master list. Basically I only want people from HR to see the HR view, and people from Accounting to only see the Accounting view, and then Admin can see all the views including the master list. Is this possible? Is there a better way to go about this? thanks!
I don't think there is a way to restrict PowerApps users to a certain Sharepoint List View. Depending on your org's size, you could investigate the Office 365 Users connector in PowerApps. This would allow you to filter the Sharepoint by Department or Job Title.
Example: Assumes the Sharepoint list has a column named dept
OnStart of the app:
// Set a variable for the user's department
Set(varUserDept, Office365Users.UserProfileV2(User().Email).department);
// Create a collection from the sharepoint list, filtered by department
ClearCollect(colData,
Filter(SHAREPOINT_LIST,
dept = varUserDept
)
)
That being said, if the URL of the Sharepoint list "leaks" users will be able to access the data. See this forum post for strategies for addressing this issue.

Make ID field automatic in Sharepoint/Powerapp

I have a PowerApp that is supposed to add data to a SharePoint list. The SharePoint list has an ID column that should not be filled out by the user but should increase automatically with each new row of data.
Right now the ID field in the App has to filled out by the user, but this leads to duplicates in the SharePoint list.
How can i make the ID value to increase by 1 after each data input from a PowerApp to a SharePoint List, without any user input?
I use the SharePoint List's ID column and simply show the user the value (read only).
The ID number will increase after you save the new list item in Sharepoint.
Make sure the datacard for that SharePoint field in PowerApps has DisplayMode=View

Infopath - Create a drop-down List from Active Directory "Department" field

Is it possible to create a Drop-down list in InfoPath which connects to Active Directory and fills the list with UNIQUE Department Values only (no repeating ones)
I need this for an InfoPath so when a user entering the data can pick one of the departments listed in the drop-down. Any help would be appreciated.
I've had a look at the people picker control, which works great for User names, but the department field is a separate field and has nothing to do with the user I pick, so I simply need a control which is populated by the unique Department codes in AD.
Any help would be appreciated.
You should really contact your administrator for this sort of information. You do not want a form to query every AD user to pull their department and get the unique values just to populate a drop down list. It is very possible to obtain the list of unique directories, however you should work with your administrator to populate this data to an XML web page or other similar solution and then connect your form to THAT data source through the form. The point is you are missing a step of obtaining the queried data.
With that said you can obtain the department of the user by querying the get user profile service to obtain the department name, elinating the need to even create a populated drop down list. See this article.

InfoPath - MOSS User Information List as Data Connection - Exclude groups

I have an InfoPath form where I want to place a drop down list to select a user from a MOSS server.
I added a Data Connection in InfoPath to the User Information List list in my MOSS server. It works well, but the values I get are:
DOMAIN\administrator
SharePoint Owners
SharePoint Visitors
SharePoint Members
NT AUTHORITY\local service
System Account
Is there a way in InfoPath (or MOSS) to filter the list so it doesn't include groups?
Bonus question: Is there a way to filter it so system accounts are not shown?
Yes you can. When you set up the drop down to fill with data from the data connection you can filter the entries for the information that you want. After you have selected the datasource press the button to the right of Entries to select the repeating group that you want.
There is a filter data button on the Select field or group dialog.
From there you can filter the data how you want.

Resources