1

Rapor Oluşturucusu 3.0'da oluşturduğum bir SSRS Matrix raporum var. Veriler iyi görünüyor, ancak satırlar sıraya girmiyor. Her hücre ayrı bir satırda raporu takip etmek ve okumak için zor hale getirir. satırları düzeltmek için bir yolu var mıhücreleri

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' 

:

Sample Report

İşte raporun dayandığı örnek veri: Burada

bir ekran görüntüsü?

Teşekkürler!

cevap

2

Tamam, sanırım bu, mevcut cevapları sorguladığınız bir tür testtir. Eğer öyleyse, o zaman probleminiz sorgunuzdaki birleştirmelerle ilgilidir. Sorun, sorgunun, belirli bir sorunun cevabını her döndürdüğü sırada diğer sorular için boş değer bulmasıdır. Benim tahminim SQL şuna benzer olurdu:

Eğer cevap kimliğiyle soru kimliğini çapraz referans ediyoruz
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 

, sen soru kimliği cevapları maçları haricinde her satırda boş değerlere dönen Bu soru için geri döndü.

Basit ve karmaşık olan iki temel çözüm vardır. Eğer bir soruya cevap vermek için otomatik artışlı bir numaraya sahip olursanız (yani, cevap 1 her zaman 1 değerine sahipse, cevap 2 her zaman 2 değerine sahiptir), o zaman bu numarayı sorgunuza ekleyebilir ve çocuğun adı için satır grupları ve o otomatik artırım numarası.

zaten verilerde böyle bir numara yoksa, yapay olarak artırma veri kümesine Aşağıdaki alan ekleyerek daha uzun bir oluşturabilir ve bunun için tablis bir grup eklemek:

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

ise Buradaki varsayımlarımda tamamen üssün dışındayım, bir yorum ile bana bildirin ve yardım etmek için elimden gelenin en iyisini yapacağım.

+0

Örnek veriler için bir sorgu ekledim – SkyeBoniwell

+1

Örnek veriler için teşekkürler, ancak önerdiğim sorun, katıldığınız yol ve bu, verileri alma biçimidir. Böylece, görüntünüzdeki verileri zaten görebildiğimiz için örnek veriler yardımcı olmaktan daha azdır. –

İlgili konular