2013-03-20 79 views
1

我已經在SSRS中創建了一個報告,它工作正常,如果我想輸入2個參數,但我想要的是爲每個參數創建一個下拉列表。所以我創建了主數據集和創建的兩個額外的數據集,所以我的參數可以指向他們創建列表,但它不工作,你能通過查看我的數據集來找出原因嗎?報告和數據集和參數

主數據集

SELECT  Racecourse.RacecourseID, Racecourse.Name AS Racecourse, Horses.Name AS Horse, RaceResults.Place AS Results, Jockeys.FirstName + ' ' + Jockeys.LastName As 'Jockey', Race.TimeofRace 
FROM   Race INNER JOIN 
         Racecourse ON Race.RacecourseID = Racecourse.RacecourseID INNER JOIN 
         RaceResults ON Race.RaceID = RaceResults.RaceID INNER JOIN 
         Horses ON RaceResults.RacehorseID = Horses.RacehorseID INNER JOIN 
         Jockeys ON RaceResults.JockeysID = Jockeys.JockeysID 

WHERE @Racecourse = Racecourse.Name AND @TimeofRace = Race.TimeofRace 


ORDER BY Place 

賽馬場數據集

SELECT 
    Racecourse.RacecourseID 
    ,Racecourse.Name 
FROM 
    Racecourse 
WHERE @Racecourse = 'Racecourse.Name' 

TimeofRace數據集

SELECT 
    Race.RaceID 
    ,Race.TimeofRace 
FROM 
    Race 

WHERE @TimeofRace = 'Race.TimeofRace' 

在此先感謝。

韋恩

回答

3

你正在倒退。您的參數數據集不能由您的主數據集定義,因爲它們取決於這些值。 EG:在定義兩個數據集之前,您不能要求@Racecourse。它需要被定義爲一個值。

我猜如果你從其他兩個數據集中刪除謂詞('Where'子句),它就會工作得很好。也就是說,如果使用選項「從查詢中獲取值」來填充變量的值。

+0

嗨Djangojazz 我試圖從賽馬場刪除Where子句,TimeofRace數據集,然後將我的PARAMATERS使用「獲取從查詢值」,在它們指向,但我得到一個錯誤信息說我@Racecourse參數都有默認無法轉發的值/有效值,你知道這意味着什麼嗎? – wafw1971 2013-03-20 16:41:54

+1

參數設置爲'無默認值'的'默認值'部分?此外,我不知道它的實現與否,但通常在謂詞中,我這樣做:「Where(columnName)= @Variable」Not:「WHERE @Racecourse = Racecourse.Name」可能被解釋爲設置變量爲ColumnName而不是反之亦然。它可能是這些事情之一。 – djangojazz 2013-03-20 16:45:42

+0

謝謝Djangojazz – wafw1971 2013-03-20 16:56:24