Tableau api 如何修复检查订单中日期的计算字段?

Tableau api 如何修复检查订单中日期的计算字段?,tableau-api,calculated-field,measure,Tableau Api,Calculated Field,Measure,数据结构类似于此,所访问的州遵循以下顺序:夏威夷->加利福尼亚->德克萨斯->纽约 | Name | State | Date | |:-----------|------------:|:------------:| | Alice | Hawaii| 1/1/2019 | | Alice | California| 1/3/2019 | | Alice | Texas| 1

数据结构类似于此,所访问的州遵循以下顺序:夏威夷->加利福尼亚->德克萨斯->纽约

| Name       | State       | Date         |
|:-----------|------------:|:------------:|
| Alice      |       Hawaii|   1/1/2019   |
| Alice      |   California|   1/3/2019   |
| Alice      |        Texas|   1/5/2019   |
| Alice      |     New York|   1/7/2019   |
| Bobby      |       Hawaii|   3/20/2019  |
| Bobby      |   California|   3/23/2019  |
| Bobby      |        Texas|              |
| Bobby      |     New York|              |
| Carl       |       Hawaii|   2/10/2019  |
| Carl       |   California|   2/12/2019  |
| Carl       |        Texas|   2/12/2019  |
| Carl       |     New York|              |
我只想给那些还没有去过纽约但去过Tableau其他地方的人显示日期

在这种情况下,这将是卡尔,因为他访问了夏威夷、加利福尼亚和德克萨斯,但还没有访问纽约

| Name       | State       | Date         |
|:-----------|------------:|:------------:|
| Alice      |       Hawaii|   1/1/2019   |
| Alice      |   California|   1/3/2019   |
| Alice      |        Texas|   1/5/2019   |
| Alice      |     New York|   1/7/2019   |
| Bobby      |       Hawaii|   3/20/2019  |
| Bobby      |   California|   3/23/2019  |
| Bobby      |        Texas|              |
| Bobby      |     New York|              |
| Carl       |       Hawaii|   2/10/2019  |
| Carl       |   California|   2/12/2019  |
| Carl       |        Texas|   2/12/2019  |
| Carl       |     New York|              |
爱丽丝已经去过纽约了,所以不会上映,鲍比也不应该上映,因为他还没去过得克萨斯州

我尝试创建一个计算字段并将其拖动到过滤器

IF (ISNULL([Date]) AND [State] = "New York") AND

(NOT ISNULL([Date]) AND 
([State] = "Hawaii" OR
[State] = "California" OR
[State] = "Texas"))

THEN
[Date]

END
我希望输出计算字段返回以下日期列:

| Name       | State       | Date         |
|:-----------|------------:|:------------:|
| Alice      |       Hawaii|              |
| Alice      |   California|              |
| Alice      |        Texas|              |
| Alice      |     New York|              |
| Bobby      |       Hawaii|              |
| Bobby      |   California|              |
| Bobby      |        Texas|              |
| Bobby      |     New York|              |
| Carl       |       Hawaii|   2/10/2019  |
| Carl       |   California|   2/12/2019  |
| Carl       |        Texas|   2/12/2019  |
| Carl       |     New York|              |

但我得到的只是空值,所以我的逻辑中有一些错误,但我不知道是什么。

将名称放在过滤器架上。选择“全部使用”并切换到“条件”选项卡。为条件输入以下公式

max([州]=“夏威夷”)和
最大值([州]=“加利福尼亚州”)和
最大值([州]=“德克萨斯州”)和
非最大值([州]=“纽约”)

或者,您可以基于Name字段创建一个集合,其中包含访问过您想要的州的人——使用上述条件中的前3行。另一组也基于姓名字段,其中包含访问过你不想要的州的人。然后做一个组合,第一组的人减去第二组的人

然后,可以根据需要在过滤器、计算字段和工具架上使用集合

顺便说一句,如果任何数据记录满足,则max([condition])为true,因为true被视为大于False。当所有数据记录满足[条件]时,min([条件])为真