Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I am currently working on utilizing XMLA Endpoint with C# to copy a datamodel that exists in my workspace.
The steps I am following are:
Can someone direct me to how I can resolve this? Or do I need to recreate the entire model in code other than copy it?
My goal is to have a template datamodel that I will copy to different workspaces and then modify them from there.
I have been working with the below code:
const string connectString = "powerbi://api.powerbi.com/v1.0/myorg/MYDATAMODEL";
static void Main(string[] args) {
Server server = new Server();
server.Connect(connectString);
Model model = server.Databases[0].Model;
string sourceDatabaseName = "DATABASE";
string DatabaseName = "DATABASE - Copy";
Database sourceDatabase = server.Databases.GetByName(sourceDatabaseName);
string newDatabaseName = server.Databases.GetNewName(DatabaseName);
Database targetDatabase = CreateDatabase(newDatabaseName);
sourceDatabase.Model.CopyTo(targetDatabase.Model);
targetDatabase.Model.SaveChanges();
targetDatabase.Model.RequestRefresh(RefreshType.Full);
targetDatabase.Model.SaveChanges();
Database CreateDatabase(string DatabaseName)
{
string newDatabaseName = server.Databases.GetNewName(DatabaseName);
var database = new Database()
{
Name = newDatabaseName,
ID = newDatabaseName,
CompatibilityLevel = 1520,
StorageEngineUsed = Microsoft.AnalysisServices.StorageEngineUsed.TabularMetadata,
Model = new Model()
{
Name = DatabaseName + "-Model",
Description = "A Demo Tabular data model with 1520 compatibility level."
}
};
server.Databases.Add(database);
database.Update(Microsoft.AnalysisServices.UpdateOptions.ExpandFull);
return database;
}
}
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
16 | |
4 | |
2 | |
1 | |
1 |
User | Count |
---|---|
29 | |
3 | |
3 | |
2 | |
2 |