我有一组数据如下。
| AdviserName | PolicyNumber | Product | Status | Duration |
|-------------|--------------|---------|--------|----------|
| Andy | LIF123 | ANZ | New | 2 |
| Andy | X224 | AXA | Lapsed | 3 |
| George | KL1122 | TAL | New | 0 |
| George | OLK43 | AXA | Lapsed | 5 |
| Ben | LIF98 | ANZ | New | 0 |
| Ben | KL343 | TAL | Lapsed | 1 |
我想获取状态=' Lapsed'持续时间在1到3之间。但是我仍然希望显示对应状态='新'为每个顾问。以下是我想看到的预期结果。
| AdviserName | PolicyNumber | Product | Status | Duration |
|-------------|--------------|---------|--------|----------|
| Andy | LIF123 | ANZ | New | 2 |
| Andy | X224 | AXA | Lapsed | 3 |
| Ben | LIF98 | ANZ | New | 0 |
| Ben | KL343 | TAL | Lapsed | 1 |
我创建了2个参数:
MinYear
,其值设置为1 MaxYear
,其值设置为3 我创建了2个计算字段:
MinInvYear
,iif([Duration]>=[Min Year] and [Status] = 'Lapsed', 1, 0)
MaxInvYear
,iif([Duration]<=[Max Year] and [Status] = 'Lapsed', 1, 0)
最后一步,我将两个计算字段放入过滤器并仅勾选过滤器= 1。不幸的是,我得到的是下表。我需要显示状态&#39; New&#39;以及安迪和本。
| AdviserName | PolicyNumber | Product | Status | Duration |
|-------------|--------------|---------|--------|----------|
| Andy | X224 | AXA | Lapsed | 3 |
| Ben | KL343 | TAL | Lapsed | 1 |
我尝试使用细节级别修改计算字段:
MinInvYear
{include [Status] = 'New Business' : iif([Duration]>=[Min Year] and [Status] = 'Lapsed', 1, 0)}
,我收到错误消息&#39;细节表达级别的结果必须是聚合的。&#39;
我错过了什么?
仅供参考,我使用的是Tableau 10.
感谢大家的帮助。
答案 0 :(得分:0)
尝试添加一个计算字段(比如说MinInvYear
),而不是2个计算字段MaxInvYear
和Filter for Status and Duration
,它会根据您的条件返回一个布尔值
IF ([Status] == 'Lapsed' OR ([MinYear] < [Duration] AND [Duration] < [MaxYear])) THEN
TRUE
ELSE
FALSE
END
现在,为此计算字段添加过滤器,以仅显示导致True
的记录。
答案 1 :(得分:0)
尝试这个,比特冗长但确实有效:
您只对字段状态的一个方面(Lapsed)进行操作,因此您仅在该值上应用参数值。所以在这里你需要独立地处理该列以获得所需的输出。请遵循以下流程:
设置1:Lapsed
Here create a set and just select checkbox `Lapsed`.
设置2:New
Here create a set and just select checkbox `New`.
Lapsed
和New
计算字段1:Lapsed_Status
IF [Duration] >= [Min] and [Duration] <= [Max]
THEN [Lapsed] //Set
END
计算字段2:New Status
IF [New]=[New]
THEN [New] //Set
END
设置3:Display_Lapsed
//来自计算字段1:New Status
Select checkbox True
设置4:Display_New
//来自计算字段2:Lapsed_Status
Select checkbox True
计算字段'Display_sheet'
Display_Lapsed <> Display_New //Both are sets
在过滤条件中使用计算字段Display_sheet
并选择true
使用工作表上的必填字段显示数据。
让我知道它是怎么回事
答案 2 :(得分:0)
下面的技巧会让你感动
AdviserName
&#39;行&#39;图AdviserName
旁边,它会变成红色&#39; (如果它变成灰色,请不要担心。再次点击它会变红)。确保只有一个链接符号&#39;是红色的(它位于AdviserName
旁边)。filter_cond
IF [Status]='Lapsed' and [Duration]<=3 and [Duration]>=1
then 'Y'
ELSE 'N'
END
filter_cond
,PolicyNumber
&amp;来自原始数据源的Product
来自&#39;行&#39;视图。你完成了!瞧!