首页 > 解决方案 > 包含多个日期计算的 Tableau 表

问题描述

我有一张包含有效和到期日期的政策表。我想知道每个月有多少政策生效。

原始表

id, effective_date, expiration_date
1, 2020-01-01, 2020-06-01
2, 2020-02-01, 2020-07-01
3, 2020-03-01, 2020-08-01
4, 2020-04-01, 2020-09-01
5, 2020-04-01, 2020-09-01

理想输出

Month, Count
Jan, 1
Feb, 2
March, 3
April, 5
May, 5
June, 5
July, 4
August, 3
Sept, 2

我在想我可以做如下的事情

Effective_Count

RUNNING_COUNT(COUNT([policies]))

过期_计数

RUNNING_COUNT(COUNT(
  IF(policy.expiration_date < RowMonth)
  THEN 1
  ELSE 0
  END 
))

然后 policy_in_effect 将只是

Effective_Count - Expired_Count

我无法获得 RowMonth 值。

标签: tableau-api

解决方案


旋转会有所帮助。还有一件事,即使保单在当月的第一天到期,您也会认为这些保单在当天是有效的,因此您必须在到期月份添加一天。

步骤 1:在数据选项卡中,选择两个日期字段并选择pivot

预览-1

根据您的喜好重命名这两个字段。然后添加一个计算字段以将额外的日/月添加为DATEADD('month', 1, [Date]). 然后用 . 添加另一个 calc 字段IF THEN ELSE condition

If [Event] = 'effective_date' then 1 else -1 END

在行上添加 calcF 1 -> 右键单击​​选择月份 -> 将其更改为离散 -> 再次右键单击并检查显示缺失值

在文本标记上添加 calc F2 --> 右键单击​​ --> 添加表格计算 --> 像这样编辑运行总计

!预览2 ] 2

这会给你你想要的结果

结果


推荐阅读