【问题标题】:Is there any way to check if row is unique in PowerBI?有什么方法可以检查 PowerBI 中的行是否唯一?
【发布时间】:2021-10-30 06:25:38
【问题描述】:

我正在使用 PowerBI 仪表板,我必须在其中比较两行以检查它是否唯一。 例如 - 我有这样的数据

Book Number  
123456             
123456       
123456       
98765        
98765        
107563       
107563       

我想要这样的结果 -

Book Number  Unique or not
123456       1      
123456       0
123456       0
98765        1
98765        0
107563       1
107563       0

使用 IF(A1=A2, 0, 1) 在 excel 中很容易实现,但我在 PowrBI 中很难实现。

有哪些可能的方法?

【问题讨论】:

  • 您想要的结果与您所说的检查结果不一致。提到的书号都不是唯一的(假设107563107663 是拼写错误,并且您的意思是它们相同),因此它们都应该具有unique or not = 0。您似乎正在寻找的是指示该行是否是具有相同书号的一组行中的“第一行”,但是您必须至少有某种方式可以通过书号以外的其他方式对它们进行排序。还有其他列吗?
  • @JeroenMostert 是的,这是一个错字。感谢您指出,我编辑了帖子。不,它们不会都为 0,因为在 excel 中我使用的是 if (a1(which is header name) = a2 (number), 0, 1) 所以,它会给出我提到的所需结果,如果使用 IF( A2=A3, 0, 1) 仍然会给出结果。不,没有其他要查找的列。
  • 问题在于,虽然这样的逻辑在 Excel 中很简单,但它隐含地依赖于排序——即工作表中行的顺序。 PowerBI/DAX 是基于集合的,因此行根本不会像那样隐式排序。您可以添加 一个订单,然后检查该行是否在其组中的第一个,但如果没有它,您将无法对照“上一个”行检查它。最大的问题是为什么这个结果首先对你有用——你打算用这种方式标记的行做什么?一个简单的不同值的选择或每个数字的计数也可能就足够了。
  • 我已经在 PowerBI 中进行排序,这就是为什么这些数字是完全一致的。如果它在我手中,我将使用 distinct 函数,而不是使用单独的列来显示这样的值。

标签: powerbi dax powerquery


【解决方案1】:

(我更新了这个答案以在检查重复项之前包含一个排序。如果您希望结果看起来与您在上面的示例中显示的完全一样,那么不要包含我包含的排序,因为它会重新排序书号。但是,您需要在检查重复之前以某种方式对其进行排序。)

这是一个 Power Query 解决方案,用于您显示的内容,而不是您描述的内容:

它以一个名为 Table 的表开始,如下所示:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Sorted Rows" = Table.Sort(Source,{{"Book Number", Order.Ascending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 0, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each if [Index] = 0 then 1 else if [#"Book Number"] = #"Added Index"[#"Book Number"]{[Index]-1} then 0 else 1)
in
    #"Added Custom"

它产生这个:

【讨论】:

  • 我会在添加索引之前强制对书号进行排序。
  • 是的。关键行是#"Added Index" 和#"Added Custom" 行。索引用于参考上一行的书号,以供比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 2010-09-30
  • 2013-01-18
  • 2013-01-13
  • 1970-01-01
相关资源
最近更新 更多