按s-s-rS中的特定列名矩阵排序

Posted

技术标签:

【中文标题】按s-s-rS中的特定列名矩阵排序【英文标题】:Sort by specific Column name Matrix in s-s-rS 【发布时间】:2021-05-06 15:08:54 【问题描述】:

我有多个表,在 sql 中有一些行和列。 列就像(Key, column1,column2,column3),我在sql中做了unpivot表。

并在 s-s-rs 中获得数据集,例如:TableName, Key,ColumnName,ColumnValue

我通过设置filter = "TableName"为每个表创建了多个矩阵,如下面的结构:

----------------------
Key     | [ColumnName]
----------------------
[Key]   | [ColumnValue]
------------------------

问题:如何根据 s-s-rS 矩阵中的列进行排序(排序)。正如我所说的那样,我有多个矩阵。第一个矩阵我想按 Column1 排序,第 2 个矩阵按 Column2 排序,第 3 个矩阵按 Column2 和 Column3 在哪里需要提及按某个列名排序?

到目前为止,我已经尝试对我的第一个 Matrix 进行排序.. 使用 "Row Group Properties ----> Sorting ---> Expression : SUM(IIF(ColumnName="Column1",ColumnValue,0)), 进行了尝试,但没有成功。我也试过COUNT 而不是SUM。到目前为止没有运气。

【问题讨论】:

注意:有些列返回数字...有些列类似于文本(字符串) 【参考方案1】:

我就是这样解决的... 因此,如果我们想要像“按 Column1 排序”,那么在 unpivot 之后将您的数据集放入矩阵中。转到要按特定列排序的矩阵(在我的情况下为column1)行组属性---->排序---->添加--->表达式:

MAX( 
IIF(Fields!ColumnName.Value="Column1",Fields!ColumnValue.Value,Nothing) 
)

如果您还想将 Column2 添加到此矩阵进行排序,则在设置第一个表达式后点击“Ok”并在同一窗口中单击--->添加--->表达式---->相同的查询但使用您的列名(例如 Column2)。

希望这对某人有所帮助。

【讨论】:

以上是关于按s-s-rS中的特定列名矩阵排序的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 根据矩阵/tablix 中的特定列类别添加百分比列

如何使 s-s-rs 矩阵中的列不可见

子报告中的 s-s-rS 2008 交互式排序未按预期工作

带有手动添加列的 s-s-rS 排序矩阵

如何计算按列名分组的数据框/矩阵中的平均值和标准差

按任意指定顺序重新排序R中的列名[重复]