2つのMDXステートメントに問題があります。最初のステートメントは正しい結果を返しますが、2番目のステートメントは期待どおりです。MDX:計算された数値が "where"と "from select"で異なる結果を示します
MDXは動的に構築されるので、私はむしろ第2のものを使用することを好むでしょう。
create calculated member [Sejours Ambulatoire] as sum([Ambu].[Ambu].[Ambu].[Ambulatoire], NbSejours)
create calculated member [Taux Ambulatoire] as IIF([Ambu].[Ambu].current is [Ambu].[Ambu].[Non Ambulatoire], 0, divN([Sejours Ambulatoire], [Measures].[NbSejours] , 0) ), format_string='percent'
第一コード:
select [Measures].[Taux Ambulatoire] on 0
from [Cube]
where {[Ambu].[Ambu].[Non Ambulatoire]} * {[Etablissement].[Lieu établissement].[All-M].&[CHU de Brest]} * { [Periode].[Periode].[All-M].&[2014] }
- 結果0,00%正しい
第二コード:
SELECT
{ [Measures].[Taux Ambulatoire] } ON 0
FROM (SELECT
{ [Periode].[Periode].[All-M].&[2014] } ON 0,
{ [Etablissement].[Lieu établissement].[All-M].&[CHU de Brest] } ON 1,
{ [Ambu].[Ambu].[Non Ambulatoire] } ON 2
FROM [Cube])
- 結果INCORRECT 120,86%
誰かがその違いを説明することはできますか?
...チェックして、それはMDXの複雑さ、上書きされた階層の一つです。あなたのタプルを定義するところで、それらが計算される方法を変える、時間をかけて使用されます。また、最初のバージョンに近いwhereオプションを試すこともできます – ic3