SSRS — группировка нескольких строк на странице на основе столбца varchar

Я пытаюсь создать отчет SSRS, в котором будут отображаться все расписания на человека за отчетный период (месяц) на одной странице. Тем не менее, я изо всех сил пытаюсь понять, как результат должен быть сгруппирован. Пока все, что я, кажется, могу сделать, это получить одну строку для каждого указанного пользователя на странице.

Мой T-SQL выглядит так:

SELECT tblADSI.DisplayName AS FullName,
       ds.[Date of Work],
       ds.Hours,
       ds.[Description of Work],
       ds.Mileage,
       ds.Subsistence,
       ds.[Activity Code] AS CompanyRef,
       c.[Cost Center] AS DiaryClient,
       r.Role,
       c.Description AS Project,
       ds.[Accounting Period],
       ds.[Rechargeable Items]
FROM [Diary Sheets] ds
    LEFT JOIN Commissions c on c.[Commission Code] = ds.[Commission Code]
    LEFT JOIN dbo.Roles r on r.Commission = ds.[Commission Code] and r.EmployeeID = ds.EmployeeID
    LEFT JOIN [Accounting Period] ap ON ap.ID = ds.[Accounting Period ID]
    LEFT JOIN (SELECT displayName,
        EmployeeID FROM OpenQuery ( 
      ADSI,  
      'SELECT
        displayName,
        EmployeeID
      FROM  ''LDAP://example.domaincontroller.com/OU=Unit1,DC=domaincontroller,DC=com'' 
      WHERE objectCategory = ''person''
      AND objectClass =  ''User''
      ') AS tblADSI
      UNION
      SELECT displayName,
        EmployeeID
    FROM OpenQuery ( 
      ADSI,  
      'SELECT 
        displayName,
        EmployeeID
      FROM  ''example.domaincontroller.com/OU=Unit2,DC=domaincontroller,DC=com'' 
      WHERE objectCategory = ''person''
      AND objectClass =  ''User''
      ') AS tblADSI 
    ) AS tblADSI
   ON tblADSI.EmployeeID = ds.employeeID
WHERE c.[Commission Code] = 'Example Commission'
      AND ap.[Accounting Period] = 'Febuary 2015'
ORDER BY FullName, ds.[Date of Work], ds.[Activity Code]

Пример вывода из SQL будет.

-- Name         Date Of Work     Hours
   John Smith   01/02/2015       9
   John Smith   02/02/2015       10
   Jane Doe     01/02/2015       5
   Jane Doe     02/02/2015       5
   Mike Smith   01/02/2015       8
   Mike Smith   02/02/2015       9

Итак, используя приведенный выше SQL в качестве моего примера, я построил отчет, который должен отображать на странице каждого пользователя (на основе параметра комиссии, установленного пользователями) в пределах определенной комиссии. Однако все, что, кажется, происходит в отчете, это то, что он показывает одну строку (самую последнюю запись за отчетный период за февраль) и ничего более. Например:

-- Name         Date Of Work     Hours
   John Smith   01/02/2015       9
   Jane Doe     01/02/2015       5
   Mike Smith   01/02/2015       8

На самом деле мне нужно, чтобы он отображал все листы дневника за отчетный период для каждого пользователя, поэтому в отчете на примере Джона Смита это будет выглядеть так:

-- Name         Date Of Work     Hours
   John Smith   01/02/2015       9
   John Smith   02/02/2015       10

И так далее и тому подобное для каждого второго пользователя на новой странице.

Кто-нибудь знает, как я могу этого добиться? Я изучил и попробовал некоторую группировку SSRS (которая, как я подозреваю, является решением), но я совершенно в растерянности. Какой бы тип группировки я ни пробовал, всегда получается одно и то же.

Я пишу SQL в течение нескольких лет, но я относительно новичок в SSRS, и мои знания SSRS полностью самообучены, поэтому некоторые из моих терминов/форматирования, вероятно, неверны.


person Curtis Elliott    schedule 19.03.2015    source источник
comment
в табликсе вы, вероятно, просто группируете по FullName, добавьте в группировку [Date of Work].   -  person mxix    schedule 19.03.2015
comment
Вы можете попробовать установить параметр «Разрывы страниц» в свойствах группы строк в соответствии с вашими потребностями (например, между каждым экземпляром группы). Это то, что вам нужно сделать?   -  person NickyvV    schedule 19.03.2015


Ответы (1)


Мне удалось исправить это, добавив все столбцы из моего оператора SELECT в качестве родительских групп строк в моем табликсе. Спасибо mxix и NickyvV за ваши предложения, очень признательны.

person Curtis Elliott    schedule 23.03.2015