PARALLELPERIOD 31th回到30日创建空单元格

时间:2014-01-07 17:36:15

标签: ssas mdx

以下措施会在特定月份结束时产生差距,例如: 12月31日。它按预期行事,但在设置报告时我没有预见到这种情况。

AVG(
PARALLELPERIOD
    (
    [Date].[Date - Calendar Month].[Calendar Month],
    1,
    [Date].[Date - Calendar Month].CURRENTMEMBER
    ).PARENT.CHILDREN,
[Measures].[Revenue])

在针对AdventureWorks多维数据集的完整脚本中,我得到了以下示例:

WITH 
    MEMBER [Measures].[Mth_DalyAvg] AS
        AVG(
            PARALLELPERIOD(
                [Date].[Calendar].[Month],
                1,
                [Date].[Calendar].CURRENTMEMBER
                ).PARENT.CHILDREN,
        [Measures].[Internet Sales Amount]
        )
SELECT
        DESCENDANTS(
            {[Date].[Calendar].[Month].&[2007]&[11],
            [Date].[Calendar].[Month].&[2007]&[12]},
            [Date].[Calendar].[Date]
            )
        ON 1,
        {
        [Measures].[Mth_DalyAvg]
        } ON 0
FROM    [Adventure Works] 

产生以下内容。我想找到一种方法在2007年12月31日的单元格中重复相同的值

enter image description here

1 个答案:

答案 0 :(得分:1)

如果你确定你总是使用天,那么

    AVG(
        [Date].[Calendar].CURRENTMEMBER
        .PARENT.Lag(1).CHILDREN,
    [Measures].[Internet Sales Amount]
    )

应该有用。

如果日历层次结构的其他成员也可能像月份一样,那么它将变得更加复杂。