在Tableau中,我正在努力解决存在和不存在的问题,而我在数据库查询中却无法做到这一点。我在此处发布了示例数据。
我想找出哪些地点和哪些地点拥有ABC和ABCD。
哪个位置和多少位置具有ABCD12345678,ABCD1而不是ABC。
我可以有多种这样的组合。有人可以帮我这个要求吗?
HNS_LOCATION_ID HNS_PRODUCT_CODE
1000682 ABC
1000682 ABCD
1000682 ABCD1
1000682 ABCD12
1000682 ABCD123
1000682 ABCD1234
1000682 ABCD12345
1000682 ABCD123456
1000682 ABCD1234567
1000683 ABCD
1000683 ABCD1234567
1000683 ABCD12
1000683 ABCD1
1000683 ABCD1234
1000683 ABCD123456
1000683 ABCD12345
1000683 ABCD123
1000683 ABC
1000685 ABCD
1000685 ABCD12
1000685 ABCD1234567
1000685 ABCD1
1000685 ABCD12345
1000685 ABCD123
1000685 ABCD1234
1000685 ABCD123456
1000685 ABCD12345678
答案 0 :(得分:0)
对于第二种情况,只需定义一个计算的字段,例如 meets_criteria ,如下所示:
max([HNS_PRODUCT_CODE] = "ABCD12345678") and
max([HNS_PRODUCT_CODE] = "ABCD1") and
not max([HNS_PRODUCT_CODE] = "ABCD")
由于认为True大于False,因此此计算表明是否满足您的条件。 (您可以将max(condition)读为“至少一行满足条件。”)
有多种使用此计算字段的方法。例如,您可以在行上放置Meets_criteria,在文本上放置HNS_LOCATION_ID,以查看符合和不符合条件的位置。 (假设您将HNS_LOCATION_ID视为维度)
您可以基于HNS_LOCATION_ID字段定义一个名为 locations_matching_criteria 的集合,并使用mets_criteria计算作为定义它的条件。从字面上看,右键单击数据窗格中的HNS_LOCATION_ID,选择创建集,从“常规”选项卡上的单选按钮中选择“全部使用”,然后转到“条件”选项卡,并使用mets_criteria计算字段作为条件。现在,该集合由您的匹配位置组成。
然后,您可以在公式中使用该集合并建立您的vizzes —例如,将您的集合放在行上,将COUNTD(HNS_LOCATION_ID)放在列上。有很多有趣的使用集的方法