2017-04-06 32 views
0

量大我想在MSSQL報告顯示一列,如果超過2出4布爾報表參數是真實的。以下是我爲創建此條件的可見性表達式所做的嘗試,但它會導致錯誤。任何建議將不勝感激。顯示列,如果布爾參數的計數比SQL Server報表查看器

=IIF(COUNT(IIF(Parameters!HideQuantityOnHand.Value = "False" OR Parameters!HideQuantityOnOrder.Value = "False" OR Parameters!HideCostPerItem.Value = "False" OR Parameters!HideRetailPerItem.Value = "False")) < 3, true) 

回答

1

您也可以因爲在聲明中的不CountOR。它看起來不正確。所以你需要的是1爲false,假設其他人是true。看看這是否適合你。

修訂看看這是你想要的。我想我得到了所有的組合。

  =IIF((Parameters!HideQuantityOnHand.Value = "False" AND Parameters!HideQuantityOnOrder.Value = "False") OR 
      (Parameters!HideQuantityOnHand.Value = "False" AND Parameters!HideCostPerItem.Value = "False") OR 
     (Parameters!HideQuantityOnHand.Value = "False" AND Parameters!HideRetailPerItem.Value = "False") 
     OR (Parameters!HideQuantityOnOrder.Value = "False" AND Parameters!HideCostPerItem.Value = "False") OR 
    (Parameters!HideQuantityOnOrder.Value AND Parameters!HideRetailPerItem.Value = "False") OR 
(Parameters!HideCostPerItem.Value = "False" AND Parameters!HideRetailPerItem.Value = "False") , true, false) 
+0

我相信,如果參數中的任何1爲「僞」你的表情會正確評價,但我想設置爲「真」如果2個或多個列的任意組合都是可見「假」 。 – user3318152

+0

好的。 2或更多不同於'如果4個布爾型報表參數中有2個以上是真的'。所以你必須用'AND'將每組2個分組,而另一個組由'OR'分開。我會更新我的答案。 –

+0

非常感謝您花時間提供詳細的答案,但您的表達並未提供我在報告中需要的結果。上面列出了爲我工作的表達式。 – user3318152

0

我想這就是你以後的樣子。

=(
    IIF(Parameters!HideQuantityOnHand.Value ,1,0) + 
    IIF(Parameters!HideQuantityOnOrder.Value ,1,0) + 
    IIF(Parameters!HideCostPerItem.Value ,1,0) + 
    IIF(Parameters!HideRetailPerItem.Value ,1,0) 
    ) < 3 

基本上我們評估每一個參數和轉換忠於1,我們再總結所有的值,並檢查他們< 3在這種情況下,我們返回true,以隱藏屬性(所以它是不可見)。

0

如在示例中所示下面我發現我不得不加入三個參數與AND,然後指定真或假的表達,隨後對IIF表達比較的可見性。見下文。

=IIf(Parameters!HideQuantityOnHand.Value="False" AND 
Parameters!HideQuantityOnOrder.Value="False" AND 
Parameters!HideRetailPerItem.Value="False" AND 
Parameters!HideCostPerItem.Value="False",true, 
IIf(Parameters!HideQuantityOnOrder.Value="False" AND 
Parameters!HideCostPerItem.Value="False",true, 
IIf(Parameters!HideCostPerItem.Value="False" AND 
Parameters!HideQuantityOnHand.Value="False",true, 
IIf(Parameters!HideRetailPerItem.Value="False" 
AND Parameters!HideQuantityOnHand.Value="False",true,false))))