Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

filter on a page usign USERNAME()?

I was wondering, how can I have a Page level filer by the logged person in username()

 

This is not RLS, since the person should be able to see data for all users, but for a specific page I want to show the person's only

data, how can it be done?

  •  

    That's correct, you cannot use the USERNAME or USERPRINCIPALNAME functions as a column in a table. However, you can use these functions in a measure to filter the data at the visual level. Here's how you can do this:

    1. Create a new measure using the USERNAME or USERPRINCIPALNAME function. For example:
      LoggedInUser = USERNAME()
      1. Add the measure to the table or matrix visual that you want to filter.

      2. Click on the visual and go to the "Format" tab in the top menu.

      3. In the "Filters" section, click on the "Add" button.

      4. In the "Add filter" window, select the measure that you created as the field to filter by.

      5. In the "Filter type" dropdown, select "Advanced".

      6. In the "Advanced Filter" window, select the operator and value for your filter. For example, you can use the "=LoggedInUser" measure to filter the data for the logged in user.

      7. Click "OK" to apply the filter.

        I hope this helps! Let me know if you have any questions.

4 Replies

  • In Power BI, you can create a page level filter by using a report-level filter or a page-level filter.

    To create a report-level filter, follow these steps:

    1. Click on the "File" tab in the top menu and select "Options and settings".
    2. In the Options and settings window, select "Filters".
    3. In the Filters window, click on the "New" button.
    4. In the "New filter" window, give your filter a name and select the field that you want to use as the filter.
    5. In the "Filter type" dropdown, select "Advanced".
    6. In the "Advanced Filter" window, select the operator and value for your filter. For example, you can use the "=Username()" function to filter the data for the logged in user.
    7. Click "OK" to apply the filter.

    To create a page-level filter, follow these steps:

    1. Go to the page that you want to add the filter to.
    2. Click on the "Format" tab in the top menu and select "Page level filters".
    3. In the "Page level filters" window, click on the "Add" button.
    4. In the "Add filter" window, give your filter a name and select the field that you want to use as the filter.
    5. In the "Filter type" dropdown, select "Advanced".
    6. In the "Advanced Filter" window, select the operator and value for your filter. For example, you can use the "=Username()" function to filter the data for the logged in user.
    7. Click "OK" to apply the filter.

    I hope this helps! Let me know if you have any questions.

  • Anonymous , Please check reply from MatthRichardsUK  first.

     

    But as far as I am aware you can not use username and userprincipalname in a column. This means you have to create a measure and you can use measure only in the visual level filter, not page level.

     

     

     

  • Veigale's avatar
    Veigale
    Frequent Visitor

    What is the version of this Power BI, I can't find this path described.

  •  

    That's correct, you cannot use the USERNAME or USERPRINCIPALNAME functions as a column in a table. However, you can use these functions in a measure to filter the data at the visual level. Here's how you can do this:

    1. Create a new measure using the USERNAME or USERPRINCIPALNAME function. For example:
      LoggedInUser = USERNAME()
      1. Add the measure to the table or matrix visual that you want to filter.

      2. Click on the visual and go to the "Format" tab in the top menu.

      3. In the "Filters" section, click on the "Add" button.

      4. In the "Add filter" window, select the measure that you created as the field to filter by.

      5. In the "Filter type" dropdown, select "Advanced".

      6. In the "Advanced Filter" window, select the operator and value for your filter. For example, you can use the "=LoggedInUser" measure to filter the data for the logged in user.

      7. Click "OK" to apply the filter.

        I hope this helps! Let me know if you have any questions.