如何在Tableau中使用角色扮演日期维度?

时间:2014-09-09 06:51:38

标签: sql database date join tableau

所以我将数据仓库连接到Tableau,为我们的业务用户制作各种报告。数据库遵循星型模式。我有几个典型的维度,如用户信息,订单,....,日期维度等。我想创建一个视图(文本表),每周包含一些业务KPI(过去12周)

我的日期维度是一个角色扮演维度 - 即它可以指订单日期或客户注册日期或客户会员加入日期或发货日期等。我如何确保每个条目的正确日期被引用我的文字表?例如:

周否 June29 July 7 July13 July20 July27
会员总数
新会员
活跃会员
采购会员
第一次买家
转换%

“新会员”将根据给定日期范围内的客户注册日期计算。类似地,将通过计算在给定日期范围内下订单的用户数来从订单表计算采购成员。如何确保日期对应于各个表中的日期? (每个表可能有多个日期列,例如注册日期,未订阅日期等) 提前谢谢!

1 个答案:

答案 0 :(得分:0)

这在很大程度上取决于表格的结构。如果我理解正确,你有一个面向事件的数据库,即每个条目都是一个事件。您有一列用于日期,一列用于标识事件(以及许多其他字段)。

如果这是正确的,这里有一些提示,以达到你想要的:

1)会员总数。尝试使用COUNTD(user_id)的Running Total(表计算)。这样,您将拥有迄今为止不同user_ids的数量。

2)新成员。过滤"注册事件"并使用COUNTD()

3)活跃会员。这是什么意思?但逻辑是相同的,过滤正确的事件并使用COUNTD()

4)采购成员。过滤"购买活动"并再次使用COUNTD()

5)首次购买者。如果你没有第一次购买活动,那就太麻烦了。您需要创建该事件(并且不要忘记将其包含在4中),或者添加一些标记来标识第一次购买。在Tableau中直接在该数据源上执行此操作是不可能的,因为它需要一个表计算来检查第一次购买的内容(如果有的话)

6)转换。取决于你如何计算它。可以像[[首次购买者] / [新成员]一样简单。但是你可以有不同的定义或时间框架(比如#过去6个月的新成员#首次购买者)

尝试其中的一部分,如果你无法做某事,或者你的数据库实际上并不像我理解的那样,请更好地描述它,展示你尝试过的东西,你得到的结果以及你所期望的结果