2016-12-02 40 views
0
=switch(
    Fields!HEORG_REFNO.Value=7535,"public", 
    Fields!HEORG_REFNO.Value=7539,"public", 
    Fields!HEORG_REFNO.Value=7609,"public", 
    Fields!HEORG_REFNO.Value=7541,"public", 
    true,"private" 
) 

我希望將我的結果根據天氣診所是私有還是公有的,因此這樣做我試圖創建基於一個新的領域在 如果(heorg_refno = 7539或heorg_refno = 7609或heorg_refno = 7541),那麼這將是公衆否則診所應該是私有的。開關表達:參數「VarExpr」不是一個有效的價值」

任何建議什麼我在switch語句做錯了。

上面的開關狀態。

回答

0

原因之一可能是Fields!HEORG_REFNO.Value實際上並不包含整數值,但String值。在這種情況下,你就必須要比較的字符串:

=Switch 
(
    Fields!HEORG_REFNO.Value="7535","public", 
    Fields!HEORG_REFNO.Value="7539","public", 
    Fields!HEORG_REFNO.Value="7609","public", 
    Fields!HEORG_REFNO.Value="7541","public", 
    true, "private" 
) 

您需要檢查的類型在SSRS數據集的HEORG_REFNO

同樣根據我的經驗,這樣的東西在你的數據集中創建一個虛假的列是一個好主意,你可以過濾而不是將太多的東西放入表達式。

後者導致混亂,因爲遲早。

+0

是的,我在我的數據集中添加另一列,並使用此表達式來創建該列,如果這是你想說的話? –

+0

不可以。我在說你的報告必須有一個'SELECT'語句來查詢來自數據庫的信息。有時最好在該語句中加入「計算列」,而不是在報表中使用表達式。像'SELECT CASE WHERE RefNo = 7535 THEN'public'ELSE'private'END AS FakeColumn FROM tablename'。 –

+0

這給出了一個錯誤。 –

相關問題