Создание вычисляемых таблиц в табличной модели SSAS с использованием программных сценариев табличной объектной модели - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь создать табличную базу данных SSAS динамически, используя сценарии C # Табличной объектной модели (TOM).Я могу создать все компоненты табличной модели, за исключением вычисляемых таблиц, и я не могу найти какие-либо решения в Интернете.

Любое понимание того же высоко ценится.Спасибо

1 Ответ

0 голосов
/ 26 сентября 2018

Это можно сделать, выполнив команду 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();
         }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...