2016-04-19 7 views

Antwort

3

Sie können es in ABL mit einer FOR-Schleife und BREAK BY und einem Zähler tun. Es gibt auch in Aggregatfunktionen (AKKU) in der ABL gebaut, aber sie sind selten in der Wildnis gesehen ...

DEFINE VARIABLE i AS INTEGER  NO-UNDO. 

FOR EACH record NO-LOCK BREAK BY record.age: 
    IF LAST-OF(record.age) THEN DO: 
     i = i + 1. 
    END. 
END. 
MESSAGE "There are " i " unique ages" VIEW-AS ALERT-BOX. 

oder durch die in SQL gebaut verkrüppelt:

SELECT COUNT(DISTINCT age) FROM record. 
+0

Dies gibt mir die Anzahl der einzelnen Datensätze 23-2 24-2 25-1, ich brauche, um verschiedene Datensätze zu zählen, ist die Anzahl von (23,24,25) = 3 – mac100

+0

A, las nicht Ihre ganze Frage ... Aktualisierung meines Beispiels. – Jensd

+0

Hallo, wenn ich zwei Felder, Field1 field2 mit Daten Axt ein \t y bz cx cx dy cy az Wie kann ich das Auftreten von Daten für field2 basierend auf field1 zählen, wie, wie oft x wurde für a, y für a, z für a usw. für b – mac100

0

Es wird etwas in diesen Zeilen: Ersetzen Sie Stadt mit Alter und Mitarbeiter mit Kunden in den folgenden Code.

def var i as int no-undo. 

for each employee break by city: 
    if first-of (city) and last-of(city) 
    then do: 

     i = i + 1. 
    end. 
end. 

Anzeige "Die Anzahl der eindeutigen Datensätze" i mit Rahmen a.