我有一个要求,我需要从SSAS多维数据集中检索数据并将其发送到OData。怎么办?任何帮助将不胜感激。任何指向示例代码的指针也将非常感激。
谢谢和问候,
卡塔斯。小号
答案 0 :(得分:1)
您可以使用ADOMD.Net执行查询并使用wcf发送结果。以下是我经常使用的课程。
class MDXQueryEngine : IMDXQueryEngine
{
private readonly string _serverName;
private readonly string _initalCatalog;
public MDXQueryEngine(string serverName, string initalCatalog)
{
_serverName = serverName;
_initalCatalog = initalCatalog;
}
public TResult Execute<TResult>(MDXQuery query, Func<IDataReader, TResult> work)
{
var connectionString = string.Format("Data Source={0}; Initial Catalog={1}", _serverName, _initalCatalog);
TResult result;
using (var conn = new AdomdConnection(connectionString))
{
conn.Open();
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = query.Expression;
using (var reader = cmd.ExecuteReader())
{
result = work(reader);
}
}
}
return result;
}
}
答案 1 :(得分:1)
您可以使用LINQ和ADO.NET Entity Framework查询SSAS多维数据集。 您将需要SSAS实体框架提供程序才能执行此操作: http://agiledesignllc.com/products
此选项使构建WCF数据服务简单明了。
答案 2 :(得分:0)
我认为它是SSAS立方体。不确定这样做的具体框架。 但一种可能的解决方案 使用存储过程包装多维数据集(MDX)。 (从SP访问带有MDX的SSAS) 您可以创建WCF数据服务,添加EM并为EM指定存储过程。您应该能够将它们公开为oData。