3

Так я работаю на отчет фактурирования в SSRS 2008 База данных содержит 4 соответствующие таблицы:
- Work Order
- Труд
- Материалы
- Услуги (субподрядчики)SSRS отчет с несколькими дочерними таблицами

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

Моя проблема заключается в следующем: я могу сделать набор данных, который работает с Work Order + any ONE дочерних таблиц, однако я не могу понять, как делать все 3! Я не могу просто сделать параметр для WONUM с 3 (или 4) таблицами на нем, потому что в этом отчете будет много рабочих заказов (по одной на страницу). Когда я использую набор данных с таблицей рабочего заказа и одной дочерней таблицей, я группирую WONUM, затем выполняю разрыв страницы между каждым экземпляром.

Есть идеи, как с этим обращаться? Большинство ответов, с которыми я столкнулся, говорят о создании одного гигантского набора данных «union all», а затем группируют его после этого или используют подрепорты для каждой дочерней таблицы. Тем не менее, мы будем экспортировать этот отчет в Excel, и мне сказали, что вложенные отчеты не отображаются должным образом при экспорте.

Любая помощь очень ценится! Благодаря!

EDIT:

Ниже приведены 4 запросов Я хотел бы использовать:

Это возвращает все заказы на выполнение работ, которые должны быть выставлен счет:

SELECT wonum, description, location FROM workorder WHERE billable=1 AND status='COMP' 

Это извлекает рабочая сила для заказа на работу (указана @wonum)

SELECT regularhrs, laborrate, totalcost FROM labor WHERE [email protected]  

Это возвращает материалы для заказа работы (указанного @wonum)

SELECT description, quantity, unitcost, totalcost FROM material WHERE [email protected] 

Это получающие услуги (субподрядчик часов) для заказа работы (указанного @wonum)

SELECT description, hours, laborrate, totalcost FROM service WHERE [email protected] 

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

Я могу получить снимок экрана моего текущего отчета, если это тоже поможет. Просто дайте мне знать в комментариях!

+0

Если вы можете предоставить основную структуру таблицы и пример того, как вы хотите, чтобы результаты выглядели, это было бы очень полезно. В общем, я бы присоединил (не объединил) все таблицы и сделал группировку в таблице с использованием одного набора данных. – StevenWhite

+0

@StevenWhite - Я нарисую его и предоставил 4 вопроса, которые я использую –

ответ

1

Ваш запрос должен выглядеть как этот

SELECT WO.wonum, WO.description as WorkorderDescription, WO.location, L.regularhrs, L.laborrate, L.totalcost, 
M.description as MaterialDescription, M.quantity, M.unitcost, M.totalcost as MaterialCost, 
S.description as ServiceDescription, S.hours, S.laborrate, S.totalcost as ServiceCost 
FROM workorder AS WO 
INNER JOIN labor AS L on L.refwo = WO.wonum 
INNER JOIN material AS M on M.refwo = WO.wonum 
INNER JOIN service AS S on S.refwo = WO.wonum 
WHERE billable = 1 AND STATUS = 'COMP' 

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

+0

OK Это страх, который у меня был. Я попробую с этим запросом и группировками и посмотрю, как это получится. В случае успеха я отмечу это как принятые ответы! Еще раз спасибо! –