示例:如下图
当"年检年限"不为空时,"失效日期" 为"培训日期"加上"年检年限"所代表的年数的日期.
我写的DAX语句为:
失效日期 =
IF(
ISBLANK('培训信息'[年检年限]),
BLANK(),
DATEADD('培训信息'[培训日期], '培训信息'[年检年限], YEAR)
)
可是结果却是都是空的.
请大神指教,这到底哪里写错了.
多谢多谢:sparkles:
示例:如下图
当"年检年限"不为空时,"失效日期" 为"培训日期"加上"年检年限"所代表的年数的日期.
我写的DAX语句为:
失效日期 =
IF(
ISBLANK('培训信息'[年检年限]),
BLANK(),
DATEADD('培训信息'[培训日期], '培训信息'[年检年限], YEAR)
)
可是结果却是都是空的.
请大神指教,这到底哪里写错了.
多谢多谢:sparkles:
DATEADD时间智能函数,对连续日期生效,你的日期不连续(比如2024/6/1,使用DATEADD返回前一年的日期,但是[培训日期]中没有2023/6/1,则最终返回结果为空),时间智能函数不理解原理千万不要乱用。DATEADD('培训信息'[培训日期], '培训信息'[年检年限], YEAR)
建议改成DATE(YEAR([培训日期])+[年检年限],MONTH([培训日期]),DAY([培训日期]))
DATEADD时间智能函数,对连续日期生效,你的日期不连续(比如2024/6/1,使用DATEADD返回前一年的日期,但是[培训日期]中没有2023/6/1,则最终返回结果为空),时间智能函数不理解原理千万不要乱用。DATEADD('培训信息'[培训日期], '培训信息'[年检年限], YEAR)
建议改成DATE(YEAR([培训日期])+[年检年限],MONTH([培训日期]),DAY([培训日期]))
多谢回答!
DATEADD确实不应该用在这里.....
用了DATE这个函数,的确算出来了,但闰年的问题会出问题.最后我用了EDATE这个函数,貌似得出了我要的答案.
失效日期2 =
IF(
ISBLANK('全部培训信息'[年检年限]),
BLANK(),
EDATE('全部培训信息'[培训日期],'全部培训信息'[年检年限]*12)
)
有点投机,但目前只找到了这个方法.