Ich habe zwei Daten in einer Textdatei im Format MM/TT/JJJJ gespeichert. Ich muss Daten analysieren, die in diesen Datumsbereich fallen, und alle anderen Daten löschen.
Wie kann ich das machen?
Hier sind zwei Beispiele, wie Sie eine Analyse basierend auf aus einer Textdatei eingelesenen Daten durchführen können
Names Default To Here( 1 );
// Create a sample data table
dt = New Table( "Example",
Add Rows( 7 ),
New Column( "ACTUAL_SHORT_DATE",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values(
[3612470400, 3614025600, 3618777600, 3614457600, 3613420800,
3578947200, 3613939200]
),
Set Display Width( 154 )
),
New Column( "Sample Data",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0.865467654397147, 0.551025322305757, -0.780534757628151,
0.590164622893679, -0.084595197133406, 0.93192690045854,
-0.652714499840696]
)
)
);
// Read the data from the text file
textValue = Load Text File( "C:\Temp\DateRange.txt" );
// Parse out the start and end dates
startDate = Informat( Word( 1, textValue, " " ) );
endDate = Informat( Word( 2, textValue, " " ) );
// Select the data that falls within the start
// and end dates
dt << select where(
:ACTUAL_SHORT_DATE > startDate & :ACTUAL_SHORT_DATE < endDate
);
// Subset
dtSub = dt << Subset(
Selected Rows( 0 ),
Rows( [2, 4, 5, 7] ),
Selected columns only( 0 )
);
// Analyze the data
dtSub << Bivariate( Y( :Sample Data ), X( :ACTUAL_SHORT_DATE ) );
Names Default To Here( 1 );
// Create a sample data table
dt = New Table( "Example",
Add Rows( 7 ),
New Column( "ACTUAL_SHORT_DATE",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values(
[3612470400, 3614025600, 3618777600, 3614457600, 3613420800,
3578947200, 3613939200]
),
Set Display Width( 154 )
),
New Column( "Sample Data",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0.865467654397147, 0.551025322305757, -0.780534757628151,
0.590164622893679, -0.084595197133406, 0.93192690045854,
-0.652714499840696]
)
)
);
// Read the data from the text file
textValue = Load Text File( "C:\Temp\DateRange.txt" );
// Parse out the start and end dates
startDate = Informat( Word( 1, textValue, " " ) );
endDate = Informat( Word( 2, textValue, " " ) );
// Select the data that falls outside the start
// and end dates
dt << select where(
:ACTUAL_SHORT_DATE < startDate | :ACTUAL_SHORT_DATE > endDate
);
// Hide and exclude the selected rows
dt << Hide and Exclude;
dt << clear select;
// Analyze the data
dt << Bivariate( Y( :Sample Data ), X( :ACTUAL_SHORT_DATE ) );
Vielen Dank für die Antwort. Beispieltextdatei anhängen. Ich habe alle Daten in der JMP-Tabelle, die auch eine gültige JMP-Datumsspalte enthält.
1. Wie sieht die Textdateistruktur aus?
2. Befinden sich die zu analysierenden Daten bereits in einer JMP-Datentabelle?
3. Gibt es in den zu analysierenden Daten eine gültige JMP-Datumsspalte?
Im Grunde würden Sie die Daten aus der Textdatei einlesen.Suchen Sie dann alle Zeilen in der Analysetabelle, die diese Anforderung erfüllen, und fügen Sie diese Zeilen dann in eine neue Datentabelle ein.Abschließend führen Sie Ihre Analyse für die Teilmenge der Datentabelle durch.
Wenn Sie weitere Details zur Struktur der Textdatei und der Datendatei/-tabelle angeben könnten, könnte ich möglicherweise eine Lösung für Sie finden.