VS SR Сообщить о соединении данных из нескольких наборов данных? - PullRequest
0 голосов
/ 02 октября 2019

Хотите знать, может ли кто-нибудь мне помочь, я в настоящее время изучаю отчеты SRSS, и мне было поручено составить отчет о регистрации автомобилей Pay & Display для автопарковок сотрудников и студентов, чтобы показать, зарегистрированы ли они для P & D. У меня есть отчет в виде столбца из 3 таблиц;Название, номер транспортного средства и регистрация транспортного средства. Из приведенного ниже кода, приведенного в моих наборах данных, я указываю номер транспортного средства и регистрацию транспортных средств с параметром, чтобы отфильтровывать, оплачивается ли сотрудниками или учащимся оплата и отображение. Однако у меня возникают трудности с переносом имен сотрудников и учеников в один столбец имен, поскольку они проходят через два разных набора данных. Может ли кто-нибудь помочь, пожалуйста? TIA

**-- Pay & Display Carpark Details Dataset**
SELECT * FROM Carpark_Vehicles
WHERE VehicleCustNo IN (SELECT CustID FROM [dbo].[Carpark_Customer]
                        WHERE CarParkID IN (SELECT CarParkID FROM [dbo].[Carpark_CarPark]
                                            WHERE CTypeID IN ('PD', 'SPD')))
                        --and CTypeID IN (@Carpark_type))
**--Vehicle Details Dataset**
SELECT 
 Carpark_Vehicles.VehicleID
      ,Carpark_Vehicles.RegNo
    ,VehicleCustNo
 FROM
  Carpark_Vehicles
WHERE CarPark_Vehicles.RegNo = @RegNo

**--Staff details dataset**
SELECT
StaffDetails_StaffandLeaverDetails.StaffNumber
  ,StaffDetails_StaffandLeaverDetails.LastName
  ,StaffDetails_StaffandLeaverDetails.Name1
FROM
  StaffDetails_StaffandLeaverDetails 

**--Student details dataset**
SELECT
  Student_CurrentStudentDetails.StudentNumber
  ,Student_CurrentStudentDetails.StudentID
  ,Student_CurrentStudentDetails.LastName
  ,Student_CurrentStudentDetails.FirstName
FROM
  Student_CurrentStudentDetails

**--Carpark permit type (Pay & Display) parameter**
SELECT DISTINCT
CTypeID, CASE CTypeID WHEN 'abc' THEN 'Students' WHEN 'abc' THEN 'Staff' END AS Label
FROM
  Carpark_Customer
WHERE CTypeID IN ('abc', 'Abc')

1 Ответ

0 голосов
/ 02 октября 2019

Для вашего запроса я просто взял некоторые данные. Весь этот пример даст вам идею о том, как достичь вашего конечного результата.

Примечание: это просто показывает вам, как этого достичь, вам нужно изменить в соответствии с вашим требованием.

Студент иИнформация о персонале из 2 разных таблиц

Student and Staff Info from 2 different Tables

Информация о регистрации из другого отдельного стола

Registration Info from another separate Table

Ваш окончательный результат при выборе ученика в качестве параметра

Your Final Result when Student as parameter is selected

Ваш окончательный результат при выборе персонала в качестве параметра

Your Final Result when Staff as parameter is selected

Теперь, как я этого добился?

Мой дизайн для конечного результата

enter image description here

Выражение видимости строки для вашего окончательного результата. Таблица в SSRS

enter image description here

Выражение, как показано ниже

=IIF(Parameters!ReportParameter1.Value=1,
IIF(Isnothing(Lookup(Fields!PersonId.Value,Fields!PersonId.Value,Fields!Name.Value, "DSStudentInfo")),true,false),
IIF(Isnothing(Lookup(Fields!PersonId.Value,Fields!PersonId.Value,Fields!Name.Value, "DSStaffInfo")),true,
false)
)

видимость первого имени столбца

enter image description here

видимость имени второго столбца

enter image description here

Значение данных именивыражение

enter image description here

=Lookup(Fields!PersonId.Value,Fields!PersonId.Value,Fields!Name.Value, "DSStudentInfo")

выражение значения имени второго имени

enter image description here

=Lookup(Fields!PersonId.Value,Fields!PersonId.Value,Fields!Name.Value, "DSStaffInfo")
...