2016-04-13 19 views
0

Meine MSSQL SQL-Abfrage zeigt die Daten der Mitarbeiterhierarchie mit den Berechtigungscodes wie untenWie konvertiert man mehrere Zeilen in eine Zeile in SSRS?

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

 Der SSRS Bericht die Ergebnisse unten aufgeführten zeigt, wenn ich den Bericht Parameter gewählt = Tim, nur das Ergebnis der zeigt, Top-Linie und nicht die nachfolgenden Berechtigungscodes während der Abfrage zeigt alle

EmployeeName AuthCode 
Peter   csr2 
Colt   csr2 

 ich die Daten wollen zeigen, wie (es die Berechtigungscodes für die Mitarbeiter verketten sollten):

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

Könnte jemand bitte vorschlagen, was ich in SSRS tun muss, damit die Daten alle Authcodes mit kommagetrennten Werten zeigt?

+0

Mögliches Duplikat von [Simulating group \ _concat MySQL-Funktion in SQL Server?] (Http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-sql-server) –

+0

@GeetanjaliSachdeva , überprüfen [this] (http://stackoverflow.com/questions/27047483/ssrs-distinct-lookupset-function) –

Antwort

2

sollte diese Arbeit:

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

Die LookupSet erhalten alle auf der EmployeeName basierend Berechtigungscodes.

Die JOIN konvertiert das Array in eine Zeichenfolge mit einem Komma Trennzeichen.

+0

+ Hannover Faust Danke! Das funktioniert, aber ich sehe immer noch einige Authcodes, die in einer Zelle für denselben Angestellten dupliziert werden. Wie kann ich die Duplikate loswerden? –

+0

Leider können weder das ** JOIN ** noch das ** LookupSet ** mit Duplikaten umgehen. Können Sie Ihre Daten unterscheiden? Andernfalls benötigen Sie einen benutzerdefinierten VB-Code zum Auslesen der Duplikate. –

Verwandte Themen