Visual studio 功能';上一年';需要连续选择问题
我在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] 以及: 月份标签:一年中的所有月份 当我选择了所有月份时,
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