所以我做了一个封面报告我的目标是在每页输出一个给定的人的销售额,而不是该人的销售总额。印刷每页销售数量不是全部销售数量
考虑这个表(考虑我们只有1人):
personID sales date
------- ----- -----
111 10 2010-02-02
111 15 2010-02-03
111 5 2010-03-03
111 7 2010-04-03
111 8 2011-01-01
111 9 2013-01-01
111 20 2014-01-01
111 25 2014-03-02
每一页上的情景:
- 它显示了3个结果(我想)
- 但每页下方显示99个销售额(我不想)
我想要的是:
第1页上显示30个销售(3行)
第2页上显示24个销售(3行)
页和最后一页它显示45(2其余行)
我所做的是,(我不知道如果它的正确方法):
DENSE_RANK() OVER (ORDER BY sales) AS Row,
convert(integer,ROW_NUMBER() over(order by sales)/4) as page
它把我的表到
personID sales date Row page
------- ----- ----- ---- ----
111 10 2010-02-02 1 0
111 15 2010-02-03 2 0
111 5 2010-03-03 3 0
111 7 2010-04-03 4 1
111 8 2011-01-01 5 1
111 9 2013-01-01 6 1
111 20 2014-01-01 7 1
111 25 2014-03-02 8 2
正如你可以看到有另外一个问题是:
一日3行了(0)
但排4-5-6-7拿到第1页这是不对的,应该已经排4-5-6页1
和行7-8页2
我也是使用JavaScript处理日食
<method name="onPageEnd"><![CDATA[var sales = this.getInstancesByElementName("sales");
var tmp=0;
if(sales != null)
{
for(var i=0; i< sales.length; i++)
{
for(var j=0;j<3;j++)
{
//Instance of DataItemInstance
var sales = sales[i];
tmp+=parseInt(sales.getValue());
}
}
}
您可以扩展为什么不利用本机“分页间隔”属性来处理每页的项目数? – Dominique