不确定如何最好地解释这个,但我有一个表,例如看起来像这样:
Date WebSitePage Visits
01/01/2016 Visits 50
01/01/2016 Basket 40
01/01/2016 CheckOut 35
01/01/2016 ThankYou 25
02/01/2016 Visits 43
02/01/2016 Basket 23
02/01/2016 CheckOut 20
02/01/2016 ThankYou 12
正如您所看到的,它们是网站页面(本例中为虚构)。我想创建一个查询,无论是通过计算访问查询还是SQL或VBA(限制因为您无法在Access SQL中使用CASE语句),计算WebSitePage转换百分比,例如Basket / CheckOut,然后CheckOut / ThankYou以及访问ThankYou / Visits等的转换。
我正在努力学习如何编译查询或编写计算。 它通常在Excel中很简单。但我也不想将WebSitePage分成不同的列。
有人能指出我正确的方向吗?
答案 0 :(得分:0)
您可以使用此查询获取4个不同列中的4个不同计数,以简化任务:
SELECT [Date],
Sum(IIf(WebSitePage = "Visits", Visits, 0)) AS Visits,
Sum(IIf(WebSitePage = "Basket", Visits, 0)) AS Basket,
Sum(IIf(WebSitePage = "CheckOut", Visits, 0)) AS CheckOut,
Sum(IIf(WebSitePage = "ThankYou", Visits, 0)) AS ThankYou
FROM mytable
GROUP BY [Date]
请注意,使用IIf
,您可以解决在更多符合ISO的SQL数据库中使用CASE WHEN
表达式的问题。
如果您将上述语句保存为MS Access中的查询(让我们称之为MyQuery),那么您可以执行以下操作:
SELECT [Date],
100*Basket/CheckOut AS Basket_CheckOut_Pct,
100*CheckOut/ThankYou AS CheckOut_ThankYou_Pct,
100*ThankYou/Visits AS ThankYou_Visits_Pct
FROM MyQuery