Ssas 将周期31返回到30将创建空单元格

Ssas 将周期31返回到30将创建空单元格,ssas,mdx,Ssas,Mdx,以下措施在特定月份(如12月31日)结束时产生了缺口。它的行为正如预期的那样,但我在编写报告时没有预见到会发生这种情况 AVG( PARALLELPERIOD ( [Date].[Date - Calendar Month].[Calendar Month], 1, [Date].[Date - Calendar Month].CURRENTMEMBER ).PARENT.CHILDREN, [Measures].[Revenue]) 在针对Advent

以下措施在特定月份(如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日的单元格中重复相同的值


如果您确定始终使用天数,则

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


如果日历层次结构中还有其他成员,比如月份,那么它将变得更加复杂。

+1这是正确的。实际上,我自己最终得到了一个与你的答案相同的答案,除了这个位
[Date].[Calendar].CURRENTMEMBER.PARENT.PREVMEMBER.CHILDREN
…我假设
PREVMEMBER
相对于
滞后(1)没有特别的优势
?我不认为
prevmember
Lag(1)
,甚至
Lead(-1)
之间存在巨大差异,以增加另一种可能性,说明相同的逻辑。MDX函数在不同的函数之间往往有一些重叠的功能。(另外,如果你觉得我的任何问题都很有趣,那么请随意投票……不是因为我在追求分数,也不是因为这里的MDX社区非常小)