Reporting services ssrs矩阵未排序且未获得其他月份

Reporting services ssrs矩阵未排序且未获得其他月份,reporting-services,ssrs-2008,ssrs-2008-r2,ssrs-2012,Reporting Services,Ssrs 2008,Ssrs 2008 R2,Ssrs 2012,我有一个类似 我正在创建一个矩阵来表示这样的数据- 问题是因为我在数据集中没有其他月份(3-12月),所以我只得到前两个月的数据(也不符合顺序)。我是SSRS的新手,非常感谢您的帮助。谢谢 在Month组属性/排序选项卡中添加以下表达式: Switch( Fields!Month.Value="Jan",1, Fields!Month.Value="Feb",2, Fields!Month.Value="Mar",3, Fields!Month.Value="Apr",4, Fields!M

我有一个类似

我正在创建一个矩阵来表示这样的数据-


问题是因为我在数据集中没有其他月份(3-12月),所以我只得到前两个月的数据(也不符合顺序)。我是SSRS的新手,非常感谢您的帮助。谢谢

Month
组属性/排序选项卡中添加以下表达式:

Switch(
Fields!Month.Value="Jan",1,
Fields!Month.Value="Feb",2,
Fields!Month.Value="Mar",3,
Fields!Month.Value="Apr",4,
Fields!Month.Value="May",5,
Fields!Month.Value="Jun",6,
Fields!Month.Value="Jul",7,
Fields!Month.Value="Aug",8,
Fields!Month.Value="Sep",9,
Fields!Month.Value="Oct",10,
Fields!Month.Value="Nov",11,
Fields!Month.Value="Dec",12
)

顺序设置中也设置
A-Z

我也有类似的情况。我的解决方案是使用UNION和CROSE JOIN将每个月都包含在数据集中。使用交叉联接包括部门和月份的所有可能组合,而不管您是否有数据,但将其金额设置为0。像这样:

您的原始选择声明
联合
选择D.部门,M.月,0作为金额

从月份M交叉连接部门D

如果您可以在存储过程中使用PIVOT生成矩阵数据,这将更加容易。这种排序方法会对月份(一月、二月等)进行排序,但其他月份不会出现,如三月、四月、五月……@Paul,如果月份出现与否不是问题。表达式将只对当前月份进行排序。我打算建议将数据加入完整的月份列表,但这也会起作用。