1

レポートビルダー3.0で作成したSSRSマトリックスレポートがあります。データはよく見えますが、行は並んでいません。すべてのセルは別々の行にあり、レポートを読んで読みにくくします。ここで各行にセルが並んでいない

はスクリーンショットです:

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

さて、これは利用可能な回答を照会するテストのようなものだと思いますか?その場合は、クエリの結合で問題が発生します。問題は、質問が特定の質問の回答を返すたびに、他の質問のNULLを見つけることです。私の推測では、あなたのSQLは次のようになりますことを次のようになります。

あなたが回答IDで質問IDを相互参照している
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は答えを一致する場合を除いて、各列にnullを返しますその質問のために返されました。

単純なソリューションと複雑なソリューションの2つの基本的なソリューションがあります。ある質問内で答えが自動的に増える数がある場合(つまり、回答1の値が常に1、回答2の値が常に2)、その数値をクエリに追加して、子の名前とその自動インクリメント番号の行グループ。

すでに自分のデータで、そのような番号をお持ちでない場合は、あなたが人為的に自分のデータセットに次のフィールドを追加して作成することができますし、それのためにあなたのTablixにグループを追加します。

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

の場合私は私の前提に完全に基づいています。コメントを介して私に知らせてください。私は助けに全力を尽くします。

+0

サンプルデータのクエリを追加しました – SkyeBoniwell

+1

サンプルデータをありがとうございますが、私が示唆している問題は、あなたが参加している方法とこれがデータを取得していることです。したがって、サンプルデータは参考になるものではありません。イメージ内のデータがすでに表示されている可能性があります。 –

関連する問題