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行组+列组=行号问题_Reporting Services_Row Number - Fatal编程技术网

Reporting services SSRS行组+列组=行号问题

Reporting services SSRS行组+列组=行号问题,reporting-services,row-number,Reporting Services,Row Number,我回来问另一个SSRS问题:- 我在处理调查数据。我有一个程序,返回组织对每个问题的回答计数。因此,我的报告定义为行的“组织上的组”,列的“应答上的组”。组织的数量和答案都是可变的。这是预期的效果。我尝试在组织旁边添加行数,以便显示排名,但每个组织每个问题有一行这一事实意味着每个组织有八行 下面是一个例子: 以下是我的报告定义: 秩表达式当前为:=RowNumberNothing 理想情况下,排名应该是1、2、3、4等等。。。我尝试了行组、列组的作用域,什么都没有。没有帮助 任何帮助都将不胜感

我回来问另一个SSRS问题:-

我在处理调查数据。我有一个程序,返回组织对每个问题的回答计数。因此,我的报告定义为行的“组织上的组”,列的“应答上的组”。组织的数量和答案都是可变的。这是预期的效果。我尝试在组织旁边添加行数,以便显示排名,但每个组织每个问题有一行这一事实意味着每个组织有八行

下面是一个例子:

以下是我的报告定义: 秩表达式当前为:=RowNumberNothing

理想情况下,排名应该是1、2、3、4等等。。。我尝试了行组、列组的作用域,什么都没有。没有帮助


任何帮助都将不胜感激

这里要做的最好的事情是使秩列等于=RowCount/8


因为您确定每个可见行总共包含8行,所以这应该可以正常工作。

在现有列旁边添加另一个列组列,并在该列中放置另一个表达式,该表达式从列组rowcount中获取值?然后除以8。然后使旧列不可见。

我似乎找到了一个解决方案,但感觉像是一个黑客。。。我不回答这个问题,看看是否有人能提供一个更好的解决方案

我现在的排名是: =RowNumberNothing/CountFields!答案文本。值


一切似乎都很好。我想我应该算算…=0,然后是RowNumber,否则我就得到了…

您是否绝对确定使用RowNumberNameOfOrganizationGroup不起作用

单击矩阵,单击左上角的选择框以选择整个对象,然后右键单击选择边框并获取属性。切换到“组”选项卡,在“行”部分查看组的名称。这就是RowNumber函数的作用域

如果你已经知道并试过了,我向你道歉——我不是想假设你不知道。从你的问题来看,这并不是解决问题的100%的办法。

尝试使用:

runningvalue(Fields!AnswerText.Value,CountDistinct,"NameOfOrganizationGroup") 

如果是矩阵,将范围的名称从行范围更改为矩阵范围。

也有同样令人沮丧的问题;浪费了很多时间。最终,该解决方案也有助于:

=RunningValue(CountDistinct("YourTableName"),Count,"YourTableName")
这里的技巧不是使用表/矩阵中的组名,而是使用表本身的名称。是的,人们会认为在函数RowNumber中为作用域使用表名应该有效,但事实并非如此。

我使用自定义代码

将此添加到报告配置的代码部分:

Dim private count as integer = 0
Dim private iniRow as integer = 0
Public function nroFila(Byval rowNum as integer) as integer
    if iniRow = 0 then
        iniRow = rowNum
    end if

    if rowNum = iniRow then
        count = 0
    end if

    count = count + 1
    Return count
End function
然后,在组内的单元格中调用函数:

=Code.nroFila(RowNumber(Nothing))

乔恩,谢谢你的回复。问题是我忘了提到答案的数量是可变的。。。我忘了提一下……在没有其他东西出现的情况下,这种方法正在发挥作用,尽管它看起来像是一种黑客行为。对我来说,如果它显示聚合数据,它应该在聚合上显示行数,而不是原始数据…注意:此解决方案仅在每个组包含相同数量的详细记录时有效。谢谢,这解决了一个困扰我好几天的问题。+1用于此。。这有助于创造奇迹!!我的表名是DataSetI的名称,我认为我们应该输入DataSetName而不是YourTableName,因此它应该是类似于=RunningValueCountDistinctYourTableName,Count,YourDataSetName的