0

我正在使用 Analysis Services 2000 为一个 Web 应用程序开发一个多维数据集,用户可以在其中注册和取消注册到该站点。所以,“用户”表有这三个字段:

  • 激活(1 或 0)
  • 费查阿尔塔
  • 费查巴哈
当用户激活他的帐户时,应用程序保存“fechaAlta”并将 1 放在“activo”字段中。当用户取消订阅他的帐户时,应用程序将“activo”字段更新为 0 并保存“fechaBaja”。

我需要的信息是通过时间维度了解一次有多少用户处于活动状态。就像是:

年 月 日 活跃用户

2009 年 1 月 1 日 10 日(本日激活 10 次)
2009 年 1 月 2 日 12 日(本日激活 3 次,未注册 1次)
2009 年 1 月 10 日 17 日(本日激活 5 次)

即使我在 2009 年 2 月查询,我也需要知道 1 月 1 日有 10 个活跃用户(必须计算 2 日退订的用户)。

我开发了一个多维数据集,其中事实表是用户表,并为两个日期字段(fechaAlta 和 fechaBaja)创建了两个维度。我还创建了这个计算字段:

按月激活:
计算子立方体:{[Measures].[Altas]}, [Fecha Alta].[Mes].MEMBERS
计算公式:sum({Descendants([Fecha Alta].currentmember,[Fecha Alta].[Día] )},[措施].[Activo])

当天活动:
计算子立方体:{[Measures].[Inscritos]},[Fecha Alta].MEMBERS
计算公式:sum({Periodstodate([Fecha Alta].[(Todos)])},[Measures].[Activo ])

我不知道如何仅从 fechaBaja 指示的那一天开始对未注册用户进行折扣。

谢谢。

4

2 回答 2

1

这是一个经典的渐变维度问题。您所描述的是类型 2 缓慢变化的维度,请参见此处

您需要确保您的用户维度具有代理键。然后,每次用户更改状态时,您都会在用户表中创建一条新记录,然后使用生效日期来控制要插入事实表的代理键。这将使您可以随时报告用户的有效状态。

于 2009-02-13T00:05:39.923 回答
0

我认为您需要一个“用户状态”维度,然后您可以根据时间显示此维度,衡量标准是用户数。

于 2009-02-20T11:17:27.510 回答