我有一张包含数百万行的表格。每行代表一个用户session
。有一个名为user
的列并不是唯一的。每个用户可以有多个会话。我想使用Analysis服务来获取每个用户的附加属性。示例:有多少用户(唯一!)的会话超过x分钟。如果不改变数据库,这怎么可能呢?注意:没有查找表,我无法创建一个
我现在能够问的是,会议时间长于x分钟。
答案 0 :(得分:1)
您是否已在此表的顶部安装了Analysis Services多维数据集?如果这样做,您可以将用户列设置为事实维度,然后使用用户维度作为唯一计算的基础。
您已经采用了哪种结构?
编辑:好的,所以你创建了一个用户事实维度,计算成员的MDX可能如下所示:
WITH MEMBER UserCount AS Count(Filter([User].[User].[User], [Measures].[YourMeasure] > 10)),
NON_EMPTY_BEHAVIOR = { [Measures].[YourMeasure] }
SELECT UserCount ON 0 FROM [Cube]
您可以将其作为计算成员放入多维数据集中,请参阅Visual Studio中多维数据集设计器中的计算选项卡。
根据您的设置,您可能需要将“Count”更改为“DistinctCount”。
请注意,应该正确设置“NON_EMPTY_BEHAVIOR”标志,我假设你有一个基于会话长度的度量?
答案 1 :(得分:0)
这比我想象的要简单得多。在用户上添加具有不同计数的度量可以解决问题。