我正在研究Power BI中的一个问题,以便根据日期条件对行进行分类。我的第一个想法是使用嵌套的if语句,但意识到switch(True()函数可能更适合。不幸的是,由于某些原因,该语句从[Result2]跳转到[Result3],并且在之后没有考虑任何条件首先。
我有一个连续的日期范围,基本上,如果日期介于w和x之间,我想返回一个特定值,如果日期介于y和z之间,我想返回另一个值。
我正在使用“新列”,并且日期被格式化为日期。我的公式如下:
Column 2 =
SWITCH(TRUE(),
Dates[Date]>01/01/2007 && Dates[Date]<08/30/2008,"2007/2008",
Dates[Date]>08/31/2008 && Dates[Date]<08/30/2009,"2008/2009",
Dates[Date]>08/31/2009 && Dates[Date]<08/30/2010,"2009/2010",
Dates[Date]>08/31/2010 && Dates[Date]<08/30/2011,"2010/2011",
Dates[Date]>08/31/2011 && Dates[Date]<08/30/2012,"2011/2012",
Dates[Date]>08/31/2012 && Dates[Date]<08/30/2013,"2012/2013",
Dates[Date]>08/31/2013 && Dates[Date]<08/30/2014,"2013/2014",
Dates[Date]>08/31/2014 && Dates[Date]<08/30/2015,"2014/2015",
Dates[Date]>08/31/2015 && Dates[Date]<08/30/2016,"2015/2016",
Dates[Date]>08/31/2016 && Dates[Date]<08/30/2017,"2016/2017",
"Unaccounted")
答案 0 :(得分:4)
Olly有一个很好的建议,但是可以使用时间智能功能STARTOFYEAR
来简化它,其中第二个参数表示年末。
New Column =
VAR StartYear = YEAR(STARTOFYEAR(Dates[Date], "08/31"))
RETURN StartYear & "/" & StartYear + 1
还值得注意的是,在您的SWITCH
函数中,每年的8月30日和31日均未说明。我猜这不是故意的。
答案 1 :(得分:2)
当您获得价值时,这是一种低效的处理方式。
尝试
.enrichHeaders()