私はあなたがあなたの答えを得たと思います:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/a7d59224-0ee5-491e-883b-2e5fcb3edeab/iterate-through-rows-of-dataset-in-reports-custom-code?forum= sqlreportingservices
上記のリンクから把握できた 2 つの重要な情報がありました。
まず、Reporting Services のデータセットは、ADO.Net データセットと同じタイプのオブジェクトではありません。レポート データセットは、SSRS ランタイムによって管理される内部オブジェクト (実際には DataReader オブジェクトから派生します) であり、データ テーブルなどを含む XML 構造ではなく、レポートのカスタム コードに渡すことはできません。
次に、レポートのカスタム コードで、データ セットを多値パラメーターに「変換」することによって (または複数のフィールドが必要な場合は、それを複数の多値パラメーターに変換することによって) データセットの行を反復処理する方法について投稿されたソリューションがありました。
複数値のレポート パラメーターには、次の特性が必要です。
非表示 = True、複数の値を許可 = True
[使用可能な値] タブ: 目的のデータセットを選択します。検索可能な ID を値 ID として選択し、公開するフィールドをラベル フィールドとして選択します。
デフォルト値タブ: クエリから値を取得します。使用可能な [値] タブで選択したものと同じデータセットを選択します。値フィールドは、値 ID に選択したものと同じです。
パラメーターを更新しないように設定します (または、別のパラメーターの各反復からデータをロードします)。
ここでのアイデアは、このパラメータを「検索可能」にすることです。この時点から、データセットを複数値パラメーターの配列として公開しました。
カスタム コードに次のコードを挿入します。
function GetDataSetLabelFromValue( id as integer) as String
dim i as integer
i = 0
for i = 1 to Report.Parameters!YourParameter.Count()
if Report.Parameters!YourParameter.Value(i) = id then
GetDataSetLabelFromValue = Report.YourParameter!ReportParameter1.Label(i)
Exit For
End if
next i
End Function
やりたいことはできましたか?