Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?Beispielsweise gibt es im Pfad „c:\1\“ fünf Datendateien, die wie „Big Class.jmp“-Strukturen aussehen.
So klassifizieren und fassen Sie die Daten der Spalte „Höhe“ nach Spalte „Alter“ für 5 Dateien im Speicher ohne „Verketten“ zusammen.
Erzielen Sie den Effekt, als ob er im folgenden Code implementiert wäre:
dir = "c:\1\";
Fs = Files In Directory( dir );
For( d = 1, d <= 5, d++,
d1 = Open( dir || fs[d] );
If( d == 1,
d2 = d1,
d2 << Concatenate( Data Table( d1 ), Append to first table );
Close( d1, nosave );
);
);
d1 = d2<< Summary(
Group( :age ),
Sum( :height ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
Erweiterte statistische ModellierungInhaltsorganisationDatenmischung und -bereinigungBetreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?Viele Male versucht, als ob die Spalte mit dem direkt hinzugefügten Tabellennamen schneller wäre als „Quellspalte erstellen“
Ich weiß nicht, ob das stimmt.
Danke!
na=dt<<GET name=""></GET>
Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?Hier sind Ihre Probleme
- Möglicherweise möchten Sie die Datentabellen mit der Option „Privat“ öffnen, um Speicherplatz zu sparen und zu vergrößern
dt = open( "$SAMPLE_DATA/Students.jmp", private );
- Aus der Dokumentation geht hervor, dass Sie „Datentabelle (Name), Datentabelle (Name)“ angeben müssen.Sie geben eine Variable als Handle an, um auf die Datentabellen zu verweisen, die Sie öffnen
dt = Open( "$SAMPLE_DATA/Students.jmp" );
Wenn Sie sich den Wert von dt ansehen, ist der Wert Data Table( „Students“), sodass Sie ihn nicht angeben müssendt << Concatenate(
Data Table( dt1 ),
Data Table( dt2 )
Es sollte als angegeben werdendt << Concatenate(
dt1,
dt2,
- Sowohl die Spalte „An erste Tabelle anhängen“ als auch die Spalte „Quelle erstellen“ sind keine Literalzeichenfolgen, sondern lediglich Schlüsselphrasen und müssen nur als solche angegeben werden.
In Anbetracht all dessen sollte Ihr Code so sein
names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Students.jmp" );
dt1 = Open( "$SAMPLE_DATA/Students1.jmp", private );
dt2 = Open( "$SAMPLE_DATA/Students2.jmp", private );
dt << Concatenate(dt1, dt2, Append to first table, create source column);<BR />close( dt1, nosave );<BR />close( dt2, nosave );
Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?</CODE></PRE><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-342280" slang="en-US">Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?</LINGO-SUB><LINGO-BODY id="lingo-body-342280" slang="en-US"><P>Danke, Jim!<BR /> Ich versuche zu schreiben.</P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-12-16_08-39-58.png" style="width: 624px;"><span class="lia-inline-image-display-wrapper" image-alt="2020-12-16_08-39-58.png" style="width: 624px;"><img src="https://us.v-cdn.net/6038925/uploads/images/28985i79B63E10207BC03B/2020-12-16_08-39-58.png" role="button" title="2020-12-16_08-39-58.png" alt="2020-12-16_08-39-58.png" /></span></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-342277" slang="en-US">Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?</LINGO-SUB><LINGO-BODY id="lingo-body-342277" slang="en-US"><OL>
<LI>Verketten Sie die ersten 60<BR /><OL>
<LI>Stellen Sie sicher, dass die Option „Quellspalte erstellen“ ausgewählt ist</LI>
</OL>
</LI>
<LI>Generieren Sie die Statistiken</LI>
<LI>Lesen Sie die neue Datei ein und verketten Sie sie mit der Tabelle 1-60</LI>
<LI>Wählen Sie mithilfe der „Quellspalte“ alle Zeilen aus Datentabelle 1 aus</LI>
<LI>Generieren Sie die Statistiken</LI>
<LI>Wiederholen Sie die Schritte 3-5, bis alle 100 Dateien eingelesen und analysiert sind</LI>
</OL></LINGO-BODY><LINGO-SUB id="lingo-sub-342276" slang="en-US">Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?</LINGO-SUB><LINGO-BODY id="lingo-body-342276" slang="en-US"><P>Danke, Jim!</P><P> </P><P>Wenn 100 solcher Dateien vorhanden sind, legen Sie den Dateinamen auf „001.JMP-100.JMP“ fest.<BR /> 60 Dateien gleichzeitig entsprechend der Reihenfolge der Dateinamen zusammenfügen, sortieren und zusammenfassen und die Ergebnisse ausgeben. Es gibt also 41 Ergebnisse.</P><P><BR />Die erste Verkettung besteht darin, das erste Ergebnis aus der Datei 001.Jmp-060.JMP gemäß der oben genannten Methode abzurufen.<BR /> Wie kann ich die Datei „002.Jmp-061.JMP“ bei der zweiten Verarbeitung dieses Mal schneller zusammenfügen und zusammenfassen?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-341933" slang="en-US">Betreff: Wie kann ich mehrere Tabellen öffnen, sie im Speicher zusammenführen und die Ergebnisse der Zwischensummen ermitteln?</LINGO-SUB><LINGO-BODY id="lingo-body-341933" slang="en-US"><P>Hier ist eine In-Memory-Version Ihres Codes.Es erstellt keine visuellen Objekte und beansprucht keinen Speicher für visuelle Komponenten. Außerdem werden zwei Speicherelemente, eine Liste und eine Matrix mit den Ergebnissen erstellt.</P>
<PRE><CODE class=" language-jsl">names default to here(1);
dt = open("$SAMPLE_DATA/big class.jmp",private);
dt << set name("zippy");
dt2 = open("$SAMPLE_DATA/big class.jmp",private);
dt3 = dt2<< Concatenate( dt,private );
close(dt,nosave);
close(dt2,nosave);
summarize( dt3, bygroup = by(:age), heightSum = sum(:height));
close(dt3,nosave);
show(bygroup,heightSum);