Power BI动态日期值

时间:2020-07-23 12:03:35

标签: powerbi dax

您好,我需要知道是否有其他更简单的方法可以从表中为Power BI中的“ IF”语句获取特定月份的值。

例如,在下表中,我要使用“ IF”语句,将上个月和上个月的购买量与其当前月份的购买量示例进行比较:-我想检查6月20日的购买量是否高于2020年4月购买,因此当我有20年7月20日的数据时,它将与5月20日进行比较。

enter image description here

我已经写了一个公式,但是它太复杂了,想要一个简单的动态公式。

lst_mnth = CALCULATE(SUM('POS Data'[POS])-CALCULATE(SUM('POS Data'[POS]),DATEADD('POS Data'[Month],-1,MONTH)))

prev_2mnths=(CALCULATE(SUM('POS Data'[POS])-CALCULATE(SUM('POS Data'[POS]),DATEADD('POS Data'[Month],-2,MONTH)))-'Measure'[lst_mnth]

check=IF('Measure'[lst_mnth]>Measure'[lst_mnth]',"Higher","Lesser")

1 个答案:

答案 0 :(得分:0)

您可以使用ParallelPeriod向后或向前看。在您的示例中,您提到对于7月,您想比较5月的数据。

Example Parallel Period

注意:您将需要一个日期列,在图像中您将看到“ Jan-20”(如果是文本字段),则该列将不起作用,如果它只是格式化为仅显示“ Jan-20”的日期'那么它应该起作用。对于所有时间智能功能,如ParallelPeriod,YTD等,建议您使用日历表。

Two Months Ago = CALCULATE ( SUM ( YourTable[Pos] ), PARALLELPERIOD ( YourTable[Month], -2, MONTH ) 

它比测量中的“ dateadd”要整洁一些,您仍然需要执行某种IF子句进行比较。

Compare = 
VAR CurrentMonth = SUM(YourTable[Pos])
VAR TwoMonthsAgo = CALCULATE(SUM(YourTable[Pos]),PARALLELPERIOD(YourTable[Month], -2, MONTH))
RETURN
IF(CurrentMonth > TwoMonthsAgo, 'Higher', 'Lower')