Skip to main content

Command Palette

Search for a command to run...

Getting MaxOfflineDatasetSizeGB and Other Semantic Model Properties Set At Capacity Level

MaxOfflineDatasetSizeGB and other Power BI workload settings using Semantic Link Labs

Updated
S

Principal Program Manager, Microsoft Fabric CAT helping users and organizations build scalable, insightful, secure solutions. Blogs, opinions are my own and do not represent my employer.

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