2016-08-26 16 views
1

SSRS 2008 r2のデータセットから値リストを表示しようとしています。荷送人番号パラメータからシリアル番号のリストを取得するデータセットを作成しました。私はS/Nをレポートに表示させることができますが、複数のページを取る列形式です。私はカンマで区切られた段落書式でそれらを入れようとしています。つまり、 - s/n1、s/n2、s/n3、...私はこのサイトでJoinを使用して記事を見つけましたが、私のためにそれを調整することはできませんでした。ここでレポートのフィールドをssrs 2008の段落書式で表示するr2

は、私がデータをプルするために使用していますクエリです:

SELECT A.fserial 
FROM smsm2mdata.dbo.serial AS A 
JOIN shmast AS B ON B.fshipno = A.fshipno 
WHERE B.fshipno = @fshipno 

そして私はこれは私がレポートを公開する前に、最後のハードルであるレポート

上のリストのTablixにフィールドを置きます... 助けて!

答えて

0

Join()関数が機能しない理由は、おそらく配列の代わりに単一の値を渡しているためです。これは、新しく作成されたtablixに関数を追加するだけの場合に発生します。なぜなら、これらは通常、集合単位ではなく行単位でデータを表示するように設定されているからです。

いくつかのオプションがあります。 1つは、join()関数でルックアップ関数を使用することです。通常、lookupは基準に基づいてデータセットから値を取得しますが、この場合はすべてを必要とします。

=Join(LookupSet(1, 1, fields!fserial.Value,"YourDataSetName"),",") 

私はあなたがしたい場合は式だけでもテキストボックスに使用することができると信じている:だから、この例では、最初の2つのパラメータでの条件は常にtrueになります何か、など1 = 1を作ることができます。あなたはまた、SSRSで特別なことを行う必要がないように、バットからパラグラフ形式で結果を生成するようにSQLクエリを変更することができます。 はB. ON B AS shmast結合としてsmsm2mdata.dbo.serial FROM '' + A.fserial を((選択

選択のもの:これはちょっと難解なSQL機能を使用していますが、この特定のアプリケーションを知っておくと便利ですfshipno = A.fshipno WHERE B.fshipno = @fshipno XMLパスのための( '') )、1,1、 '')

私はあなたにもせずに参加()関数を使用して逃げることができると思いLookupSet()関数は、適切にグループ化され、tablixから詳細セクションを削除した場合に機能します。

+0

最初の2つのオプションのどちらも機能しませんでした。調査の結果、LookupSetとStuff関数がSQL 2016用であることが判明しました(残念ですが、アップグレードしたいです)。私は第3の選択肢を試しましたが、結合機能を働かせるように見えません。エラーを投げるのを続ける。 – ahartman

+0

2番目のオプションは、純粋にSQLベースのオプションです。クエリを変更します。 SSRSの機能は必要ありません。最初のオプションはlookupsetとjoin関数を使用しますが、どちらも2008r2以降のssrsにあります。 – TPhe

+0

@ahartmanエラーメッセージが表示されたら、何を試しているのかを表示して、エラーを表示すると、問題を診断するのに役立ちます。 – TPhe

関連する問題