在折线图上排序和过滤不适用于ssrs

时间:2013-12-05 15:15:50

标签: reporting-services ssrs-2008 reportingservices-2005

我需要创建一个折线图,其中显示前10个产品当月的销售额和前几个月的最高销售额。

我对数据集的查询是这样的:

**select [Year], [Month]  , ProductName, Sales from ABC;**

我用

插入了ssrs折线图
Values :  Sum(Sales)

Category Group : Month

Series Groups : ProductName 

我右键点击了系列组并更改了过滤和排序属性,如下所示:

过滤:

Expression : Sales
Operator : Top N
Value = 10 

排序:

Sort by : Sales  Order by : Z to A

从逻辑上讲,我预计会看到销量最高的十大产品按降序排列,但我没有看到这种情况发生。

相反,我看到的是,线图的图例按随机顺序排序,图例中显示的前10个产品仅显示为折线图的一部分。谁能告诉我如何解决它?

请告诉我,如果需要,我可以提供更多详细信息。

1 个答案:

答案 0 :(得分:0)

大多数时候我发现在SQL中进行聚合,过滤和排序更容易,只需使用SSRS来显示图表。您可以将数据集查询更改为:

SELECT [MONTH], [YEAR], A.ProductName, Sales
FROM ABC as A
INNER JOIN (
  SELECT TOP 10 ProductName, SUM(Sales) as SalesRank
  FROM ABC
  WHERE [MONTH] = MONTH(GETDATE()) and [YEAR] = YEAR(GETDATE())
  GROUP BY ProductName
  ORDER BY SUM(Sales) DESC
) as B on B.ProductName = A.ProductName
ORDER BY SalesRank DESC, [YEAR], [MONTH]

这样可以更轻松地按照您在报告中的预期方式运行图表。