Ssas 基于断开切片器的动态X轴数据范围

Ssas 基于断开切片器的动态X轴数据范围,ssas,powerbi,dax,powerpivot,Ssas,Powerbi,Dax,Powerpivot,我有个问题需要帮忙。我正在使用基于此表的断开连接的切片器 Time Frame := DATATABLE("ID", Integer, "Time Frame", string , { {1, "3 Month"} , {2, "6 Month"} , {3, "9 Month"} , {4, "12 Month"} }) 看起来是这样的: 使用一些DAX度量: Sum Of Paid := sum(Data[Paid]) Sum Of Paid 3 Month Period :=

我有个问题需要帮忙。我正在使用基于此表的断开连接的切片器

Time Frame := 
DATATABLE("ID", Integer, "Time Frame", string
, {
  {1, "3 Month"}
, {2, "6 Month"}
, {3, "9 Month"}
, {4, "12 Month"}
})
看起来是这样的:

使用一些DAX度量:

Sum Of Paid := sum(Data[Paid])

Sum Of Paid 3 Month Period :=
CALCULATE (
    [Sum Of Paid],
    DATESINPERIOD ( Data[Date], LASTDATE ( Data[Date] ), -3, MONTH )
)

Sum Of Paid 6 Month Period :=
CALCULATE (
    [Sum Of Paid],
    DATESINPERIOD ( Data[Date], LASTDATE ( Data[Date] ), -6, MONTH )
)

Sum Of Paid 9 Month Period :=
CALCULATE (
    [Sum Of Paid],
    DATESINPERIOD ( Data[Date], LASTDATE ( Data[Date] ), -9, MONTH )
)

Sum Of Paid 12 Month Period :=
CALCULATE (
    [Sum Of Paid],
    DATESINPERIOD ( Data[Date], LASTDATE ( Data[Date] ), -12, MONTH )
)

Slicer - Paid Per Period :=
VAR selection =
    IF (
        HASONEVALUE ( 'Time Frame'[Time Frame] ),
        VALUES ( 'Time Frame'[Time Frame] ),
        "All"
    )
VAR ThreeMonth = [Sum of Paid 3 Month Period]
VAR SixMonth = [Sum of Paid 6 Month Period]
VAR NineMonth = [Sum of Paid 9 Month Period]
VAR TwelveMonth = [Sum of Paid 12 Month Period]
RETURN
    SWITCH (
        TRUE (),
        selection = "3 Month", ThreeMonth,
        selection = "6 Month", SixMonth,
        selection = "9 Month", NineMonth,
        selection = "12 Month", TwelveMonth,
        TwelveMonth
    )
我可以模拟切片器并根据用户选择显示3、6、9和12个月的聚合。这些在纸牌、合唱和几乎所有我需要它们的东西中都很好用。我的问题是尝试创建在x轴上有日期范围的线形图、条形图等。我一生都搞不懂如何复制DAX度量中引用的周期来动态设置x轴

我已经尝试了一些方法,这些方法似乎应该有效,但没有:

3 Month Period :=
CALCULATE (
    VALUES(Data[Date]),
    DATESINPERIOD ( Data[Date], LASTDATE ( Data[Date] ), -3, MONTH )
)
感谢您的帮助


谢谢

您可能想试试这个:

3 Month Period :=
CALCULATE (
    [Sum Of Paid],
    KEEPFILTERS (
        DATESINPERIOD (
            Data[Date],
            CALCULATE (
                MAX ( Data[Date] ),
                ALLSELECTED ()
            ),
            -3,
            MONTH
        )
    )
)

哦,哇,我不知道你用了堆栈溢出!我希望你留下来,因为大家对DAX的兴趣越来越高,没有太多专家来帮助回答问题。我很荣幸马可,感谢你抽出时间来帮助我。不幸的是,当我使用这个度量值时,我得到了一个语义错误,特别是:“CalculateTable函数要求参数1使用一个表表达式,但使用了一个字符串或数字表达式。”我确实尝试了一些处理,但我的更改产生了一个计算错误:“在需要单个值的地方提供了一个包含多个值的表”这就是为什么你是国王!格拉齐·米勒!!