1

У меня есть отчет SSRS Matrix, который я построил в построителе отчетов 3.0. Данные выглядят неплохо, но строки не выстраиваются в линию. Каждая ячейка находится в отдельной строке, что делает отчет трудным следить и читать.Ячейки не выстраиваются в каждую строку

Вот скриншот:

Sample Report

Вот примерные данные о том, что отчет основан на:

SELECT 's111' AS sessionID, 'q1' AS questionID, 'q1_a1' AS answerID, 
'True/False : The Sun orbits the Earth.' AS stem, 
'True' AS SelectedItem, 'False' AS UnselectedItem 
UNION ALL 
SELECT 's111', 'q2', 'q2_a1', 
'MCQ: What planet is the largest gas giant in our solar system?', 
'Jupiter', 'Moon' 
UNION ALL 
SELECT 's111', 'q2', 'q2_a2', 
'MCQ: What planet is the largest gas giant in our solar system?', 
'Jupiter', 'Venus' 
UNION ALL 
SELECT 's111', 'q2', 'q2_a3', 
'MCQ: What planet is the largest gas giant in our solar system?', 
'Jupiter', 'Vulcan' 
UNION ALL 
SELECT 's111', 'q2', 'q2_a4', 
'MCQ: What planet is the largest gas giant in our solar system?', 
'Jupiter', 'Pluto' 
UNION ALL 
SELECT 's111', 'q3', 'q3_a1', 
'MCQ/Many: Pick the items that best describe why Mars does NOT currently support complex life.', 
'God hates Martians', 'Intense radiation from the Sun' 
UNION ALL 
SELECT 's111', 'q3', 'q3_a2', 
'MCQ/Many: Pick the items that best describe why Mars does NOT currently support complex life.', 
'God hates Martians', 'Very dry, little to no liquid water' 
UNION ALL 
SELECT 's111', 'q3', 'q3_a3', 
'MCQ/Many: Pick the items that best describe why Mars does NOT currently support complex life.', 
'God hates Martians', 'very cold' 
UNION ALL 
SELECT 's111', 'q3', 'q3_a4', 
'MCQ/Many: Pick the items that best describe why Mars does NOT currently support complex life.', 
'God hates Martians', 'Intense radiation from an ancient nuclear holocaust' 

Есть ли способ исправить строки?

Спасибо!

ответ

2

Хорошо, так что я предполагаю, что это какой-то тест, где вы запрашиваете доступные ответы? Если это так, то ваша проблема связана с объединениями в вашем запросе. Проблема в том, что запрос находит нули для других вопросов каждый раз, когда он возвращает ответы на заданный вопрос. Мое предположение было бы, что ваш SQL выглядит примерно так:

Select s.student_name 
    , q.question_txt 
    , a.answer_txt 

From student_table s 
    left outer join question_table q 
     on --something 
    left outer join answer_table a 
     on q.question_id = a.question_id 

Когда вы перекрестные ссылки на вопрос ID с ответом ID, вы возвращение аннулирует в каждой строке, за исключением, когда вопрос ID соответствует ответы вернулся к этому вопросу.

Существует два основных решения: один простой и еще один комплекс. Если у вас есть автоинкрементный номер навсегда для ответа в вопросе (т. Е. Ответ 1 имеет значение 1 всегда, ответ 2 имеет значение 2 всегда), то вы можете просто добавить этот номер в свой запрос и группы строк для имени ребенка и номер автоинкремента.

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

row_number() over (partition by question_id order by question_id, answer_id) as row 

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

+0

Я добавил запрос для данных образца – SkyeBoniwell

+1

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

Смежные вопросы