Tableau api Tableau-如何检查一个值是否等于另一行和另一列中的值
我有下表:Tableau api Tableau-如何检查一个值是否等于另一行和另一列中的值,tableau-api,Tableau Api,我有下表: +------------+--------------+---------+---------+---------+ | Category | Subcategory |FruitName| Date1 | Date2 | +------------+--------------+---------+---------+---------+ | A | 1 | Foo | 2011 | 2017 | |
+------------+--------------+---------+---------+---------+
| Category | Subcategory |FruitName| Date1 | Date2 |
+------------+--------------+---------+---------+---------+
| A | 1 | Foo | 2011 | 2017 |
| | +---------+---------+---------+
| | |Pineapple| 2011 | 2013 |
| | +---------+---------+---------+
| | | Apple | 2017 | 2018 |
| +--------------+---------+---------+---------+
| | 2 | Peach | 2014 | 2015 |
| | +---------+---------+---------+
| | | Orange | 2015 | 2018 |
| | +---------+---------+---------+
| | | Banana | 2009 | 2013 |
+------------+--------------+---------+---------+---------+
我希望显示水果名称,其中一行的Date1
与另一行的Date2
相同,但前提是它们在同一子类别中相等。在上表中,此筛选器应根据以下标准检索行:
最后一张表如下所示:
+------------+--------------+---------+---------+---------+
| Category | Subcategory |FruitName| Date1 | Date2 |
+------------+--------------+---------+---------+---------+
| A | 1 | Foo | 2011 | 2017 |
| | +---------+---------+---------+
| | | Apple | 2017 | 2018 |
| +--------------+---------+---------+---------+
| | 2 | Peach | 2014 | 2015 |
| | +---------+---------+---------+
| | | Orange | 2015 | 2018 |
+------------+--------------+---------+---------+---------+
我如何才能做到这一点?您提供的逻辑与提供的输出不匹配。如果您在跟踪输出,那么您的逻辑应该是:
SELECT f1.* from fruits f1 JOIN fruits f2
ON f1.Subcategory=f2.Subcategory
WHERE f1.Date1=f2.Date2 OR f1.Date2 = f2.Date1;
如果您的数据源支持自定义SQL,则可以直接使用上述查询。如果没有,您仍然可以在Tableau中使用完整的外部联接和计算字段来实现它。(Tableau不支持或限制联接。)
使用以下条件创建自满外部连接
创建一个名为“过滤器”的计算,如下所示
应用数据源筛选器以仅保持“筛选器”=True
从右侧连接隐藏字段,您将获得所需的输出。
无法理解要求,老实说,非常混乱。再解释一下,我会试试你的解决方案。与此同时,我还更新了我的问题,添加了一个图像来解释我正在寻找的输出(因为它是正确的)。我可能把我要找的东西解释错了。