簡體   English   中英

SSRS如何將If和format語句一起用於負值

[英]SSRS how to use If and format statement together for negative values

我試圖將秒顯示為分鍾。 有時我得到的價值是負的。 這會引起問題。 我想檢查該值是否為負,以便可以指定一個默認值。 但是我無法讓If和Format語句一起工作。

這是我所做的顯示值而不轉換為分鍾的操作:

=Fields!RateLossSeconds.Value

在此處輸入圖片說明

這是我將秒轉換為分鍾的方法:

=Format(DateAdd("s", Fields!RateLossSeconds.Value, "00:00"), "mm:ss")

在此處輸入圖片說明

這是我用來添加條件的代碼:

=IIF(Fields!RateLossSeconds.Value < 0, 0, Format(DateAdd("s", Fields!RateLossSeconds.Value, "00:00"), "mm:ss"))

如您所見,if語句無法按預期運行。

在此處輸入圖片說明

#Error是由於SSRS在IIF邏輯流程之前評估整個IIF()表達式引起的,因此,即使您正在處理負值,它也會檢查兩個分支是否有錯誤。

嘗試使用以下表達式:

=IIF(
  Fields!RateLossSeconds.Value < 0, 0,
  Format(
    DateAdd("s",IIF(Fields!RateLossSeconds.Value<0,0,Fields!RateLossSeconds.Value),"00:00"),
    "mm:ss"
  )
)

它檢查第一個IIF()的False分支中是否存在負值。 在這種情況下,我將負值替換為零,但您可以使用任何想要的值。

讓我知道是否有幫助。

暫無
暫無

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

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