0

使用视图和/或存储过程,我可以返回对 SQL Analysis Services 执行 MDX 查询的结果(对链接的 SSAS 服务器使用 OPENROWSET 到 SQL)。

不幸的是,结果集不包含 PK 字段……或者就此而言,即使是一个列,如果我要破解模型,它也可以充当 PK。

任何人都可以想到一个黑客技巧,我可以用来:

  1. 在我的结果中添加一个字段,该字段插入一些自动递增值(作为 PK 候选者)
  2. 不知何故将此字段设置为 PK,以便我可以轻松地建立一个实体?

我有 99% 的把握答案是“不”。此时,我已经可以通过使用带有 OData 渲染的 SSRS 报告从 SSAS 取回数据......但是当我使用带有 LINQ 的播放时,我必须手动创建我的类型。

如果有人可以为我确定 #1 和 #2,这可能是访问数据的更好方法,因为 Modeler 会为我创建我的类型(实体)。

谢谢!

4

1 回答 1

0

我不确定我是否理解为什么您不能拥有可以充当主键的列。我刚刚对过滤到成员列表的一个多维数据集运行了一个类似的查询,并且每个列名称都包含成员名称。这是一个例子:

提交:

 SELECT Measures.members ON ROWS,
 Customer.[CustomerIdKeyField].[UniqueCustomerId] ON COLUMNS
 FROM [Postage Prints]

回来:

(colum header)  [Measures].[MeasuresLevel].[MEMBER_CAPTION] [Customer].[CustomerIdKeyField].&[UniqueCustomerId]

(row) Measure1  9.6800000000000015

(row) Measure2  22

(row) Measure3  1
于 2010-07-14T23:26:56.450 回答