不同国家不同部门的假日日历,power bi



我有一个用Dax制作的相当大的日历表,大约有40个不同的列。我引入了一个额外的假日表,在日历表中创建两列:"Holiday"one_answers";IsWorkday"。这可以正常工作,但现在我在不同的国家有部门,因此这两个列必须根据部门动态。

相关的表是销售、部门、日历和假日。日历和划分都与销售有关。假日表只能与日历表中的LOOKUPVALUE一起使用。

简化预览:[简体预览][1][1]:https://i.stack.imgur.com/FQv5G.png

Dax日历中的两列看起来像这样,(其中[Date]不是来自Holiday是来自calendar Dax的日期)

"Holiday",                          VAR DivisionCountry = LOOKUPVALUE(Division[Country], Division[DivisionID], SELECTEDVALUE(SALES[DivisionID]))
VAR Country = LOOKUPVALUE(Holiday[Country], Holiday[Country], DivisionCountry)
RETURN
LOOKUPVALUE(Holiday[Holiday],Holiday[Date],[Date], Holiday[Country], Country),

"IsWorkday",                        VAR WeekdayNum = WEEKDAY( [Date], 2)
VAR DivisionCountry = LOOKUPVALUE(Division[Country], Division[DivisionID], SELECTEDVALUE(SALES[DivisionID]))
VAR Country = LOOKUPVALUE(Holiday[Country], Holiday[Country], DivisionCountry)
VAR Integer = INT( NOT WeekdayNum IN {6, 7} && ISBLANK(LOOKUPVALUE(Holiday[Holiday],Holiday[Dato],[Date],Holiday[Country], Country) ) )
VAR Result = Integer
RETURN Result,

'Holiday'返回空白,即使我选择了不同的部门。当我注释掉假日部分时,'IsWorkday'能够返回星期一至星期五的1,但是当我包含假日部分时返回0。两列的holiday -部分基本相同。

我不太擅长Dax,我承认我可能不理解我在这里写的Dax的真正逻辑,因为我的逻辑显然是失败的。

我真的很感谢任何帮助或提示,让我更接近一个解决方案。希望我提供的信息是足够的。如果没有,请告诉我,我会补充的。

谢谢!

我将首先创建Calendar[Date]Holiday[Date]之间的关系。接下来,我将创建一个度量HolidayName来返回给定[Date][DivisionID]的假期。

HolidayName = 

VAR DivisionCountry = LOOKUPVALUE(Division[Country], Division[DivisionID], SELECTEDVALUE(Sales[DivisionID]))
RETURN
LOOKUPVALUE(Holiday[Holiday], Holiday[Date], SELECTEDVALUE(Calendar[Date]), Holiday[Country], DivisionCountry) 

那么你可以把Calendar[isWorkday]和新做的HolidayName组合成另一个测量isWorkdayOrHoliday

isWorkdayOrHoliday = INT(Calendar[isWorkday] && ISBLANK([HolidayName]))

如果给定的日期是周末或假日,则返回isWorkdayOrHoliday = 0

最新更新