【发布时间】:2011-09-08 08:17:58
【问题描述】:
我正在为我们的网站设置一个 SSAS 项目,但我无法找到好的价值,因为它在普通 SQL 查询中非常简单。
这是我的设置:我有一个数据仓库,其中包含我网站上的用户连接事实。所以我有一个成员维度和一个日期维度。以下是我要查找的 KPI:“用户访问我们网站的平均天数”。
举个例子:
Member Day
a 1
a 1
a 2
b 2
a 4
a 5
b 5
a 6
在这种情况下,KPI 应该给出 3,5(a=5,b=2)。在简单的 SQL 中,我会在 group by 上对 group by 进行平均(这是我想到的第一个请求,也许有更好的请求)。
但是,一旦我尝试将维度和事实组合在一起,我就找不到合适的衡量标准。
我在寻找错误的东西吗?我应该放弃我的 SQL 思维方式吗?您将如何获得我需要的价值?
【问题讨论】:
-
你解释一下你是怎么得到这个的?
In this case the KPI should give 3,5 (a=5, b=2). -
是的,换句话说,用户 a 在第 1 天(两次)、第 2、第 4、第 5 和第 6 天来。即 5 天(和 6 次访问)。用户 b 将在第 2 天和第 5 天到来,这进行了 2 天(和 2 次访问)。因此,用户访问我的应用程序的平均天数为 (5 + 2) / 2。在 SQL 中,我会执行 SELECT AVG(Visits) FROM(SELECT Member, COUNT() Visits FROM (SELECT Member, COUNT() VisitPerDay FROM Connection GROUP BY Member, Day) t1 GROUP BY t1.MemberId) t2 (抱歉格式错误,我不知道如何在 cmets 中执行)
-
你可以在你的代码周围加上`来获取代码格式。
标签: sql ssas business-intelligence