我们将从 csv 导入的父表称为“a_generic_list”。 我添加了 2 个不同的 addcolumns,计算日期列采用“yyyy-mm-dd”格式: 第一天和第二天。
第 2 天的示例:
addcolumns(...
"day2",
FORMAT (
CALCULATE (
MAXX ( 'a_generic_list', [Day] ),
FILTER (
'a_generic_list',
'a_generic_list'[Column1] = [filter1]
&& 'a_generic_list'[Column2] = [filter2]
&& 'a_generic_list'[Column3] = [filter3]
&& 'a_generic_list'[Column4] = [filter4]
&& 'a_generic_list'[Column5] = [filter5]
)
),
"yyyy-mm-dd"
)
), ...
此计算正确,并且该表有一堆嵌套的添加列。
我试图添加另一列来减去两个日期(day1 和 day2)以获得天数单位的差异,但我收到了奇怪的错误。
第1天 | 第2天 | 差异日期(以天为单位) |
---|---|---|
2022-01-01 | 2022-01-03 | 2 |
2022-05-05 | ||
2023-02-03 | 2023-02-07 | 4 |
2022-05-05 | ||
2024-01-05 | 2024-01-06 | 1 |
我将它放在嵌套的“addcolumns”函数中,该函数与查询的“定义”部分下的其他变量列配合得很好。如果我尝试进行 diffdate 的两列中的任何一列中有空格,我还使用 not(isblank()) 作为停止计算的方法。代码如下:
DEFINE
VAR index_table =
....
.... add column(
"datediff_days",
CALCULATE (
IF (
(
NOT ( ISBLANK ( [day1] ) )
&& NOT ( ISBLANK ( [day2] ) )
),
DATEDIFF ( [day1], [day2], DAY ),
blank
)
)
)
......
evaluate
index_table
DAX Studio 中的查询格式很好,但我不断收到奇怪的错误:
"the syntax for ')' is incorrect"
但据我所知,我在正确的位置完成了所有括号,这是遵循同一个表中其他添加的列零问题的模式。如果没有添加此列,表将成功评估。有什么想法吗?
在你的
IF(...)
中,应该是BLANK()
而不是blank
。