1

我将多维数据集中每个度量的数据类型指定为Currency. 我也有计算成员,其中一些有iif(isempty([Measures].[Measure1]) or [Measures].[Measure1] = 0, null, 100 * [Measures].[Measure2] / [Measures].[Measure1])逻辑。

我正在使用MdxClient(它在AdomdCommand.ExecuteXmlReader内部使用)访问这个多维数据集,并注意到其中一些计算成员返回为xsd:doublenot xsd:decimal。所以我假设它们被计算为Doublenot Currency。查询结果在客户端映射到强类型数据集,所以返回的类型对我来说很重要。

我可以通过用orxsd:decimal包裹每个计算成员来“强制” ssas 返回,但这会严重降低性能。VBA!CDecCDec

有没有更聪明的方法来设置或强制计算成员Currency?或者至少被返回为xsd:decimalby AdomdCommand.ExecuteXmlReader

4

2 回答 2

0

这样计算成员的代码:

MEMBER [Measures].[CurrencyMeasure] 
AS
iif(isempty([Measures].[Measure1]) or 
[Measures].[Measure1] = 0, null, 
100 * [Measures].[Measure2] / [Measures].[Measure1]), FORMAT_STRING="Currency"
于 2015-02-19T11:17:28.757 回答
0

我认为无法设置计算度量的数据类型。数据类型将根据计算中使用的度量以及您正在执行的计算类型进行分配。

于 2015-02-19T10:27:01.043 回答