tableau-api - Tableau - 如何检查一个值是否等于另一行和另一列的值
问题描述
我有下表:
+------------+--------------+---------+---------+---------+
| 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
来自另一行,但前提是它们在相同的Subcategory
. 在上表中,此过滤器应根据这些条件检索行:
决赛桌看起来像这样:
+------------+--------------+---------+---------+---------+
| 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 不支持连接中的 OR 条件。)
推荐阅读
- javascript - Google Apps 脚本中的附件问题
- flutter - 如何在 Flutter 中使用 Riverpod 中的异步值?
- vue-formulate - 我可以通过 Vue Formulate 的模式 API 传递元数据而不影响输入属性吗?
- apache-spark - PySpark 在嵌套字段中添加新对象(如果不存在)
- node.js - 如何在独立的离线服务器上安装 npm 包?
- ios - AVAudioEngine 在 macOS/iOS 上协调/同步输入/输出时间戳
- python - 具有多级菜单的 Telegram Bot,无需发送消息
- java - 需要一个 java 处理类来将鼠标移动到窗口中心
- javascript - 如何在javascript中将字符串列表转换为数组
- html - 我的页脚下方有一个空白区域,我找不到原因