【问题标题】:Star-schema: Separate dimensions for clients and non-clients or shared dimension for attendants?星型模式:客户和非客户的单独维度或服务员的共享维度?
【发布时间】:2011-01-24 16:18:56
【问题描述】:

我是星型模式建模的新手,刚刚阅读了Data Warehouse Toolkit

我有一个业务流程,客户和非客户与我们的一些员工进行电话会议。

我的事实表,称为“观众”,将包含一个参加者连接到呼叫的时间,以及此人连接到呼叫的成本的度量。颗粒是“与电话会议的个人连接”。

我是否应该使用符合标准的客户维度并以这种方式创建非客户维度(针对尚未成为客户的调用者)(省略不属于此问题的维度):

或者以这种方式拥有一个与符合标准的客户维度相关的不符合标准的出席维度是否可以/更好:

或者是否有更好/标准的机制来模拟这样的业务流程?

编辑:

如果使用上面的模型 2,但是在客户维度表和参与维度之上创建一个视图以使其看起来只是一个维度呢?

这是下面达米尔答案的可接受替代方案吗?

【问题讨论】:

  • cost_of_connection 是您(公司)的成本,还是每个人单独支付的成本?
  • cost_of_connection 是我的公司向供应商支付的费用,以允许每个呼叫者连接。这是我们的成本。

标签: database-design data-modeling olap star-schema dimensional-modeling


【解决方案1】:

无需将客户端拆分为两个表(维度)。简单地将所有客户、活跃客户和潜在客户放入同一个维度表中。 然后,您可以引入 IsActive 属性(列)来区分付费客户和潜在客户。您迟早会使用数据挖掘工具来更多地了解客户,以及愿意为您的服务付费的人和不愿意付费的人的区别。为了让算法起作用,您必须为两组人提供数据——付费的人和不付费的人。总而言之,潜在客户与付费客户属于同一张表。

有了这个,你可以使用你的模型 1。确保事实表中的度量是有意义的。例如,如果 call_id =123 有 10 人参与,那么

sum(cost_of_connection)
from factAudience
where call_id = 123;

应该返回通话的总费用,而不是无意义的东西——比如实际费用的 10 倍。

编辑

“付费客户”和“潜在客户”都是客户的一种类型,因此属于同一个维度表——dimClient。在 DW 中的某个地方,有一个 factSale(或类似的)与 dimSale 的 FK。即使您在 dimClient 中没有用于区分付费和潜在客户的列——您仍然可以通过加入 factSale 和 dimClient 来获得付费客户。

“谁是客户?”在组织中引入 DW 是一个常见的争论。 为了能够分析客户获取、保留、转换等,潜在客户与付费客户具有相同的待遇——至少在 DW 中是这样。请记住,获取和创造新客户是(几乎)任何 CEO 的首要任务。

【讨论】:

  • 因此,您的建议是使用 ETL 层创建一个新维度,将符合标准的客户维度和电话会议与会者列表合并。由于我的符合客户维度是一个缓慢变化的维度,这不是引入了很多复杂性吗?现在,我不仅要保持符合客户要求的维度与操作数据保持同步;还有这个新维度……
  • 查看我的问题的编辑。就建模而言,这是一个可以接受的折衷方案吗?
  • 我将选择您的答案作为已接受的答案(尽管我想等待您对我的编辑的回答,但我只剩下一个小时的赏金,我想确保最好答案得到了信任)。如果您不介意,我仍然想讨论额外维度与在两个维度之上的视图的优缺点。
  • 看完你的编辑后,我需要去思考一会儿。你说的对。我认为我缺少一个操作步骤来将这些呼叫者限定为潜在客户并以此为基础建立数据集市。那么所有的客户和潜在客户都应该生活在同一个维度中。非常感谢您的帮助!
【解决方案2】:

我会选择第二个:它在他们自己的专用维度中为与会者建模,同时允许您通过该维度中的属性来展示他们的客户性(或其他方式),这可能是您想要的方式在现实生活中深入研究(“显示所有与会者”,然后是“现在哪些是客户”)。

在您的客户维度中,我将为所有与会者填充 client_id,匹配与会者不是客户的“未知”元素。

这里有一个很好的讨论:

http://crpit.com/confpapers/CRPITV75Riazati.pdf

【讨论】:

    【解决方案3】:

    这没什么区别。第二个版本可能更正确,但是你的 olap 系统支持吗?

    【讨论】:

      【解决方案4】:

      对我来说,第二个看起来像“雪花模式”。从维基百科文章开始研究雪花模式。您会看到星星和雪花之间的一些比较。

      【讨论】:

      • 这正是我发布问题的原因。但它允许向下钻取行为,否则是不可能的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 2021-03-10
      相关资源
      最近更新 更多