【发布时间】:2021-11-22 12:48:23
【问题描述】:
我有一个很大的 Dax 日历表,有大约 40 个不同的列。我引入了一个额外的假期表,以便在日历表中创建两列:“Holiday”和“IsWorkday”。这工作正常,但现在我在不同的国家有部门,因此这两个列必须是基于部门的动态。
相关的表格是销售、部门、日历和假期。日历和部门都与销售有关。假期表仅与日历表中的 LOOKUPVALUE 一起使用。
简化预览: [简化预览][1][1]:https://i.stack.imgur.com/FQv5G.png
Dax 日历中的两列如下所示,(其中 [Date] not from Holiday 是日历 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,
即使我选择不同的部门,“假期”也会返回空白。 当我注释掉假期部分时,'IsWorkday' 能够在周一至周五返回 1,但在我包含它时返回 0。两列的Holiday-部分基本相同。
我不太擅长 Dax,我承认我可能不理解我在这里写的 dax 的真正逻辑,因为我的逻辑显然失败了。
非常感谢任何帮助或提示让我更接近解决方案。希望我提供的信息足够。如果没有 - 请告诉我,我会添加。
谢谢!
【问题讨论】:
标签: date calendar dax powerbi-desktop