如何按Tablix中的总和计算字段进行排序

时间:2013-06-19 19:33:27

标签: sql tsql sum ssrs-tablix

我在Microsoft Visual Studio 2010中有一个包含Tablix的报表。我有按月分组的客户销售列表。我想为每个客户添加所有月份的总计。然后我想按总计下降量排序。我已经添加了总计,但我无法弄清楚如何对它进行排序。有什么建议吗?

以下是初始数据集查询:

SELECT
Customer, CustomerName, FiscalMonthNum, FiscalYear, SalesDlr
FROM
CustomerSalesDollars
WHERE
FiscalYear IN ('2013')
ORDER BY
SalesDlr DESC

1 个答案:

答案 0 :(得分:1)

with CSD as (
    select Customer, CustomerName, FiscalMonthNum, FiscalYear, SalesDlr
    from CustomerSalesDollars
    WHERE FiscalYear in ('2013')
), YearlyTotals as (
    select FiscalYear, Customer, CustomerName, SUM(SalesDlr) as YearlyTotal
    from CSD
    group by FiscalYear, Customer, CustomerName
)

select * from YearlyTotals
order by YearlyTotal desc

如果您仍想要所有月度细分:

with CSD as (
    select Customer, CustomerName, FiscalMonthNum, FiscalYear, SalesDlr
    from CustomerSalesDollars
    WHERE FiscalYear in ('2013')
), YearlyTotals as (
    select FiscalYear, Customer, CustomerName, SUM(SalesDlr) as YearlyTotal
    from CSD
    group by FiscalYear, Customer, CustomerName
)

select CSD.*, YT.YearlyTotal from YearlyTotals YT
join CSD on CSD.FiscalYear = YT.FiscalYear
and CSD.Customer = YT.Customer
and CSD.CustomerName = YT.CustomerName
order by YearlyTotal desc, CSD.SalesDlr desc