簡體   English   中英

如何在ssrs中的IIF表達式中使用多個條件(使用AND)

[英]How to use multiple conditions (With AND) in IIF expressions in ssrs

我只想隱藏SSRS報告中有零數量的行。有以下多個數量列,如開倉股票,發貨總量,轉出,出售數量,庫存調整和結算股票等。我正在使用以下表達式執行此任務。

    =IIF(Fields!OpeningStock.Value=0 AND Fields!GrossDispatched.Value=0 AND 
Fields!TransferOutToMW.Value=0 AND Fields!TransferOutToDW.Value=0 AND 
Fields!TransferOutToOW.Value=0 AND Fields!NetDispatched.Value=0 AND Fields!QtySold.Value=0 
AND Fields!StockAdjustment.Value=0 AND Fields!ClosingStock.Value=0,True,False)

但是,通過在行可見性中使用此表達式,報告會隱藏除Totals Row之外的所有行。 即使報告應顯示具有上述列數量的行。 總值顯示正確。

注意:我在Detail Row上設置了此行可見性表達式。

不使用表達式結果如下。

對於前2行,所有數量都是0(ZERO),我想隱藏這2行。

在此輸入圖像描述

我該如何解決這個問題,或者我必須使用哪個表達式來獲得所需的結果?

在此先感謝您的幫助。

你能嘗試一下嗎?

=IIF((Fields!OpeningStock.Value=0) AND (Fields!GrossDispatched.Value=0) AND 
(Fields!TransferOutToMW.Value=0) AND (Fields!TransferOutToDW.Value=0) AND 
(Fields!TransferOutToOW.Value=0) AND (Fields!NetDispatched.Value=0) AND (Fields!QtySold.Value=0) 
AND (Fields!StockAdjustment.Value=0) AND (Fields!ClosingStock.Value=0),True,False)

注意:將Hidden設置為False將使該行可見

你根本不需要IIF()。 無論如何,比較返回真或假。

此外,由於此行可見性位於組行上,因此請確保在字段中使用與在行中的字段中使用相同的聚合函數。 因此,如果您的組行顯示總和,那么您將其放入隱藏屬性中。

=Sum(Fields!OpeningStock.Value) = 0 And
Sum(Fields!GrossDispatched.Value) = 0 And 
Sum(Fields!TransferOutToMW.Value) = 0 And
Sum(Fields!TransferOutToDW.Value) = 0 And
Sum(Fields!TransferOutToOW.Value) = 0 And
Sum(Fields!NetDispatched.Value) = 0 And
Sum(Fields!QtySold.Value) = 0 And
Sum(Fields!StockAdjustment.Value) = 0 And
Sum(Fields!ClosingStock.Value) = 0

但是對於上面的版本,如果一個記錄的值為1,一個記錄的值為-1,而其他記錄的值為零,則sum也為零,並且該行可以隱藏。 如果那不是你想要的,你可以寫一個更復雜的表達式:

=Sum(
    IIF(
        Fields!OpeningStock.Value=0 AND
        Fields!GrossDispatched.Value=0 AND
        Fields!TransferOutToMW.Value=0 AND
        Fields!TransferOutToDW.Value=0 AND 
        Fields!TransferOutToOW.Value=0 AND
        Fields!NetDispatched.Value=0 AND
        Fields!QtySold.Value=0 AND
        Fields!StockAdjustment.Value=0 AND
        Fields!ClosingStock.Value=0,
        0,
        1
    )
) = 0

這實際上是一種計算任何字段不為零的行數的奇特方式。 如果組中的每一行的每個字段都為零,則表達式返回true並隱藏該行。

這是一個應該給你一些想法的例子..

=IIF(First(Fields!Gender.Value,"vw_BrgyClearanceNew")="Female" and 
(First(Fields!CivilStatus.Value,"vw_BrgyClearanceNew")="Married"),false,true)

我認為你必須確定數據來源的數據源名稱或表名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM