【问题标题】:SSRS Report table grouping on multiple columnsSSRS 报告表在多列上分组
【发布时间】:2020-05-11 16:34:38
【问题描述】:

我正在尝试根据多个列对我的 SSRS 报告进行分组,但我确定我在这里遗漏了一些东西。

这是我的例子

现在我想根据第 2 列(名称)对表格进行分组,然后期待如下结果

我尝试通过添加父组和子组来进行分组,但结果出现在两个不同的列中。但我想把它放在上面的不同行中。

非常感谢任何帮助。

【问题讨论】:

    标签: reporting-services group-by multiple-columns


    【解决方案1】:

    创建一个表。

    单击第一个单元格并从下拉列表中选择Skill。您应该有一个行组(可能称为“详细信息”)

    接下来,右键单击行组并选择“添加组 - 父组”。选择“名称”作为分组依据字段并选中“添加组标题”选项。

    这将添加一个新列,暂时忽略它,我们将很快删除它。

    接下来,在组标题行中,在“技能”所在的正上方,从下拉列表中选择“名称”。

    最后,删除添加父组时添加的列。如果系统提示您选择“仅删除列”(这将保留该组)。

    (可选)设置名称单元格的背景颜色,就是这样。

    如果您仍然无法使用它,请告诉我,我将发布带有图片的完整答案。

    更新:长版

    我首先创建一个新的空白报告并添加一个数据集DataSet1,它使用以下内容重新创建您的数据集

    DECLARE @t TABLE(row_id int, [Name] varchar(10), Skill varchar(10))
    
    INSERT INTO @t VALUES
    (1, 'David', 'Oracle'),
    (2, 'David', 'Java'),
    (3, 'David', 'HTML'),
    (4, 'John', 'C#'),
    (5, 'John', 'SQL'),
    (6, 'John', 'HTML'),
    (7, 'John', 'ASP'),
    (8, 'Amy', 'Python'),
    (10, 'Asa', 'Java'),
    (11, 'Asa', 'Oracle')
    
    SELECT * FROM @t
    

    然后我插入一个表格并将技能字段拖到第一个单元格上。

    接下来,我在行组窗格中右键单击“(详细信息)”行组并选择“添加组 => 父组”

    然后我为“分组依据”列选择了“名称”并选中了“添加组标题”选项。

    表格现在看起来像这样..

    接下来,我单击了技能单元格上方的单元格(此单元格在 [名称] 行组中)并从下拉列表中选择了“名称”。

    接下来,我右键单击灰色列标题并选择“删除列”。我还删除了 2 个空白列。

    我在名称单元格中添加了一些格式,因此最终的表格设计如下所示。

    当我运行报告时,输出如下所示...

    如果您仍然感到困难,我建议使用我在上面从新的空白报告中创建的示例数据集复制上述内容,然后先进行操作,然后查看报告中的差异。

    希望这会有所帮助。

    【讨论】:

    • 嗨@Alan,感谢您的快速回复。我已经按照您提到的相同步骤进行操作,但是当我从下拉列表中选择“名称”时,它选择的是 Sum(Name),而不是实际的列。我错过了什么?能否请您发布图片,以便我可以比较我错过了什么
    • 你是为我工作的天才。感谢您的详细解释。你知道我错过了什么,当我从下拉列表中选择名称时,默认情况下它被视为 Sum(name)。所以我不得不手动输入 [name] 并且它可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多