我有1个文件,该文件包含以下列:文档日期和处置日期。
在Power BI Desktop中,我想创建另一个名为“ 持续时间”的列,该列可以通过获取处置日期-文档日期来计算em>,并且我希望新列以数字值显示,因为处置日期和文档日期都在序列号中(例如: 39448)或 date (例如:09/25/2018)格式。
是否有代码或执行此操作的方法?谢谢!
答案 0 :(得分:0)
我可能在这里没有重点,但是如果您有这样的数据集:
Document Disposition
25.09.2018 22.09.2018
24.09.2018 21.09.2018
23.09.2018 20.09.2018
22.09.2018 19.09.2018
21.09.2018 18.09.2018
20.09.2018 17.09.2018
19.09.2018 16.09.2018
18.09.2018 14.09.2018
17.09.2018 13.09.2018
16.09.2018 12.09.2018
15.09.2018 11.09.2018
14.09.2018 10.09.2018
13.09.2018 09.09.2018
12.09.2018 08.09.2018
11.09.2018 07.09.2018
10.09.2018 06.09.2018
09.09.2018 05.09.2018
08.09.2018 04.09.2018
然后,您可以使用Get Data
加载它们,转到Edit Queries
,选择Add Column
,然后像这样进行设置:
然后,您可以单击列顶部的ABC / 123
图标并将数据类型更改为Whole number
,您将获得以下信息:
请问这是否不是您想要的。
答案 1 :(得分:0)
由于数据类型存在一些差异,因此首先为文档和处置创建两个新的日期列。我基本上只是在检查转换后,是否在date字段中有一个“ /”表示它是一种日期类型,否则,我假设它已序列化并将转换。以下DAX应该执行此操作,但尚未测试,请尝试一下。
True Document Date :=
SWITCH (
TRUE (),
AND (
ISERROR ( SEARCH ( "/", FORMAT ( [Document], "text" ) ) ),
[Document] >= 32767
), FORMAT ( DATE ( 2000, 1, [Document] - 36523 ), "YYYY-MM-DD" ),
AND (
ISERROR ( SEARCH ( "/", FORMAT ( [Document], "text" ) ) ),
[Document] < 32767
), FORMAT ( DATE ( 1900, 1, Sheet1[DATE SERIAL NUMBER] ), "YYYY-MM-DD" ),
NOT ( ISERROR ( SEARCH ( "/", FORMAT ( [Document], "text" ) ) ) ), [Document]
)
True Disposition Date :=
SWITCH (
TRUE (),
AND (
ISERROR ( SEARCH ( "/", FORMAT ( [Disposition], "text" ) ) ),
[Disposition] >= 32767
), FORMAT ( DATE ( 2000, 1, [Disposition] - 36523 ), "YYYY-MM-DD" ),
AND (
ISERROR ( SEARCH ( "/", FORMAT ( [Disposition], "text" ) ) ),
[Disposition] < 32767
), FORMAT ( DATE ( 1900, 1, Sheet1[DATE SERIAL NUMBER] ), "YYYY-MM-DD" ),
NOT ( ISERROR ( SEARCH ( "/", FORMAT ( [Disposition], "text" ) ) ) ), [Disposition]
)
然后,仅将天数相差并将结果存储在新的计算列中:
Date Delta :=
DATEDIFF ( [True Document Date], [True Disposition Date], DAY )