У меня есть тип данных каждой меры в моем кубе, указанный как Currency
. У меня также есть расчетные члены, некоторые из них имеют логику iif(isempty([Measures].[Measure1]) or [Measures].[Measure1] = 0, null, 100 * [Measures].[Measure2]/[Measures].[Measure1])
.Есть ли способ указать или заставить тип данных вычисляемого элемента?
Я Заходя на этот куб, используя MdxClient (он использует AdomdCommand.ExecuteXmlReader
внутренне) и заметил, что некоторые из этих вычисленных членов возвращаются как xsd:double
не xsd:decimal
. Поэтому я предполагаю, что они рассчитаны как Double
не Currency
. Результаты запроса сопоставляются с строго типизированным набором данных на стороне клиента, поэтому возвращаемый тип мне очень важен.
Я могу «заставлять» ssas возвращать xsd:decimal
путем обертывания каждого из калорированных элементов VBA!CDec
или просто CDec
, но это серьезно ухудшает производительность.
Есть ли более разумный способ установить или заставить расчетный элемент быть Currency
? Или, по крайней мере, возвратить как xsd:decimal
по AdomdCommand.ExecuteXmlReader
?
Спасибо, но вы говорите о формате строке, а не типе данных вычисляемого элемента. –