繁体   English   中英

Power BI:用于查找日期之间天数的 DAX 公式给出“遇到了日期值的无效数字表示”错误

[英]Power BI: DAX formula to find number of days between dates gives "an invalid numeric representation of a date value was encounted" error

我最近才开始在我的新工作中使用 Power BI 和 DAX,所以如果这是一个超级简单或愚蠢的修复,我深表歉意。

我正在尝试创建一个列 (NumDays) 来计算日期范围内的天数,以及一个列 (NumWorkDays) 来计算日期范围之间的工作日数。 我有一个表(日历),其中包含一个日期列表,并用 1 或 0 指示它是否是工作日(周一至周五)。 在一个单独的表(发货)中,我有两个日期值,我试图找到它们之间的工作日数:DateOfDelivery 和 DateOfSale。

这是我的两列 DAX 公式...

天数:

NumDays = IF(ISBLANK('Shipments'[DateOfDelivery]), -1, CALCULATE(COUNTROWS('Calendar'),DATESBETWEEN('Calendar'[Dates],'Shipments'[DateOfSale], 'Shipments'[DateOfDelivery])))

工作日数:

NumWorkDays = IF(ISBLANK('Shipments'[DateOfDelivery]), -1, CALCULATE(SUM('Calendar'[IsWorkDay]),DATESBETWEEN('Calendar'[Dates],'Shipments'[DateOfSale], 'Shipments'[DateOfDelivery])))

每当我尝试运行任一公式时,我都会收到此错误:

遇到了日期值的无效数字表示。

就是这样。 我浏览了两个表以寻找奇怪的值,并且我仔细检查了数据类型以确保它们是日期时间而不是奇怪的东西。 老实说,我在这里很困惑,所以我们将不胜感激。 提前致谢!

**编辑:我尝试分解每个公式的各个部分以尝试查明导致错误的位置。 它似乎源自 DATESBETWEEN() function,但我无法将其缩小到导致问题的特定列或表。 这只是 function 的一个已知问题吗?

在Power BI社区论坛上得到某人的答案...结果证明使用DATESBETWEEN()不是正确的方法。

更新的NumDays:

NumDays = IF(ISBLANK('Shipments'[DateOfDelivery]), -1, CALCULATE(COUNTROWS('Calendar'),filter('Calendar', 'Calendar'[Dates]>('Shipments'[DateofSale]) && 'Calendar'[Dates]<=(''[Delivered]))))

更新的NumWorkDays:

NumWorkDays = IF(ISBLANK('Shipments'[DateOfDelivery]), -1, CALCULATE(COUNTROWS('Calendar'), filter('Calendar', 'Calendar'[Dates]>('Shipments'[DateofSale]) && 'Calendar'[Dates]<=('Shipments'[DateOfDelivery])&& 'Calendar'[WorkDay]=1)))

这是他们网站上帖子的链接: http : //community.powerbi.com/t5/Desktop/DATESBETWEEN-gives-quot-Invalid-Numeric-Representation-of-a-Date/mp/42604#M16306

请检查表格中的日期。

根据我的经验,当我在表格中放置行时,我收到了同样的错误,并且在一行中有一个错误的日期,年份等于 9999。奇怪的是日期列没有在任何 DAX 公式中使用。

暂无
暂无

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

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