在SSRS報告中,是否可以在選擇單個值參數時返回值集合?當在SSRS中選擇單個值參數時可以返回值集合
例如,我想要一個參數Team
,可以選擇:「Cardinals,Orioles,Blue Jays」。
當選擇了一個團隊,我想回到所選團隊的成員,所以我可以做這樣的事情
Select Runs
From Baseball.Data
WHERE Player IN (@Team)
Reporting Services中這是可能的,或是否有更好的方法?
在SSRS報告中,是否可以在選擇單個值參數時返回值集合?當在SSRS中選擇單個值參數時可以返回值集合
例如,我想要一個參數Team
,可以選擇:「Cardinals,Orioles,Blue Jays」。
當選擇了一個團隊,我想回到所選團隊的成員,所以我可以做這樣的事情
Select Runs
From Baseball.Data
WHERE Player IN (@Team)
Reporting Services中這是可能的,或是否有更好的方法?
創建另一個參數@Players
並將其設置爲多值參數和內部參數。使用此表達式來填充參數。
=Switch(
Parameters!Team.Value="Cardinals",split("CardinaPlayer1,CardinalPlayer2,CardinalPlayer3",","),
Parameters!Team.Value="Orioles",split("OriolesPlayer1,OriolesPlayer2,OriolesPlayer3",","),
Parameters!Team.Value="Blue Jays",split("BlueJaysPlayer1,BlueJaysPlayer2,BlueJaysPlayer3",",")
)
我假設@Team不是一個多值參數。替換 CardinalPlayerX,OriolesPlayerX等由玩家的實際名稱。
現在在查詢中只使用@Players
參數:
Select Runs
From Baseball.Data
WHERE Player IN (@Players)
讓我知道,如果這有助於。
這非常接近,但只返回每個列表中的第一個玩家。什麼似乎工作(但似乎甚至hackier)是使用開關參數的每個默認值。例如, 值1 =開關( 參數!Team.Value = 「紅雀」, 「CardinaPlayer1」, 參數!Team.Value = 「鶯」, 「OriolesPlayer1」, 參數!Team.Value = 「藍色鳥」 ,「BlueJaysPlayer1」 ) 然後每個後續值將包括一個類似的switch語句。謝謝。 – Matt
注意split函數返回一個數組與球員(在我的情況3)。有必要確定參數或查詢是否只返回一個玩家。創建文本框並在報告中使用此表達式。 = join(Parameters!Players.Value,「,」)預覽報告以查看參數中是否只有一個玩家。 –
單值。沒關係。我可以用我的黑客方式來做,並稱之爲一天。謝謝您的幫助。 – Matt
這是可能的,但你必須使用兩個參數,一個讓用戶選擇團隊。其他參數將球隊球員傳遞給查詢。我會使用'LookupSet()'函數來獲取玩家。如果您需要進一步的幫助,請提供團隊和玩家所在的表格結構。 –
我只想在報告中硬編碼團隊球員映射。他們永遠不會改變,我沒有他們的桌子。謝謝。 – Matt
你怎麼知道紅衣主教的球員?你怎麼能在Baseball.Data表中識別出它,因爲我認爲Player是不是球隊的球員的名字。你在Baseball.Data表中有一個Team列嗎? –