【问题标题】:How to find duplicated vaules in Tableau如何在 Tableau 中查找重复值
【发布时间】:2020-03-04 19:16:35
【问题描述】:

我需要创建一个新列来告知客户是新客户还是经常客户。

为此,我想检查电话中的每个唯一值,是否在日期列中关联了一个或多个日期。

 Phone   Date
0    a   1
1    a   1
2    a   2
3    b   2
4    b   2
5    c   3
6    c   2
7    c   1

新用户是指只有一对唯一(电话、日期)夫妇使用同一部手机的用户。我想要的结果如下:

Phone   Date    User_type
0   a   1   recurrent
1   a   1   recurrent
2   a   2   recurrent
3   b   2   new
4   b   2   new
5   c   3   recurrent
6   c   2   recurrent
7   c   1   recurrent

我设法用 python 编写了几行代码,但我的老板坚持要我在 Tableau 中完成。

我知道我需要使用计算字段,但仅此而已。

如果有帮助,这是我的 python 代码:

import numpy as np
import pandas as pd

for item in set(data.Phone):
    if len(set(data[data.Phone == item]['Date'])) == 1:
        data.loc[data.Phone == item, 'type_user'] = 'new'
    elif len(set(data[tata.Phone == item]['Date'])) > 1:
        data.loc[data.Phone == item, 'type_user'] = 'recurrent'
    else:
        data.loc[data.Phone == item, 'type_user'] = np.nan

【问题讨论】:

    标签: python duplicates tableau-api


    【解决方案1】:

    你可以使用 LOD 来做到这一点,下面会告诉你有多少条记录是重复的

    {Fixed [Phone],[Date]: SUM([Number of Records])}
    

    如果您想要文本,请执行以下操作:

    IF {Fixed [Phone],[Date]: SUM([Number of Records])} > 1 THEN 'recurrent' ELSE 'new' END
    

    例子:

    【讨论】:

      【解决方案2】:

      感谢您的回复!它并没有完全解决我的问题,但它确实帮助我找到了解决方案。

      解决办法:

      对于给定的电话,我首先得到了不同日期的数量

      {Fixed [Phone] : COUNT([Date])}
      

      然后我创建了我的分类(维度)变量

      if {Fixed [Phone] : COUNT([Date])} > 1 THEN 'recurrent' ELSE 'new' END
      

      结果(电话号码因数据隐私原因被隐藏):

      enter image description here

      【讨论】:

      • 在您的回答中,您正在修理手机并计算该手机的日期。如果您使用 count 则不会区分,但应该使用 countd 代替
      • 非常感谢。我必须承认,我有点难以理解 Tableau 中某些函数的作用
      猜你喜欢
      • 2016-03-30
      • 2012-05-04
      • 2011-02-21
      • 2013-12-26
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 2013-05-30
      • 2010-09-08
      相关资源
      最近更新 更多