Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
It's possbile to use this SQL to get the dataset size https://docs.microsoft.com/en-us/power-bi/admin/service-premium-large-models#checking-dataset-size
I want this information every morning via email. What's the best approach? Is it better to use powershell, python or even microsoft flow for this?
I would register an app and then go with PowerShell cmdlets. By the way you need DMV code, not SQL.
Thanks for the answer, @lbendlin, I will check this possibility.
Why should I use DMV, whats the advantage? The linked article mentioned this SQL code:
SELECT * FROM SYSTEMRESTRICTSCHEMA
($System.DISCOVER_STORAGE_TABLE_COLUMNS,
[DATABASE_NAME] = '<Dataset Name>') //Sum DICTIONARY_SIZE (bytes)
SELECT * FROM SYSTEMRESTRICTSCHEMA
($System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS,
[DATABASE_NAME] = '<Dataset Name>') //Sum USED_SIZE (bytes)
There is no choice, you have to use DMV. It is a very limited subset of SQL.
Dynamic Management Views (DMVs) in Analysis Services | Microsoft Docs
The first query has no size information. The second one can be used as
SELECT DIMENSION_NAME, USED_SIZE FROM SYSTEMRESTRICTSCHEMA
($System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS,
[DATABASE_NAME] = '<dataset name>')
but then you have to do the aggregations yourself. DMV doesn't support any aggregations.