Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 更改行组和列组的SSRS 2012报告_Reporting Services - Fatal编程技术网

Reporting services 更改行组和列组的SSRS 2012报告

Reporting services 更改行组和列组的SSRS 2012报告,reporting-services,Reporting Services,我在数据库中有下表: A B C D ---------------- A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 ... ... 我想允许用户生成一个报告,在该报告中,他可以选择两个表列,并将它们用作X轴和Y轴-即,获取具有相应值的记录的计数,作为矩阵中的详细信息 在本例中,用户分别选择A列(数据库中的值为A1、A2和A3)和C列(数据库中的值为C1、C2

我在数据库中有下表:

    A    B    C    D
    ----------------
    A1   B1   C1   D1
    A2   B2   C2   D2
    A3   B3   C3   D3
    ...
    ...
我想允许用户生成一个报告,在该报告中,他可以选择两个表列,并将它们用作X轴和Y轴-即,获取具有相应值的记录的计数,作为矩阵中的详细信息

在本例中,用户分别选择A列(数据库中的值为A1、A2和A3)和C列(数据库中的值为C1、C2、C3)作为X和Y:

     C1   C2   C3
-----------------
A1 | 100  43   232
A2 | 232  12   23
A3 | 124  23   3434
     D1   D2   
--------------
B1 | 9    3   
B2 | 88   12   
B3 | 53   23   
B4 | 1    3   
在本例中,用户分别选择B和D作为X和Y:

     C1   C2   C3
-----------------
A1 | 100  43   232
A2 | 232  12   23
A3 | 124  23   3434
     D1   D2   
--------------
B1 | 9    3   
B2 | 88   12   
B3 | 53   23   
B4 | 1    3   
其中标题中的值分别为A、B、C、D列的不同值

我不知道这是否应该通过改变数据源、矩阵本身来实现,或者这是一个复杂的问题,应该使用多维数据集来解决

您将如何实现这一点

谢谢,
Harel

要在报告级别解决此问题,可以设置基于表达式的组,以允许出现此问题

我根据以下数据创建了一个示例:

我设置了两个参数来控制在行和列级别使用哪些列:

对于行组和列组,我使用以下表达式进行分组,并在标题中显示

行:

专栏:

=Switch(Parameters!ColumnGroup.Value = "A", Fields!A.Value
    , Parameters!ColumnGroup.Value = "B", Fields!B.Value
    , Parameters!ColumnGroup.Value = "C", Fields!C.Value
    , Parameters!ColumnGroup.Value = "D", Fields!D.Value
    )
最后,只需将
CountRows()
添加到详细信息文本框中即可显示实体计数。报告看起来不错:


因此,在报告层面上做得还不错。希望这能让您大致了解所涉及的内容,以及您是否应该在数据集级别执行此操作。

要在报告级别解决此问题,您可以设置基于表达式的组来允许此操作

我根据以下数据创建了一个示例:

我设置了两个参数来控制在行和列级别使用哪些列:

对于行组和列组,我使用以下表达式进行分组,并在标题中显示

行:

专栏:

=Switch(Parameters!ColumnGroup.Value = "A", Fields!A.Value
    , Parameters!ColumnGroup.Value = "B", Fields!B.Value
    , Parameters!ColumnGroup.Value = "C", Fields!C.Value
    , Parameters!ColumnGroup.Value = "D", Fields!D.Value
    )
最后,只需将
CountRows()
添加到详细信息文本框中即可显示实体计数。报告看起来不错:


因此,在报告层面上做得还不错。希望这能大致了解所涉及的内容,以及您是否应该在数据集级别执行此操作。

谢谢!我发现你的答案正是我所希望的答案:)谢谢!我发现你的答案正是我所希望的答案:)