我正在为一个web应用程序开发一个具有Analysis 2000的多维数据集,用户可以在该应用程序中注册和注销站点。因此,"user“表有以下三个字段:
当用户激活帐户时,应用程序保存"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个活跃用户(取消订阅的用户必须被计算在内)。
我开发了一个多维数据集,其中事实表是用户表,并为两个日期字段(fechaAlta和fechaBaja)创建了两个维度。此外,我还创建了这个计算字段:
按月分列:
Calculation subcube: {[Measures].[Altas]}, [Fecha Alta].[Mes].MEMBERS Calculation formula: sum({Descendants([Fecha Alta].currentmember,[Fecha Alta].[Día])},[Measures].[Activo])活跃于今天:
Calculation subcube: {[Measures].[Inscritos]},[Fecha Alta].MEMBERS Calculation formula: sum({Periodstodate([Fecha Alta].[(Todos)])},[Measures].[Activo])我不知道如何贴现未注册的用户,从fechaBaja显示的那一天开始。
谢谢。
发布于 2009-02-13 00:05:39
这是一个典型的缓慢变化的维度问题。您所描述的是类型2缓慢变化的维度(请参阅这里 )。
您需要确保您的用户维度有一个代理键。然后,每次用户更改状态时,在用户表中创建一个新记录,然后使用有效日期来控制要插入事实表中的代理键。这将让您在任何时间点报告用户的有效状态。
发布于 2009-02-20 11:17:27
我认为您需要一个“用户状态”维度,然后您可以根据时间显示这一点,度量是用户的数量。
https://stackoverflow.com/questions/536939
复制相似问题