我将多维数据集中每个度量的数据类型指定为Currency
. 我也有计算成员,其中一些有iif(isempty([Measures].[Measure1]) or [Measures].[Measure1] = 0, null, 100 * [Measures].[Measure2] / [Measures].[Measure1])
逻辑。
我正在使用MdxClient(它在AdomdCommand.ExecuteXmlReader
内部使用)访问这个多维数据集,并注意到其中一些计算成员返回为xsd:double
not xsd:decimal
。所以我假设它们被计算为Double
not Currency
。查询结果在客户端映射到强类型数据集,所以返回的类型对我来说很重要。
我可以通过用orxsd:decimal
包裹每个计算成员来“强制” ssas 返回,但这会严重降低性能。VBA!CDec
CDec
有没有更聪明的方法来设置或强制计算成员Currency
?或者至少被返回为xsd:decimal
by AdomdCommand.ExecuteXmlReader
?