美好的一天,
我正在使用Access SQL计算进行大脑冻结。 我有一个包含4列的表格,其中包含以下数据:
我想要实现的是基于两个页面名称的百分比计算,这些页面名称为“App Process - Print / Save”和“App Process - Shown”。因此,计算结果将是:
'应用程序流程 - 打印/保存'/'应用程序流程 - 显示'
但这也适用于每个'年'和'WeekofYear'。
实现这一目标的最简洁方法是什么?
其他结果信息: 我想要做的就是把它送到一张桌子里,很可能是一个透视表看起来像这样。
因此基本上为计算/结果创建了一个额外的列。 此表中将有其他页面具有相同的设置,但我现在仅过滤掉一个组作为示例。
此致
答案 0 :(得分:1)
使用向导创建交叉表查询 - 使用此表达式作为列名:
[Year] & "-" & [WeekNumber]
答案 1 :(得分:0)
我尝试使用SQL。你也可以尝试任何其他人。
使用pivot:
select YEAR ,page,[29],[30]
from #temp pivot
(
max([unique pageview])
FOR weekofyear IN ([29],[30])
)as p
order by
case when page='App Process - shown' then 1
when page='App Process - step 1' then 2
when page='App Process - step 2' then 3
when page='App Process - Print/Save' then 4
end
对于总计算,请使用以下查询:
select YEAR ,page,[29],[30] from
#temp pivot
(
max([unique pageview])
FOR weekofyear IN ([29],[30])
)as p
union all
select YEAR ,page,[29],[30]
from ( select a.year, a.weekofyear,'Total Print / Save calculator Conversion' as 'page',
CONVERT(DECIMAL(10, 3), a.[unique pageview])/
CONVERT(DECIMAL(10, 3), b.[unique pageview]) as 'Print / Save calculator Conversion'
from
(
select year , weekofyear , page , [unique pageview]
FROM #temp
where page in ('App Process - Print/Save')
)a inner join (
select year , '' as 'Total Print / Save calculator Conversion',weekofyear , page , [unique pageview]
FROM #temp
where page in ('App Process - shown')
)b on a.year=b.year and a.weekofyear=b.weekofyear
)c
pivot
(
max([Print / Save calculator Conversion])
FOR weekofyear IN ([29],[30])
)as p
如果您对此有任何疑虑,请告诉我们。