Autor Thema: Duplikate werden nicht angezeigt  (Gelesen 3455 mal)

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Duplikate werden nicht angezeigt
« am: 14. Juni 2007, 09:06 »
Hallo,

Ich habe eigentlich 2 Probleme, dass eine steht ja oben im Betreff....
Ich habe im Data Provider unter Optionen die Checkbox "Duplikate anzeigen" gewählt, allerdings zeigt er sie nciht an.
Ich erstelle einen Arbeitszeitreport, Arbeitzzeit kann stündlich erfasst werden, so das für ein Datum mehrere Zeitbuchungen vorliegen können. Lasse ich mir nun aber nur die Mitarbeiter und das Datum anzeigen, bekomme ich pro Mitarbeiter nur einmal den z.B. 01.05.07 angezeigt, obwohl dort mehrere Zeitbuchungen vorliegen, dass Datum also mehrfach vorkommen müsste.
Lasse ich mir Mitarbeiter, Datum und Tätigkeiten anzeigen, dann kommen auch mehrere Zeitbuchungen pro Mitarbeiter an einem Tag zum Vorschein, allerdings tritt jetzt mein zweites Problem auf, und zwar zeigt er mir nun nur noch Zeitbuchnungen an wo eine Tätigeit hinterlegt ist, die Buchungen wo keine Tätigkleit hinterlegt ist, fallen einfach weg. Ich habe als Abfragebedingung eingesetzt, dass alles angezeigt werden soll, wo die "Tätigkeit leer" ODER "Tätigkeit nicht leer" ist, dass funktioniert aber nicht.

Evtl. hat ja jemand eine Idee...

Danke schonmal

Daniel  

Saskia Stremming

  • Experte
  • *****
  • Beiträge: 313
Re:Duplikate werden nicht angezeigt
« Antwort #1 am: 14. Juni 2007, 10:53 »
Hallo,

fangen wir erst mal mit Deinem 2. Problem an:

Die Tätigkeiten stehen wahrscheinlich in einer anderen Tabelle. Aber wie sieht Deine Tabellenstruktur ungefähr aus? Wahrscheinlich ist die Verknüpfung über einen Inner Join realisiert, so dass nur Datensätze angezeigt werden, für die es auch eine Tätigkeit gibt. Diese Verknüpfung musst du so ändern, dass es ein Outer Join ist.

Nun zu Deinen Zeitbuchungen-Problem:
Im Dataprovider wird mit der Option nur entschieden ob ein Select oder ein Select distinct an die Datenbank abgegeben wird. Das ist schon mal der erste richtige Schritt. In der Ansicht der Daten ist es aber so, dass die Dimensionen immer zusammengefasst werden. Wenn z.B. in der Datenbank der 01.01.2007 zehn Mal vorhanden ist, zeigt Dir der Bericht, das nur einmal sofern Du nicht noch weitere Details in Deine Ansicht anzeigen lässt. Ist eine Kennzahl in Deiner Ansicht enthalten so wird diese dann automatisch aufaggregiert (nach der Aggregation, die im Universum festgelegt worden ist). Ich gehe aber mal davon aus, dass es sich bei dem Datum mehr um einen Zeitstempel handelt, bei dem die Uhrzeit unterschiedlich ist. In diesem Fall musst Du in der Ansicht das Feld anders formatieren (rechte Maustaste -> (Zahlen)format bei dem Du ein anderes Format inkl. Uhrzeit auswählen kannst. Das sollte helfen.

Zum Überprüfen könntest Du mit der Formel =Anzahl([Datumsfeld];Alle) die Anzahl der Buchungen anzeigen lassen.

Gruß,
Saskia Stremming

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Re:Duplikate werden nicht angezeigt
« Antwort #2 am: 14. Juni 2007, 11:14 »
Hallo,

danke für die schnelle Antwort, dass es etwas mit den Joins zu tun hat hab ich mir schon gedacht, allerdings hab ich das Problem das ich die Checkboxen unter den Tabellen, wenn ich auf den entsprechenden Join klicke, nicht selektiern kann, sie sind also ausgegraut.
Ich vermute das das wieder einmal an meinem ODBC->BO Treiber liegt.....

Bei der Zeit gibt es immer ein Datum ohne Zeitstempel, es werden lediglich pro Tag mehrere Stunden auf eine bestimmte Tätigkeit oder Objekt gebucht.

Ich greife im Prinzip auf eine Tabelle zu in der lediglich ID's abgelegt sind, diese verknüpfe ich mit den entsperchenden Wertetabellen, dass klappt ja soweit auch ganz gut, wie immer steckt der Teufel im Detail....
Die DB unterstützt allerdings ANSI92, zumindest nach Aussage der Programmierer, eingestellt unter den Parametern ist es auch...
« Letzte Änderung: 14. Juni 2007, 12:03 von DanielT »

Saskia Stremming

  • Experte
  • *****
  • Beiträge: 313
Re:Duplikate werden nicht angezeigt
« Antwort #3 am: 15. Juni 2007, 08:04 »
Hallo,

die Outer-Join Kästchen sind oft ausgegraut, wenn der Join-Typ komplex ist oder between o.ä.
Versuche mal oben einen einfachen Join anzulegen (bzw. neu anzulegen) ob es dann geht. Eventuell auch den kompletten Join neu anlegen. Zur Not musst Du es einfach händisch unten eintippen.

Gruß,
Saskia Stremming

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Re:Duplikate werden nicht angezeigt
« Antwort #4 am: 15. Juni 2007, 11:37 »
Hallo,

also die Outer Join Kästchen sind immer ausgegraut und die meisten Joins sind sehr einfach.
z.B.
Buchung.KST_ID=Kostenstellen.KST_ID
also einfacher gehts kaum :)

Wenn ich das ganze als Right Outer Join mache:

SELECT KST_NAME
FROM Kostenstellen RIGHT OUTER JOIN Buchung
ON Buchung.KST_ID=Kostenstellen.KST_ID  

da bekomme ich dann immer einen Verbindungs- oder SQL Fehler.
Allerdings bin ich im Query schreiben nicht sonderlich bewandert, so dass ich da Fehler nicht ausschließen kann.

Danke schonmal für die Hilfe



DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Re:Duplikate werden nicht angezeigt
« Antwort #5 am: 18. Juli 2007, 10:44 »
Könnte mir mal jemand den Gefallen tun und mir ein Beispiel
eines von Hand ins BO eingetragenen OUTER JOINS posten?

Denn eigentlich bin ich mir sicher das er von der Syntax her stimmt.

Danke schonmal

Roland

  • Experte
  • *****
  • Beiträge: 318
Re:Duplikate werden nicht angezeigt
« Antwort #6 am: 18. Juli 2007, 11:24 »
Hallo Daniel,

ich erstelle solche Views erst in der DB - dann kann man schon feststellen, ob die Syntax richtig ist.
Dann sehe ich mir an, ob damit auch die Werte zurückgeliefert werden, die ich haben will (kann man über verschiedene Sortierungen schnell rausfinden).
Wenn alles i.O. ist, übertrage ich den SQL per Copy and Paste nach Crystal.

MfG
Roland
Crystal Reports & Business Objects XI (11.0.0.1282), Crystal Syntax, Datenbank läuft auf Microsoft SQL-Server 2000
- Es kommt nicht darauf an, mit dem Kopf durch die Wand zu gehen, sondern mit den Augen die Tür zu finden. -