mse hat geschrieben:Falls die Recordzahl nicht mehr als einige tausend beträgt, lassen sich solche Sachen am einfachsten mit den Daten im Dataset in Pascal Programmieren, eventuell mit Hilfe lokaler Indizes.
... ich greife ja auf die Daten mit einer ZQuery von den ZEOS Komponenten zu und wollte mit entsprechenden SQL Starements die Sache erschlagen - oder wie meist du das mit dem Dataset ?
Dass Du nicht die ganze Auswertung mit SQL machst, sondern mit SQL die Anzahl Records eingrenzt und die weitere Auswertung mit den gefetchten Daten in der TZQuery (ein TDataset Abkömmling) in Pascal machst. Komplizierte SQL-Queries arten leicht zu Hirnwäsche und Denksportaufgaben aus.
Ich habe noch nicht begriffen wie du die Matrix aufbauen willst ? Wass kommt in die spalten und was in die Reihen.
Row = Band Col = Mode Gleich/Ungleich/nicht vorh. ?
Wenn du nicht vorhanden DS suchst, dann musst du mal Stammdaten deklariere für Band und CW, damit man ei einem Join sieht ob die da sind oder nicht. QSL = Y kann man ermitteln. Damit bekommt man dann dein Zustände.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Es gibt 33 Vorauswahlen vorselektierte Daten sind z.B. dann nur noch 3 Spalten
Qsl Lotw Eqsl
In den Feldern sind folgende Inhalte möglich N, R, S, Y Es soll aber nur auf Y getestet werden – wobei das vorkommen von Y nicht an die Zeile gebunden ist - es ist völlig egal ob ein Y in der Spalte Qsl in Zeile 1 oder 14 oder… vorkommt Ein einziges Vorkommen von Y reicht aus Dass gilt auch für die anderen Spalten.
Folgender Schlüssel von 1-8 gilt über alle Datensätze
1 wenn Qsl<>Y Lotw<>Y Eqsl<>Y 2 wenn Qsl= Y Lotw<>Y Eqsl<>Y 3 wenn Qsl<>Y Lotw= Y Eqsl<>Y 4 wenn Qsl<>Y Lotw<>Y Eqsl= Y 5 wenn Qsl= Y Lotw= Y Eqsl<>Y 6 wenn Qsl<>Y Lotw= Y Eqsl= Y 7 wenn Qsl= Y Lotw<>Y Eqsl<>Y 8 wenn Qsl= Y Lotw= Y Eqsl= Y