2016-04-13 10 views
0

私のMSSQLのSQLクエリはSSRSで複数行を1行に変換するにはどうすればよいですか?

ManagerName  EmployeeName AuthCode 
Tim    Peter   csr2 
Tim    Peter   sup 
Tim    Peter   itil 
Tim    Colt   csr2 
Tim    Colt   sup 

以下のようauthcodesと従業員の階層のデータを示してSSRSレポートは、私がレポートにパラメータ=ティムを選んだとき、結果のみを示し、結果は以下のとおり示し

:トップラインとクエリに対しません以降のauthCodesは、私は(それが従業員のためにauthcodesを連結する必要があります)のようなデータを表示したいすべて

EmployeeName AuthCode 
Peter   csr2 
Colt   csr2 

示し

EmployeeName AuthCode 
Peter   csr2, sup, itil 
Colt   csr2, sup 

SSRSで必要なことを誰でも提案して、データにカンマ区切りの値を含むすべての認証コードを表示することはできますか?

+0

[Simulating group \ _concat SQL関数のSQL関数?](http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-sql-server) –

+0

@GeetanjaliSachdeva 、チェック[this](http://stackoverflow.com/questions/27047483/ssrs-distinct-lookupset-function) –

答えて

2

これは動作するはずです:

=JOIN(LOOKUPSET(Fields!EmployeeName.Value, Fields!EmployeeName.Value, Fields!AuthCode.Value, "DataSet1"), ", ") 

EmployeeNameに基づいてLookupSet GETすべてAuthCodes。

JOINは、コンマ区切り文字を使用して配列を文字列に変換します。

+0

+ハノーファー拳ありがとう!それは動作しますが、私は同じ従業員のためにセルに複製されるいくつかの認証コードを見ています。重複を取り除くにはどうすればいいですか? –

+0

残念ながら、** JOIN **も** LookupSet **も重複を処理できません。あなたはあなたのデータをDISTINCTにすることができますか?それ以外の場合は、重複を解析するためにカスタムVBコードが必要になります。 –

関連する問題