在 Dax 中,如何计算一列中等于另一列值的值?
In Dax, how can i count values in one column that equal the value of another column?
我有两列,我想要一个 table 显示“周开始”中“分配日期”的数量,因此对于 2022 年 1 月 1 日的“周开始”,它应该为 0,因为1/7/2022的“Week Start”应该是2,1/14/2022和1/21/2022应该是1.
我有两个日期列
Week Start
Assign Date
1/1/2022
1/8/2022
1/8/2022
1/8/2022
1/15/2022
1/15/2022
1/22/2022
1/22/2022
我想要一个日期栏和一个计数栏
Week Start
Assign Count
1/1/2022
0
1/8/2022
2
1/15/2022
1
1/22/2022
1
我是 DAX 的新手,我认为我把解决方案复杂化了,但我不知道从哪里开始。因为我正在学习 DAX,所以我想在 DAX 度量中得到它。
可能还有更高效的方法M-Code,但是我这里做的是
使用 List.Accumulate 计算正确范围内的条目数:>=Week Start
和 <Week Start + 7 days
M代码
let
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Week Start", type date}, {"Assign Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Assign Count",
each List.Accumulate(
#"Changed Type"[Assign Date],
0,
(state, current)=>
if current >=[Week Start] and current < Date.AddDays([Week Start],7) then state +1 else state)),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Assign Date"})
in
#"Removed Columns"
或者这个措施:
Assign Count :=
VAR ThisWeekStart =
MIN( Table1[Week Start] )
RETURN
0
+ COUNTROWS(
FILTER(
ALL( Table1 ),
Table1[Assign Date] = ThisWeekStart
)
)
您可以将其与 Week Start 字段一起放置在视觉对象中。
我有两列,我想要一个 table 显示“周开始”中“分配日期”的数量,因此对于 2022 年 1 月 1 日的“周开始”,它应该为 0,因为1/7/2022的“Week Start”应该是2,1/14/2022和1/21/2022应该是1.
我有两个日期列
Week Start | Assign Date |
---|---|
1/1/2022 | 1/8/2022 |
1/8/2022 | 1/8/2022 |
1/15/2022 | 1/15/2022 |
1/22/2022 | 1/22/2022 |
我想要一个日期栏和一个计数栏
Week Start | Assign Count |
---|---|
1/1/2022 | 0 |
1/8/2022 | 2 |
1/15/2022 | 1 |
1/22/2022 | 1 |
我是 DAX 的新手,我认为我把解决方案复杂化了,但我不知道从哪里开始。因为我正在学习 DAX,所以我想在 DAX 度量中得到它。
可能还有更高效的方法M-Code,但是我这里做的是
使用 List.Accumulate 计算正确范围内的条目数:>=Week Start
和 <Week Start + 7 days
M代码
let
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Week Start", type date}, {"Assign Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Assign Count",
each List.Accumulate(
#"Changed Type"[Assign Date],
0,
(state, current)=>
if current >=[Week Start] and current < Date.AddDays([Week Start],7) then state +1 else state)),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Assign Date"})
in
#"Removed Columns"
或者这个措施:
Assign Count :=
VAR ThisWeekStart =
MIN( Table1[Week Start] )
RETURN
0
+ COUNTROWS(
FILTER(
ALL( Table1 ),
Table1[Assign Date] = ThisWeekStart
)
)
您可以将其与 Week Start 字段一起放置在视觉对象中。