2012-02-14 81 views
1

我正在使用SSRS 2008和Tablix。當字段值= 1時,我想使其中一行可見,當此值= 0時不可見。如何配置?現在我右鍵單擊行並輸入表達式的字段值。然後我說「= 1」可見。我也試過:=「1」(text),true,「true」。如何在SSRS中設置可見性表達式?

但是,無論是1還是0,所有這些都會導致行始終顯示。這是一個整數字段值。如何重寫表達式使該行可見或不可見取決於值?

我認爲現在的問題是T-SQL而不是SSMS。目前,它將這些記錄返回到單獨的行。相反,我認爲我只需要在一行上使用所有這些值,以便所有這些值都可以一次出現在表中。我怎麼能重寫這段代碼,只在一行上返回相同的信息?

CASE WHEN [test_details].[test_setup_details_caption] LIKE '%?%' 
     THEN LEFT([test_details].[test_setup_details_caption],CHARINDEX('?',[test_details].[test_setup_details_caption])) 
     ELSE [test_details].[test_setup_details_caption] END [test_setup_details_caption], 
     [test_details_answers_expanded_view].[test_setup_answers_value], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Self-Harm', 'Suicidal Ideations/Attempts') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Self_Harm_Flag], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Substance Abuse/Drug Use') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Drug_Use_Flag], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Homicidal Ideations/Attempts') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Homicidal_Falg], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Runaway Behavior') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Runaway_Flag], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Problem Sexual Behavior', 'Inappropriate Sexual Behavior') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Sexual_Bx_Flag], 
     CASE WHEN [test_details].[test_setup_details_caption] in ('Gang Involvement') 
      AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Gang_Flag] 

回答

4

您正在設置表達式:隱藏,正確?嘗試:

=IIf(Parameters!value.Value = 1, False, True) ' Note: Setting Hidden to False will make the row visible 

您可能需要一些其他的邏輯,因爲你是指「我行的一個」不是所有的人

=IIf((Parameters!value.Value = 1) And (RowNumber(Nothing) = 5), False, True) ' Only applies to row # 5 
+0

是的,我沒有嘗試。你能看看我的修改過的描述嗎? – salvationishere 2012-02-14 16:44:43

+0

它看起來像我提供的SQL代碼段確實提供了單行上的值。它將返回字段test_setup_details_caption,test_setup_answers_value,Self_Harm_Flag,Drug_Use_Flag,Homicidal_Falg,Runaway_Flag,Sexual_Bx_Flag,Gang_Flag都在一行上嗎? – 2012-02-14 17:28:26

+0

不可以。這些值全部出現在單獨的行上;共8行。 – salvationishere 2012-02-14 17:32:35