我有2個MDX語句的問題,第一個給出正確的結果,但第二個與預期的不同。MDX:計算的度量給出了不同的結果,其中「where」和「from select」
由於MDX是動態構建的,我寧願使用第二個。
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])
- 結果120,86%不正確
有人可以解釋這種差異?
我會在本週末回答,這是MDX覆蓋層次結構的複雜性之一。需要一段時間才能使用,定義元組的位置,改變它們的計算方式。你也可以嘗試where選項,這更接近第一版 – ic3