Создание отчета SSRS из нескольких наборов данных - PullRequest
0 голосов
/ 19 декабря 2018

Привет. Я пытаюсь создать отчет SSRS, используя несколько datasets.Отчет о деталях отеля, таких как идентификатор отеля, название, город, ссылка на веб-сайт и информация об отеле.Ниже приведен скриншот наборов данных:

enter image description here

BackupReport содержит идентификатор отеля, название, город и т. Д., А BackupSubReport содержит другие метаданные, относящиеся к конкретному отелю,

Ниже приведен мой отчет. Макет дизайна:

enter image description here

Теперь при предварительном просмотре отчета я получаю идентификатор отеля, название и город длясначала все отели, затем ссылки на отели для всех отелей и, наконец, метаданные отеля, как показано ниже:

enter image description here enter image description here enter image description here

Фактический отчет должен выглядеть следующим образом:

enter image description here

Любая идея о том, как это исправить.Я новичок в SSRS, поэтому не очень знаком со всеми особенностями дизайна.Я проверил этот пост здесь , но это о конкретной функции.Я прочитал о lookup и multilookup функциях, но не уверен, как их применить здесь, чтобы исправить мою проблему?

Любые комментарии будут полезны.

1 Ответ

0 голосов
/ 20 декабря 2018

Ну, ваш желаемый результат в SSRS, как правило, в подчиненном отчете, в котором вы имеете в основном отчете все идентификаторы отелей, и если вы щелкнете по одному идентификатору, вы перейдете в вложенный отчет с подробными данными (как на вашей картинке).

В SSRS у вас обычно есть все данные для одного идентификатора отеля в одной строке.Если у вас есть два набора данных, вы объединяете данные с Lookup().Поместите таблицу в свой отчет и добавьте в первые два текстовых поля поля Hotel ID и Vendor Name из набора данных BackupReport:

'Data from DataSet1
| APA-HotelParsing_HotelID | VendorName |

'Data from DataSet1 combined with DataSet2
| APA-HotelParsing_HotelID | VendorName | GoogleValue |

Чтобы получить Google Value, напишите следующее выражение в третьемtextbox:

=Lookup(Fields!APA-HotelParsing_HotelID.Value, Fields!APA-HotelParsing_HotelID.Value, Fields!GoogleValue.Value, "BackupSubReport")

Примените шаг поиска еще раз и соберите все свои данные в одну строку.

Если вы не хотите работать с подотчетом и просто отображать данные, как на картинке, вы можетесделать обходной путь и поместить все данные в одно текстовое поле.Так будет выглядеть твоя картинка.Вы должны написать выражение, подобное этому, в текстовом поле подробностей таблицы:

="Hotel ID: " & Fields!APA-HotelParsing_HotelID.Value & Space(10) & 
 "AA Hotel Name: " & Fields!VendorName.Value & Space(10) & 
 "City Code: " & Fields!CityCode.Value & VbNewLine & 
 Lookup(Fields!APA-HotelParsing_HotelID.Value, 
        Fields!APA-HotelParsing_HotelID.Value, 
        Fields!GoogleValue.Value, "BackupSubReport"
        )

И так далее ... Таким образом, вы получаете всю информацию в одном текстовом поле, и, поскольку она находится в разделе подробностей, она получит автоматическиповторяется для каждого ряда.

...