【问题标题】:How to show data in column in SSRS如何在 SSRS 的列中显示数据
【发布时间】:2013-10-04 13:17:03
【问题描述】:

我正在使用 SSRS 进行报告,我的报告解决方案在 Visual Studio 2008 Business Intelligence Development Studio 中。

我有一份报告,其中的数据应该以这种格式显示。

我在我的表中添加了一个列组,其中包含客户名称和详细信息的值,数据以垂直格式显示,即一列接一列。

我的问题:

每行应该只有三列,在三个记录之后下一行应该开始,并且再次显示不超过三个记录,如上图所示。

我的尝试: 我尝试添加一个行组,并在其中给出了表达式

= Ceiling(Fields!Row_Count.Value/3) 这里的 Row_Count 是一个来自我的查询的字段,它包含记录的序列号。

我的 SQl 查询

SELECT Row_Number() over(order by table_ID) AS Row_Count, Field_1,Field_2 from MyTable

在我的列组中,我有 客户名称,在我的行组中,我有客户的其他详细信息。数据正在按列填充,但问题是它在三条记录后没有破坏当前行。 下面是我的报告表。

【问题讨论】:

    标签: sql-server reporting-services ssrs-2008 ssrs-tablix ssrs-grouping


    【解决方案1】:

    你走在正确的轨道上。假设您有这样的数据:

    我已经创建了一个这样的 tablix:

    行组表达式为:

    =Ceiling(Fields!Row_Count.Value / 3)
    

    这与 Column Group 表达式一起使用以拆分为三列:

    =(Fields!Row_Count.Value - 1) Mod 3
    

    与您的 tablix 相比,要注意的另一件事是 CustomerName 在表标题行中不是,而是有两个行标题行,一个用于 CustomerName和一个Details

    这对我来说看起来不错,显然你可以格式化来品尝:

    【讨论】:

    • 我不确定你的意思;看起来您的行组表达式是正确的,但您没有提及您的列组表达式 - 我添加了我用来让我的报告示例正常工作的表达式。此外,在您的屏幕截图中,您的 Customer Name 字段不在行组中,而是在表头中 - 您需要为两个数据集字段设置两个行组标题。那么这些是您需要在报表设计器中进行的更改吗?
    • =Fields!First_Name.Value 是我现在列组中的内容,我是否需要添加此 Row_Count.Value - 1) Mod 3 而不是我之前的代码?
    • 是的,没错,在这种情况下,只有Row_Count 值用于行和列分组;尝试将 Column Group 表达式更改为 =(Fields!Row_Count.Value - 1) Mod 3 ,看看情况如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多