テキストボックスに値(「NAN」または「#Err」など)を取得したら、それを-(ハイフン)に置き換えます。SSRSレポートでこれを達成する方法は?
前もって感謝します。
テキストボックスに値(「NAN」または「#Err」など)を取得したら、それを-(ハイフン)に置き換えます。SSRSレポートでこれを達成する方法は?
前もって感謝します。
それを処理する式を記述する必要があります。理想的には、レポートにカスタム コード関数を含めることをお勧めします (例: Code.SafeDivision())。
=iif(Fields!denominator.Value = 0, "-", Numerator / Denominator)
cmotley の回答を詳しく説明するには、以下をカスタム コードとしてレポートに追加します (これを行うには、レポート プロパティに移動し、コードを作成して貼り付けます)。
Function SafeDivide(value1 As Decimal, value2 As Decimal) As Decimal
If (value1 <> 0.0 And value2 <> 0.0) Then
Return value1 / value2
Else
Return 0
End If
End Function
次に、これをテキストボックスで使用して、数値やエラーを受信せずに分割できます。たとえば、式として次を追加します (必要に応じてテキストボックス名を変更します)。
=Code.SafeDivide(ReportItems!Textbox186.Value, ReportItems!Textbox184.Value)
関数を使用して 2 つのテキスト ボックスを分割します。
ダッシュを表示するには、テキスト ボックスの書式設定を「数字」に変更し、「0」を「-」に置き換えることを示すボックスにチェックを入れるだけです。
または、何らかの理由で「NaN」がデータソースから明示的に送信されている場合 (SharePoint にロードされたテーブルを参照する場合はまれですが、不可能ではありません)、次を使用できます。
Function evalutator(value as String) as String
Select Case value
Case "NaN"
Return "-"
Case "NAN"
Return "-"
End Select
Return value
End Function
どうですか:
=IIF(Fields!yourcolumnname.Value = 0, "-", Fields!yourcolumnname.Value*1)
または、取得する場所にゼロが必要な場合はNAN/#ERROR
、次を使用できます。
=IIF(Fields!yourcolumnname.Value = 0, Fields!yourcolumnname.Value*1, Fields!yourcolumnname.Value)