I sometimes use PowerShell to quickly alter a set of similar measures in a Power BI dataset. This could be done with this code :
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices.Tabular")
$serverName = "localhost:xxxxx";
$databaseName = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$svr = New-Object Microsoft.AnalysisServices.Tabular.Server
$svr.Connect($serverName)
$db = $svr.databases.GetByName($databaseName)
$findstring="find string"
$replacestring="replace string"
foreach($table in $db.Model.Tables) {
foreach($measureobj in $table.measures) {
$measureobj.expression=$measureobj.Expression.replace($findstring,$replacestring)
}
}
#$db.Model.SaveChanges()
Works great, until recently I found some reports where the Model-attribute of the database seems to be empty.
Although it works perfectly fine in PowerBI, I can't find the model anymore in PowerShell. Also Tabular and DAX Studio are working fine with the reports dataset.
Solved! Go to Solution.
I saw that in the report one of the datasources was still using the Power BI dataflows (Legacy) connector. As soon as I switched this one to the Power BI dataflows connector, the model attribute was correctly filled in.
I'm not 100 % using this connector always causes this problem, but at least in this case, replacing it solved the issue.
I saw that in the report one of the datasources was still using the Power BI dataflows (Legacy) connector. As soon as I switched this one to the Power BI dataflows connector, the model attribute was correctly filled in.
I'm not 100 % using this connector always causes this problem, but at least in this case, replacing it solved the issue.
Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!
User | Count |
---|---|
6 | |
5 | |
2 | |
1 | |
1 |