0
ためのSSRSの最初のLookupSetの結果の値でない場合はnullを取得し、私は次の式を使用するMicrosoft Dynamicsの365バージョン1612(8.2.2.113)のレポートを書いている:ダイナミック365
=IIF(LookupSet("Test", Fields!new_product_name.Value, Fields!new_product_code.Value, "Test_DataSet").Length = 0,
"",
LookupSet("Test", Fields!new_product_name.Value, Fields!new_product_code.Value, "Test_DataSet")(0)
)
名前が "Test"の最初の製品のコードを返し、一致がなければ空白に戻すことです。
しかし、SSRSのIIFは短絡しないので、一致がない場合でも、LookupSetから最初の(index = 0)要素を取得してからエラーをスローします。
私は何をしようとしているのですか?
ありがとう、それは私の問題を修正しました。しかし、最初の結果がもっと必要な場合は、2つ以上の結果がある場合は1番目と2番目のコードを表示し、1つまたは2つの結果がない場合はNothingを表示するとします。 – tsukumogami
そのような状況では、可能であれば、データセットを変更する方がよいでしょう。しかし、それが不可能であれば、 'Join'と' Split'の組み合わせを使うことができます。おそらく正規表現のロジックと一緒に使うことができますので、 'LookupSet'の結果配列要素を直接参照する必要はありません。テストされていないので、それらの関数が 'Nothing'にどのように反応するのか正確にはわかりません。主な問題(および最初のエラーの理由)は、結果がない場合はエラーをスローする 'LookupSet'結果の最初の結果を直接参照していることです。 –