我在PowerPivot中有一个数据集,需要找到一种方法来标记第一次出现的客户子事件
上下文:每个事件(COLUMN A)可以有X个子事件(COLUMN B), 我已经有一个标志,用于根据多个标准识别客户事件(COLUMN D)......我需要的是一种标记仅首次出现的客户子事件的方法每个事件,我都添加了一个假 COLUMN E来说明标记应该如何工作。
UPDATE 其他情况 - 重复的客户sub_events但只需要标记第一个sub_event ...应该如下所示:
答案 0 :(得分:0)
使用以下表达式在模型中创建计算列:
=
IF (
[Customer_Event] = 1
&& [Sub_Event]
= CALCULATE (
FIRSTNONBLANK ( 'Table'[Sub_Event], 0 ),
FILTER (
'Table',
'Table'[Event] = EARLIER ( 'Table'[Event] )
&& [Customer_Event] = 1
)
),
1,
0
)
如果Sub_Event
列是一个数字,请FIRSTNONBLANK ( 'Table'[Sub_Event], 0 )
MIN('Table'[Sub_Event])
此外,如果您的计算机区域设置使用;
(分号)作为列表分隔符,请用分号替换我的表达式中的每个,
(逗号)以匹配您的设置。
更新: Sub_Event
列中的重复值。
我认为我们可以使用CaseRow#
列来获得Sub_Event
值的第一次出现:
=
IF (
[Customer_Event] = 1
&& [Sub_Event]
= CALCULATE (
FIRSTNONBLANK ( 'Table'[Sub_Event], 0 ),
FILTER (
'Table',
'Table'[Event] = EARLIER ( 'Table'[Event] )
&& [Customer_Event] = 1
)
)
&& [CaseRow#]
= CALCULATE (
MIN ( 'Table'[CaseRow#] ),
FILTER (
'Table',
'Table'[Event] = EARLIER ( 'Table'[Event] )
&& [Customer_Event] = 1
)
),
1,
0
)
没有经过测试但应该有效。
如果有帮助,请告诉我。