<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo
Ich würde gerne wissen, wie man das Minimum und Maximum einer Teilmenge einer Spalte am effizientesten ermittelt.Mir ist klar, dass man eine select where()-Funktion ausführen und tatsächlich die Tabellenteilmengenfunktion verwenden und zusammenfassen könnte, aber ich brauche das Skript, um Tausende von Spalten zu durchlaufen (eindeutige Kriterien pro Spalte) und ich denke, dass das Öffnen/Schließen von Tabellen über eine Teilmenge zu langsam ist .
Ich hatte gehofft, mit select where() die Zeilen auszuwählen und dann irgendwie die ausgewählten Daten in eine Liste zu bekommen und die Mindest- und Höchstwerte der Liste zurückzugeben. Ich habe mehrere Dinge ausprobiert, hatte aber keinen Erfolg. Irgendwelche Ideen?
Hier ist ein einfaches Testskript. In diesem Fall würde ich das Minimum = 66 und das Maximum = 70 zurückgeben wollen.
Protokoll löschen();
klare Globals();
Namen sind standardmäßig hier (1);
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtData = aktuelle Datentabelle();
dtData << clear select;
dtData << select where( :height > 65);
Spalte("Höhe") << set selected(1);
Danke,
Mike
Danke schön!Das ist genau die Funktion, die ich gesucht habe. Ich wusste nicht, dass es „get rows where()“ gibt … oder dass man eine Liste auf die Spalte anwenden und eine Zusammenfassung davon erstellen kann. Sehr schön.
Versuchen Sie <
dtData = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
Reihen = dtData << Holen Sie sich Zeilen wo ( : Höhe > 65 ) ;
min65 = Mindest ( : Höhe [ Reihen ] ) ;
max65 = Max ( : Höhe [ Reihen ] ) ;
Zeigen ( min65 , max65 ) ;
/*
min65 = 66;
max65 = 70;
*/