Sql SSR对数据集中的字段数量有限制吗?

Sql SSR对数据集中的字段数量有限制吗?,sql,sql-server,reporting-services,reporting,Sql,Sql Server,Reporting Services,Reporting,我有一个数据集: select * from table1 --approximately 100 fields join table2 on... join table3 on... 当我在SSMS中测试它时,查询可以工作 但是,当我尝试使用此查询作为数据集运行报表时,我得到: 我认为可能是我错误地捕获了字段的名称,所以我没有执行select*而是执行了selectfield1、field2…field100,但仍然得到了相同的结果 我做错了什么 请注意,通过在excel中进行唯一筛选,我

我有一个数据集:

select * from table1 --approximately 100 fields
join table2
on...
join table3
on...
当我在SSMS中测试它时,查询可以工作

但是,当我尝试使用此查询作为数据集运行报表时,我得到:

我认为可能是我错误地捕获了字段的名称,所以我没有执行
select*
而是执行了
selectfield1、field2…field100
,但仍然得到了相同的结果

我做错了什么


请注意,通过在excel中进行唯一筛选,我确实确保了所有字段名都是唯一的。

我遇到了同样的问题。这是我的解决方案。
1) 首先测试报告边界,尝试确定可以显示的最大字段数

2) 把你的主报告做成一份分报告

3) 将其余值作为串联字符串通过参数传递

4) 使用新的子报表分析参数字符串

下面是一些VB代码帮助。将其粘贴到“报告属性”部分。 "***************************************************************************************************************************

Public Function ListToString(myList As String, Delimiter As String, Optional index As Integer = 0) As String
    '-----------------------------------------------------------------------------------
    'Purpose:
    '----This function splits a list and allows one to access the split list like a programmable array
    'Description:
    '----Input: 
    '--------myList: String containing the list created in SSRS
    '--------Delimiter: what you used to seperate/ delimit each element
    '--------index: the index you want you access
    '----Output:
    '--------ReturnString: returns Name in the format of "FirstName LastName"
    'Version Control log: (Date - Name: Description)
    '----xx/xx/xxxx     Adrian Williams     Creation of function
    '-----------------------------------------------------------------------------------

    Dim returnString As String = ""
    Dim myArray As String()

    myArray = myList.split(delimiter)
    returnString = trim(myArray(index))


    Return returnString
End Function

'************************************************************************************************************************************************************************************************************************************************************************************************************************我猜结果集中有重复的字段名。SSMS可以在最高级别返回重复的名称,但SSRS可能希望名称是唯一的。事实上,这绝对是一个很好的猜测。是的,我确实更改了字段名称,因此没有重复的字段;但是,某些用户仍然可以获得相同的结果时间?您也可以在解决方案资源管理器中右键单击有问题的报告,然后单击“查看代码”。这将向您展示报告模板背后的XML。对“fieldFirstName”执行CTRL+F组合键,查看它是否显示在不应该出现的地方。
Public Function ListToString(myList As String, Delimiter As String, Optional index As Integer = 0) As String
    '-----------------------------------------------------------------------------------
    'Purpose:
    '----This function splits a list and allows one to access the split list like a programmable array
    'Description:
    '----Input: 
    '--------myList: String containing the list created in SSRS
    '--------Delimiter: what you used to seperate/ delimit each element
    '--------index: the index you want you access
    '----Output:
    '--------ReturnString: returns Name in the format of "FirstName LastName"
    'Version Control log: (Date - Name: Description)
    '----xx/xx/xxxx     Adrian Williams     Creation of function
    '-----------------------------------------------------------------------------------

    Dim returnString As String = ""
    Dim myArray As String()

    myArray = myList.split(delimiter)
    returnString = trim(myArray(index))


    Return returnString
End Function