按网站分组关键字

时间:2010-06-01 02:00:59

标签: sql-server-2005 reporting-services reportingservices-2005 bids

我今天在这里找到了很多有用的帮助,我真的很感激。这应该是当天的最后一个:

我列出了每个网站排名前10位的关键字,按访问次数排序,按日期排序。记录需要按如下方式排序(原谅格式化):

        2010-05 2010-04
site1.com   keyword1    apples  wine
    keyword1 visits 100 12
    keyword2    oranges water
    keyword2 visits 99  10
site2.com   keyword1    blueberry   cornbread
    keyword1 visits 90  100
    keyword2    squares biscuits
    keyword2 visits 80  99

基本上我需要完成的工作涉及分组,但我似乎无法弄明白。我是走在正确的道路上,还是有另一种方法来实现这一目标,还是只是不可能?

修改: 数据集是这样的(csv):

site_name,date,keyword,visits
site1.com,2010-04,apples,100
site1.com,2010-04,oranges,99
site1.com,2010-05,wine,12
site1.com,2010-05,water,10
site2.com,2010-04,cornbread,100
site2.com,2010-04,biscuits,99
site2.com,2010-05,blueberry,90
site2.com,2010-05,squares,80

在X轴上,我们需要有'日期'值 在Y轴上,我们需要将'site_name'作为主要值,但是我们需要将'关键字'跟随相应的'访问'进行分组。

2 个答案:

答案 0 :(得分:1)

好的,我认为你正走在正确的轨道上。让这些组合正确有点棘手,但这应该能够通过分组来解决。

您需要的是一个矩阵(您可以在其中拥有动态行列的表)并将日期放在顶部的组中。然后按站点名称对行进行分组,然后(我认为)按关键字进行分组。

如果按关键字分组不起作用,请尝试按行号分组(在网站名称组的范围内)?如果这不起作用,请尝试让您的数据库首先生成一个包含等级的额外列。然后你绝对可以分组。我的意思是:

site_name,date,keyword,visits,rank
site1.com,2010-04,apples,100,1
site1.com,2010-04,oranges,99,2
site1.com,2010-05,wine,12,1
site1.com,2010-05,water,10,2
site2.com,2010-04,cornbread,100,1
site2.com,2010-04,biscuits,99,2
site2.com,2010-05,blueberry,90,1
site2.com,2010-05,squares,80,2

然后你应该能够在该组中添加两行来放置关键字和访问。如果你不能,你可能不得不求助于花哨的矩形工作 - 在细节单元格中,放一个矩形,然后两个文本框,关键字位于顶部,关键字位于底部。

答案 1 :(得分:1)

在“网站”上创建行分组,然后在“关键字”

上分组子/子行

您不需要使用Matrix,因为您知道将拥有多少列,因此您可以在表格中执行此操作

所以分组会是这样的 =领域!SITE_NAME 具有相同值出现在文本框中

然后进行下一次分组 =领域!关键字 同上文本框

你可以使用SUM来计算出多少vists = SUM(Fields!vists) 在小组总数中