Getting MaxOfflineDatasetSizeGB and Other Semantic Model Properties Set At Capacity Level

MaxOfflineDatasetSizeGB and other Power BI workload settings using Semantic Link Labs

Happy New Year ! 🎉

Just before the holidays last year Michael Kovalsky released version 0.8.10 of Semantic Links Labs with a bunch of new helpful functions, among them list_server_properties() lists properties of an Analysis Services instance. As you know, in Fabric, the workspace acts as a server which is tied to a capacity. You define these server properties in the Capacity Settings. As far as I am aware, there wasn’t an API to get these capacity settings for audit/monitoring/debugging. With this new function, you can programmatically get the Semantic Model (i.e. Power BI workload) settings. MaxOfflineDatasetSizeGB is the most useful of these in case you encounter the dataset size limit error. Chris Webb has a series of blogs on this topic that dive deep into it (Happy 20th birthday to Chris’s blog!).

With Semantic Link Labs, you can get these settings. This is helpful in case you have multiple capacities with each having its own settings.

##install version >= 0.8.10
#%pip install semantic-link-labs 
import sempy_labs as labs
workspace = "Sales Workspace"
(labs
    .list_server_properties(workspace = workspace)
    .assign(workspacename = workspace)
    .assign(capacity_sku = labs.list_capacities().query(f"Id == '{labs.get_capacity_id(workspace=workspace)}'").Sku.max())
)

MaxOfflineDatasetSizeGB above is 0 which means the value is default based on the SKU shown below:

Check below references to learn more about these settings.

I can't think of an API that lets you change these settings programmatically. I'll update the post if I find one.

References

Did you find this article valuable?

Support Sandeep Pawar | Microsoft Fabric by becoming a sponsor. Any amount is appreciated!