2013-06-24 2 views
0

У меня есть набор данных:У SSRS есть ограничение на количество полей в наборе данных?

select * from table1 --approximately 100 fields 
join table2 
on... 
join table3 
on... 

Запрос работает, когда я проверить его в SSMS.

Однако, когда я пытаюсь запустить отчет с этим запросом как набор данных, я получаю:

enter image description here

Я подумал, что, возможно, я неправильно захватывая имена полей, так что вместо select * я сделал select field1, field2...field100, но все равно получаю тот же результат.

Что я делаю неправильно?

Обратите внимание: я действительно удостоверился, что все имена полей уникальны, делая уникальный фильтр в excel.

+0

Я бы предположил, что в результирующем наборе есть повторяющиеся имена полей. SSMS прекрасно возвращает дубликаты имен на самом высоком уровне, но SSRS, вероятно, хочет, чтобы имена были уникальными. –

+0

действительно, это определенно хорошая догадка. да, я изменил имена полей, чтобы на самом деле не было дубликатов; однако все же получил тот же результат –

+0

Время для [двоичного поиска отладки] (http://programmers.stackexchange.com/questions/50552/how-to-effectively-do-manual-debugging/181223#181223)? – Jeroen

ответ

0

Я столкнулся с той же проблемой. Это было мое решение.
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 

***************** ************************************************** ************************************************** ******