として指定されたキューブ内のすべてのメジャーのデータ型を取得しましたCurrency
。計算されたメンバーもあり、それらのいくつかにはiif(isempty([Measures].[Measure1]) or [Measures].[Measure1] = 0, null, 100 * [Measures].[Measure2] / [Measures].[Measure1])
ロジックがあります。
MdxClient (内部的に使用) を使用してこのキューブにアクセスしていますが、この計算されたメンバーの一部がnotAdomdCommand.ExecuteXmlReader
として返されることに気付きました。したがって、それらはnotとして計算されると仮定します。クエリの結果は、クライアント側で厳密に型指定されたデータ セットにマップされるため、返される型は私にとって重要です。xsd:double
xsd:decimal
Double
Currency
xsd:decimal
計算された各メンバーをVBA!CDec
または だけでラップすることにより、 ssas を強制的に返すことができますCDec
が、これはパフォーマンスを著しく低下させます。
計算されたメンバーを設定または強制するよりスマートな方法はありますCurrency
か? または、少なくとも?のように返さxsd:decimal
れます。AdomdCommand.ExecuteXmlReader