Visual studio 功能';上一年';需要连续选择问题

Visual studio 功能';上一年';需要连续选择问题,visual-studio,powerbi,dax,Visual Studio,Powerbi,Dax,我在Visual Studio中有一个表格数据模型,我制作了一个公式来计算给定时期内去年的销售额: Selected Measure LY:= CALCULATE([Selected Measure], SAMEPERIODLASTYEAR('date' [date])) 我制定了一个公式,对“日期”表中的所有月份进行分解: FY_Month='date' [FY Month No]&'date' [Month_label] 以及: 月份标签:一年中的所有月份 当我选择了所有月份时,

我在Visual Studio中有一个表格数据模型,我制作了一个公式来计算给定时期内去年的销售额:

Selected Measure LY:= CALCULATE([Selected Measure], SAMEPERIODLASTYEAR('date' [date]))
我制定了一个公式,对“日期”表中的所有月份进行分解:

FY_Month='date' [FY Month No]&'date' [Month_label]
以及:

月份标签:一年中的所有月份

当我选择了所有月份时,“Selected Measure LY”显示正常,但当我删除一个月份时,我会收到以下错误消息:

Calculation error in "Selected Measure LY": the "SAMEPERIODLASTYEAR" function expects a contiguous selection when the date column comes from a tabkle on side 1 of a bidirectional relationship.
在我的“日期”表和我的销售表之间,我有一个1/N关系,我也试图改变这个关系,但错误总是回来

我在论坛上寻找解决方案,我发现了这一点,但我没有找到与我的第一个公式相同的数字:

Selected Measure LY:=
CALCULATE([Selected Measure],
    FILTER (
        ALL ( 'date' ),
        YEAR ( 'date'[date] ) = YEAR ( TODAY () )
            && 'date'[date] <= TODAY ()
    )
)

我如何更正它?

您是否需要一个-1年的公式,如year('date'[date])=year(TODAY())-1我可以用它计算一列并将其添加到我的主公式中吗?计算列的用途是什么?你能再解释一下吗?我想做一个列,计算出去年的同一天=DATEADD('date'[date],-1,Year)和我的公式:
Selected Measure LY:=CALCULATE([Selected Measure],FILTER('All('date'),包含(值('date'[去年的同一天],'date'[去年的同一天],'date'[date]))
这不是一个好的/建议的选项。为什么不尝试DAX函数-上一年的相同周期?你给出的第一个公式应该对你有用。你是否需要一个-1年的公式,比如year('date'[date])=year(TODAY())-1我可以用它计算一列并将其添加到我的主公式中吗?计算列的用途是什么?你能再解释一下吗?我想做一个列,计算出去年的同一天=DATEADD('date'[date],-1,Year)和我的公式:
Selected Measure LY:=CALCULATE([Selected Measure],FILTER('All('date'),包含(值('date'[去年的同一天],'date'[去年的同一天],'date'[date]))
这不是一个好的/建议的选项。为什么不尝试DAX函数-上一年的相同周期?你给出的第一个公式应该对你有用。
Selected Measure LY:=
CALCULATE([Selected Measure],
    FILTER (
        ALL ( 'date' ),
        YEAR ( 'date'[date] ) = YEAR ( TODAY () )
            && 'date'[date] <= TODAY ()
    )
)
Selected Measure:=
VAR hasFilter =
    HASONEFILTER ( 'Measure Selection'[Measure Name] )
VAR selMeas =
    SELECTEDVALUE ( 'Measure Selection'[Measure Name], BLANK () ) /*SWITCH works slow, so using many IFs*/
VAR preCalc =
    IF (
        selMeas = "Units",
        [Sku Piece Quantity],
        IF (
            selMeas = "Net Sales",
            [Euro Net Amount],
            IF (
                selMeas = "Gross Sales",
                [Euro Gross Amount],
                IF (
                    selMeas = "Average Wholesale",
                    [Average_Wholesale],
                    IF (
                        selMeas = "Average Units",
                        [Average Units],
                        IF (
                            selMeas = "No of Styles",
                            [Style Count],
                            IF (
                                selMeas = "No of Colours",
                                [Colour Count],
                                IF (
                                    selMeas = "ROD by Style",
                                    [ROD by Style],
                                    IF (
                                        selMeas = "Standard Cost",
                                        [Sum_Cost_Base],
                                        IF (
                                            selMeas = "Net Margin",
                                            [Net_Margin],
                                            IF (
                                                selMeas = "Gross Margin",
                                                [Gross_Margin],
                                                IF ( selMeas = "ROD by Colour", [ROD by Colour], BLANK () )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )
VAR calc =
    IF ( hasFilter, preCalc, BLANK () )
RETURN
    calc