Это можно сделать, выполнив команду TMSL, которая является DDL для вычисляемой таблицы, используя соединение OLE DB с поставщиком MSOLAP.Сначала нужно будет выполнить команду для создания вычисляемой таблицы.Затем необходимо обработать таблицу, чтобы она стала доступной для использования, что рассматривается во второй части примера ниже.Одна и та же строка подключения может использоваться как для подключения OLE DB, так и для подключения SSAS.Убедитесь, что в команде TMSL правильно указаны все значения \
или "
, а также соответственно установите свойства Extended Properties
и Provider
в строке подключения.
string connString = "Data Source=YourSSASInstance;Initial Catalog=YourTabularDatabase;Provider=MSOLAP.7;Integrated Security=SSPI;Extended Properties=Format=Tabular;";
using (OleDbConnection oleDBConn = new OleDbConnection(connString))
{
OleDbCommand oleDBCmd = new OleDbCommand(commandWithTMSL);
oleDBCmd.Connection = oleDBConn;
oleDBConn.Open();
oleDBCmd.ExecuteNonQuery();
}
using (Microsoft.AnalysisServices.Tabular.Server serv = new Microsoft.AnalysisServices.Tabular.Server())
{
serv.Connect(connString);
Microsoft.AnalysisServices.Tabular.Database db = serv.Databases["YourTabularDatabase"];
Model m = db.Model;
m.Tables["NewCalculatedTable"].RequestRefresh(RefreshType.Full);
m.SaveChanges();
}