我建立了表格形式的SSAS模型。我使用C#(Microsoft.AnalysisService.Tabular)来管理和处理主要事实表中的分区。我不知道如何返回表和分区的元数据。
我们正在使用表格形式的SSAS 2016实例。我尝试利用C#模型,但是需要使用的属性(Microsoft.AnalysisServices.Partition.EstimatedRows等)似乎是针对多维模型的。 Tabular是一个子类,它不继承所有需要的属性/方法。
var connString = "Data Source";
var tabdbString = "Tabular DB";
using (var server = new Server())
{
server.Connect(connString);
var db = server.Databases.FindByName(tabdbString);
var ssasModel = db.Model;
foreach (var ssasTable in ssasModel.Tables)
{
foreach (var partition in ssasModel.Tables[ssasTable.Name.ToString()].Partitions)
{
Console.WriteLine(partition.Name.ToString());
Console.WriteLine(partition.EstimatedRows); //Not a valid member of class
}
}
}
partition.EstimatedRows
无效,因为EstimatedRows不是Microsoft.AnalysisServices.Tabular.Partition的成员,而是Microsoft.AnalysisServices.Partition的成员(可能是多维的)。
具体来说,我正在寻找表名称,分区,上次处理和行数。如果我无法使用这种方法返回元数据,那么我可以通过ADOMD使用DMV,但是我似乎也找不到使用该方法的表格多维数据集所需的所有元数据。