MDX 不显示最新版本的数据
MDX Doesn't show last version of data
我需要一些帮助来解决我在 MDX 中遇到的问题。我想显示每个度量周期的最后一个版本,即使值为 NULL。但是我的代码显示了最后一个非空版本。
示例:
这是我的代码:(表格中可见的度量是 MNY_ENCOURS)
SCOPE([DIM Version].[VCR BK Version].[All]);
[Measures].[MNY_AA_Total] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_AA_Total])));
[Measures].[MNY_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_ENCOURS])));
[Measures].[MNY_Flottement] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Flottement])));
[Measures].[MNY_Montant_Cale] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Montant_Cale])));
[Measures].[MNY_VARIATION_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_VARIATION_ENCOURS])));
[Measures].[V FCT Collecte Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[V FCT Collecte Count])));
[Measures].[CONFI_FLUX] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_FLUX])));
[Measures].[CONFI_STOCKS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_STOCKS])));
[Measures].[Declarant_Distinct_Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[Declarant_Distinct_Count])));
[Measures].[MNY_FLUX_CALCULE] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_FLUX_CALCULE])));
[Measures].[PART_FLUX_Trimestriel]=tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_FLUX_Trimestriel])));
[Measures].[PART_STOCKS]= tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_STOCKS])));
END SCOPE;
你能帮帮我吗?谢谢
为什么不针对每个度量从这个模式中移动:
...
[Measures].[MNY_ENCOURS]
= TAIL(
FILTER(
[DIM Version].[VCR BK Version].[All]
, not isempty([Measures].[MNY_ENCOURS])
)
...
到一个元组,如下所示,每个:
...
[Measures].[MNY_ENCOURS]
= (
tail([DIM Version].[VCR BK Version].[All].MEMBERS).ITEM(0).ITEM(0)
,[Measures].[MNY_ENCOURS]
)
...
我终于这样了:
iif([DIM Version].[VCR BK Version].currentmember is [DIM Version].[VCR BK Version].[All],
SUM(TAIL(NonEmptyCrossjoin([DIM Version].[VCR BK Version].MEMBERS,{[DIM Periode].[Hierarchy].CurrentMember})).item(0),[Measures].[MNY_ENCOURS])
,[Measures].[MNY_ENCOURS]);
我需要一些帮助来解决我在 MDX 中遇到的问题。我想显示每个度量周期的最后一个版本,即使值为 NULL。但是我的代码显示了最后一个非空版本。
示例:
这是我的代码:(表格中可见的度量是 MNY_ENCOURS)
SCOPE([DIM Version].[VCR BK Version].[All]);
[Measures].[MNY_AA_Total] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_AA_Total])));
[Measures].[MNY_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_ENCOURS])));
[Measures].[MNY_Flottement] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Flottement])));
[Measures].[MNY_Montant_Cale] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Montant_Cale])));
[Measures].[MNY_VARIATION_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_VARIATION_ENCOURS])));
[Measures].[V FCT Collecte Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[V FCT Collecte Count])));
[Measures].[CONFI_FLUX] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_FLUX])));
[Measures].[CONFI_STOCKS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_STOCKS])));
[Measures].[Declarant_Distinct_Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[Declarant_Distinct_Count])));
[Measures].[MNY_FLUX_CALCULE] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_FLUX_CALCULE])));
[Measures].[PART_FLUX_Trimestriel]=tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_FLUX_Trimestriel])));
[Measures].[PART_STOCKS]= tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_STOCKS])));
END SCOPE;
你能帮帮我吗?谢谢
为什么不针对每个度量从这个模式中移动:
...
[Measures].[MNY_ENCOURS]
= TAIL(
FILTER(
[DIM Version].[VCR BK Version].[All]
, not isempty([Measures].[MNY_ENCOURS])
)
...
到一个元组,如下所示,每个:
...
[Measures].[MNY_ENCOURS]
= (
tail([DIM Version].[VCR BK Version].[All].MEMBERS).ITEM(0).ITEM(0)
,[Measures].[MNY_ENCOURS]
)
...
我终于这样了:
iif([DIM Version].[VCR BK Version].currentmember is [DIM Version].[VCR BK Version].[All],
SUM(TAIL(NonEmptyCrossjoin([DIM Version].[VCR BK Version].MEMBERS,{[DIM Periode].[Hierarchy].CurrentMember})).item(0),[Measures].[MNY_ENCOURS])
,[Measures].[MNY_ENCOURS]);