比较PowerBI中表中的两行

时间:2018-02-14 08:25:45

标签: powerbi

需要您的帮助以获得以下查询。

我有一个在PowerBI中获取的表,如下所示

ID  MessageId   Eventtype   Timestamp       SystemTypeId
1   101             Pack    14/02/18 00:00      ABC
2   102             Unpack  14/02/18 00:00      ABC
3   103             Unpack  14/02/18 01:00      ABC
4   104             Pack    14/02/18 01:00      ABC
5   105             Unpack  14/02/18 01:00      ABC
6   101             Pack    14/02/18 00:00      XYZ
7   102             Unpack  14/02/18 00:00      XYZ
8   104             Pack    14/02/18 01:00      XYZ
9   105             Pack    14/02/18 01:00      XYZ

我想比较具有相同MessageID的行。

例如:我正在比较MessageID 101,那么像Eventtype,Timestamp,System这样的所有值都匹配两个系统,即ABC和XYZ。

但是对于MessageID 105,Eventtype的值不匹配或两者都是系统,即ABC和XYZ,因此该消息不会被计为MATCH消息。 最后,我想在仪表板上将其显示为

14/02/18 00:00            14/02/18 01:00
Count of Messages        Count of Messages
FSS3         OER          FSS3       OER

2              2          3           1

我在上表中需要一个标记,以帮助我在PowerBI中获得上述结果。

请你帮我一下。

提前非常感谢你。

1 个答案:

答案 0 :(得分:0)

这应该为您提供一个计算列,其中包含是否存在匹配行的信息。这意味着同一系统不能匹配,否则您将不得不添加对系统类型的检查并排除这些结果(尽管很难链接可能的匹配)。

MatchingRow =
VAR tid = table[ID]
VAR mid = table[MessageId]
VAR evt = table[Eventtype]
VAR tim = table[Timestamp]
RETURN IF(CALCULATE(COUNTROWS(table), ALL(table), table[ID] <> tid, table[MessageId] = mid,
table[Eventtype] = evt, table[Timestamp] = tim) > 0, "match", "no match")

我相信你可以从这里开始,否则你必须解释FSS 3OER