Forum Discussion

bdpr_95's avatar
bdpr_95
Helper IV
1 year ago
Solved

Optimizing Power BI: Monthly Report Refresh with Daily RLS Updates

Hi, I'm migrating reports from a data visualization tool to Power BI. To give you some context: I have more than 10 reports that are updated monthly. These models have RLS implemented, but the RLS n...
  • ibarrau's avatar
    1 year ago

    Hi. Well, it's tricky. For the single table refresh you can do it with Data Pipelines or by code in a notebook:

    - Using pipelines: https://learn.microsoft.com/en-us/fabric/data-factory/semantic-model-refresh-activity

    - Using enhaced api (only semantic models with capacity): https://fabric.guru/refreshing-individual-tables-and-partitions-with-semantic-link

     

    Regarding effort for modifying manually the RLS flow it might be different depending your deploy:

    - Static RLS. You can assign rules to security groups. Then you could use the UI or a PowerShell script to modify the security groups assigned to the roles created at the model.

    - Dynamic RLS: the best approach to reduce effort would be trying to use a single tool for the two places you should modify. When it's dynamic you probably have a table assigning people to logic besides the security group. You could check if python, powershell or any other would let you modify both things in a single script.

    Just in case let me share a dynamic rls example: https://blog.ladataweb.com.ar/post/652895563673649152/powerbi-seguridad-de-filas-rls-con-regla

    Once you have the script, it could run in Azure Functions or Runbooks at Azure. If you already have a Fabric capacity, then it could run in a notebook or user data function to take adventage of the license.

    I hope that helps