Power BI:DAX公式,用于查找日期之间的天数,表示“已装入日期值的无效数字表示”错误

时间:2016-06-13 14:02:54

标签: date powerpivot powerbi dax

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

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

以下是两列的DAX公式......

NUMDAYS:

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

NumWorkDays:

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

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

  

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

就是这样。我已经通过两个表寻找奇怪的值,我已经仔细检查了数据类型,以确保它们是日期时间而不是时髦的东西。老实说,我在这里很难过,所以任何帮助都会受到赞赏。提前致谢!

**编辑:我已尝试分解每个公式的各个部分,以尝试确定导致错误的位置。看起来它起源于DATESBETWEEN()函数,但我无法将其缩小到导致问题的特定列或表。这只是该函数的已知问题吗?

1 个答案:

答案 0 :(得分:0)

得到了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/m-p/42604#M16306