2016-12-13 4 views
0

場合はエラーを返します。SSRS - 表現私は彼らがいない場合、彼らは存在しないと何も場合はカレンダーに表示される名前だけを期待していヌル

私はそれが区切り文字としてコンマを使用することによって、人の最後の名前を返す式を作成しました。

私の現在の式:#エラーが表示されます

=iif(IsNothing(Fields!EmployeeName.Value), nothing, Left(Fields!EmployeeName.Value,-1 + InStr(Fields!EmployeeName.Value, ","))) 

現在の結果は、名前が存在しない場合:あなたが渡しているため、エラーが発生している

enter image description here

答えて

2

0より小さい数で左の関数に渡します。文字列にカンマがない場合は-1を渡します。

はこれを処理するために、私は表現には2つのif文を追加しました。最初のコンマのインデックスが-1条件の0秒チェックし、それが発生したときに左関数に0に合格した場合、まず、全体の文字列を返します。

= 
iif(
    IsNothing(Fields!EmployeeName.Value), 
    nothing, 
    iif(
     InStr(Fields!EmployeeName.Value, ",") = 0, 
     Fields!EmployeeName.Value, 
     Left(Fields!EmployeeName.Value,iif(-1 + InStr(Fields!EmployeeName.Value, ",") < 0, 0, -1 + InStr(Fields!EmployeeName.Value, ","))) 
     ) 
    ) 
関連する問題