我将多维数据集中每个度量的数据类型指定为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?