繁体   English   中英

Power Bi DAX:重置某个日期后的值

[英]Power Bi DAX: Reset Value past a date

遇到问题。

我需要对权利值进行年度重置,但重置点是每个人的不同日期。 一个人在开始日期后 6 个月获得权利,因此 +6 个月的日期是他们应该重置的时间。 这是我制作的 +6months 专栏:

+6m = DATE(YEAR('Employee List'[Emp. Dates]),
           MONTH('Employee List'[Emp. Dates])+6,
           DAY('Employee List'[Emp. Dates]))

当我看到多余的部分剥夺了一个人在公司的整个时间里的权利时,我遇到了这个问题。 以下是衡量超额的方法:

Excess Days = CALCULATE(SUM('Employee List'[Entitlement]) - 
                        SUM('Leave combined'[Duration1]))

即使是几年前,这也带走了所有记录的天数。

我可以做一个衡量,如果我们已经过了 +6 个月的日期(DD/MM(年份无关紧要,我只需要每年相同的时间)),那么它就会从那个 +6 个月的日期中取消他们的权利,并且会在 +6 个月重置之前没有恢复任何天数?

例如,如果 +6months 是 2015 年 3 月 1 日,则目前需要从他们开始到今天的所有日子,我希望它在每年的 3 月 1 日重置,因此它只会从 2019 年 3 月 1 日开始获取数据 - 今天并将重置一旦我们过了 2020 年 3 月 1 日。如果一个人平均每年花费 25 天,而他们只有 20 天的权利,这应该表明他们多出 5 天,但对我来说,现在它是从他们的权利中扣除的总天数。

我知道这很难解释,你可能不明白,但我很乐意解释。

虚拟表

创建计算列来执行此操作会更容易。 也许是这样的:

Calc =
     VAR Person = TableA[Person]
     VAR Date1 = EDATE(Entitlement[Start Date],6)
RETURN IF(TableA[Start]<Date1,0,TableA[Duration])

此列将使持续时间为 0,只要开始日期小于权利的 +6m 日期。 创建此列后,您可以简单地总结所需级别的字段,以获得所需的输出。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM