Brauche Hilfe bei der Auswahl des Datums.Ich erstelle eine Teilmenge, in der ich Select Where :Login Date == 18.01.2019; Ich kann es nicht zum Laufen bringen.Ich habe auch versucht, die Teilmenge zu öffnen und den Abfrage-Builder auszuführen.Ich kann alle Felder hinzufügen und dann nach Anmeldedatum filtern.Die Anmeldedaten werden im Filter angezeigt.Wenn ich eines der Daten auswähle und auf „Aktualisieren“ klicke, werden keine Datensätze angezeigt.Unten ist mein Code und ich habe den Screenshot des Abfrage-Builders angehängt.Jede Hilfe wäre dankbar.
Grüße,
Wayne
</CODE></PRE><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture-6.PNG" style="width: 973px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Capture-6.PNG" style="width: 973px;"><span class="lia-inline-image-display-wrapper" image-alt="Capture-6.PNG" style="width: 973px;"><img src="https://us.v-cdn.net/6038925/uploads/images/15261iF7CEA402ACB0B52C/Capture-6.PNG" role="button" title="Capture-6.PNG" alt="Capture-6.PNG" /></span></SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-108358" slang="en-US" mode="NONE">Betreff: Brauche Hilfe bei der Auswahl des Datums.</LINGO-SUB><LINGO-BODY id="lingo-body-108358" slang="en-US" mode="NONE">Jim,<BR /><BR /> Endlich habe ich es herausgefunden. Ich habe Ihre Lösung genommen, dann die Erweiterung entfernt und sie wieder zu meiner ursprünglichen Auswahl hinzugefügt. Aus irgendeinem Grund hat die Erweiterung nicht funktioniert.<BR /> Vielen Dank, dass Sie sich die Zeit genommen haben, mir bei der Lösung dieses Problems zu helfen. Sehr geschätzt. Ohne alle Experten in diesem Forum wären Leute, die wie ich lernen, nicht in der Lage, ihre Projekte abzuschließen.<BR /><BR /> Grüße,<BR /><BR /> Wayne</LINGO-BODY><LINGO-SUB id="lingo-sub-108356" slang="en-US" mode="NONE">Betreff: Brauche Hilfe bei der Auswahl des Datums.</LINGO-SUB><LINGO-BODY id="lingo-body-108356" slang="en-US" mode="NONE"><P>Jim,</P><P>Mir ist im Debug-Tool aufgefallen, dass es heißt, dass ALstartDT eine Zeichenfolge und keine Zahl ist.Hoffentlich hilft das.</P><P> </P><P>Grüße,</P><P> </P><P>Wayne</P></LINGO-BODY><LINGO-SUB id="lingo-sub-108355" slang="en-US" mode="NONE">Betreff: Brauche Hilfe bei der Auswahl des Datums.</LINGO-SUB><LINGO-BODY id="lingo-body-108355" slang="en-US" mode="NONE"><P>Jim,</P><P> </P><P>Keine Fehler, aber es wird keine Teilmenge durch das ALstartDT-Datum gebildet, das aus dem Datumstextfeld abgerufen wird.Meine Datei enthält Zeilen mit Anmeldedaten vom 02.01.2019 bis 24.01.2019. Mein ALstartDT ist der 18.01.2019.</P><P> </P><P>Grüße,</P><P> </P><P>Wayne</P></LINGO-BODY><LINGO-SUB id="lingo-sub-108347" slang="en-US" mode="NONE">Betreff: Brauche Hilfe bei der Auswahl des Datums.</LINGO-SUB><LINGO-BODY id="lingo-body-108347" slang="en-US" mode="NONE"><P>Das Problem besteht darin, dass Sie „:login Date“ als Zeichenspalte haben und diese neben den Datumsdaten auch die Zeitdaten enthält.Wenn Sie es also mit ALstartDT vergleichen, treten Probleme auf.Ich schlage vor, dass Sie die Zeile auskommentieren, in der Sie versucht haben, das :Login-Datum in eine Zahl mit dem Format „m/d/y“ zu ändern.Es sollte leicht verändert aussehen</P>
<PRE><CODE class=" language-jsl">dt6:Login Date << data type(numeric) << modeling type(continuous)<< format( "m/d/y");
und ändern Sie dann Ihre Auswahl, wohin die Linien führen sollen
dt6 << Select where ((Contains(MyList, :Site ID)) & :Analysis == "G4");
dt6 << Select where (:Login Date >= informat(ALstartDT,"mm/dd/yyyy"),current selection("extend"));Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Die JMP-Beispieltabelle „Login Date“ hat ein Zeichenformat.Ich glaube, dass AlstartDT numerisch ist, und deshalb habe ich das Problem?Glauben Sie, dass dies das Problem ist?Wenn ja, was empfehlen Sie?
Grüße,
Wayne
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Das ist das Excel, das ich importiere.Nach dem Import erhalte ich die folgende Tabelle.Siehe Anhang.
Wayne
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Ich stimme zu.Im Anhang finden Sie eine Beispieltabelle.
Grüße,
Wayne
Betreff: Brauche Hilfe bei der Auswahl des Datums.Ich bin mir ziemlich sicher, dass das Problem darin liegt, ob die Spalte ein Zeichen und die Vergleichsvariable ein Zeichen ist oder nicht.Können Sie eine Beispieldatentabelle anhängen?
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Beim Zugriff oder bei der Auswertung von „Format“ erhalte ich immer noch das Argument „sollte numerisch sein“{1}, Format/*###*/(:Anmeldedatum, „mm/tt/jjjj“).Betreff: Brauche Hilfe bei der Auswahl des Datums.Ups, mein Fehler.Die [Row()] ist das Problem.Verwenden
dt << select where( Format( :Login Date, "mm/dd/yyyy" ) <= ALstartDT );
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Wenn ich versuche, :Login Date in eine Zeichenfolge umzuwandeln, erhalte ich die Fehlermeldung, dass das Argument numerisch sein sollte{1} beim Zugriff oder bei der Auswertung von „Format“, Format/*###*/:Login Date [Row()], „mm/tt/jjjj“)
Grüße,
Wayne
Betreff: Brauche Hilfe bei der Auswahl des Datums.Weil Sie Ihre Variable „ALstartDT“ auf einen String gesetzt haben
ALstartDT = Uppercase( Format( TempstartDT, "mm/dd/yyyy" ) );
(Die Funktion Format() gibt einen String-Wert zurück)
Anschließend müssen Sie auch Ihr „:Login-Datum“ in eine Zeichenfolge konvertieren. Das „:Login-Datum“ gehe ich davon aus, dass es sich um eine JMP-Datumsspalte handelt.
dt6 << Select where( Format(:Login Date[row()], "mm/dd/yyyy") >= ALstartDT, current selection( "extend" ) );
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Ich verwende 14.1.Ich habe so viele verschiedene Möglichkeiten ausprobiert, meine Daten zu formatieren, habe aber nicht das richtige Format herausgefunden.Unten ist mehr von meinem Code.Ich übergebe eine Variable aus einem Datumsfeld.Mein Excel-Import-Anmeldedatum sieht so aus
Bitte schauen Sie, ob ich ALstartDT korrekt übergebe und ob es Empfehlungen gibt, wie das Datum richtig formatiert wird, damit die Auswahl funktioniert.
Danke schön,
Wayne
Protokoll löschen();
Namen standardmäßig hier (1);
runScript = Expr(
TempstartDT = start << get;
TempendDT = end << get;
ALstartDT = Uppercase(Format(TempstartDT, "mm/dd/yyyy"));
ALendDT = Uppercase(Format(TempendDT, "mm/dd/yyyy"));
);
// Geschrieben von Vince Faller
// Lässt einen Kalender auf einer Numeditbox erscheinen (Standardeinstellung ist „jetzt“)
// Beachten Sie, dass dies nur auf JMP 11 oder höher funktioniert
dateBox = Funktion(
{timething = Today()},
{newbox},
newbox = Eval(
Ersatz(
Namensausdruck(
Nummernbearbeitungsfeld(
timething, // Eval(Sub()) wegen JMP-Eigenart
10, // Brauche das nur, weil JMP keine Standardbreite vorgibt
< Funktion( {self},
{},
If( Fehlt( self << get ),
self << Set( Eval( DUMMY ) ) // Setzt das Datum auf das Timething-Argument
)
)
),
<< Set Format(Format( "m/d/yh:m:s", 23, 0 ) ); // Erstellt Datum/Uhrzeit-Format für die Box (gibt Kalender an)
)
),
Expr(DUMMY), Timething
)
);
neue Box;
);
nw =
Neues Fenster( „SQL-Datentabellenextraktion“,
LineUpBox(NCol(2),
TextBox("Start DateTime"), start = dateBox(Today()- InDays(12)),
TextBox("End DateTime"), end = dateBox(),
ButtonBox("Cancel", ButtonPressed = "Cancel"), ButtonBox("Get Data", ButtonPressed = "Get Data") //speichert die Tastendruckeingabe des Benutzers in einer Variablen
));
warte (15);
//If-Anweisungen zum Ergreifen von Maßnahmen basierend darauf, welche Schaltfläche bei der Datumsaufforderung gedrückt wurde
If ( ButtonPressed == "Cancel", nw << Fenster schließen);
If ( ButtonPressed == "Cancel", Stop());
if ( ButtonPressed == "Get Data", runScript);
If ( ButtonPressed == "Get Data", runScript2);
If ( ButtonPressed == "Get Data", nw << Fenster schließen);
Caption("Abfrage wird ausgeführt");
warte(0);
Namen standardmäßig hier (1);
Für alle Blätter verwenden( 1 ),
Arbeitsblätter verketten( 0 ),
Verkettungsspalte erstellen (0),
Arbeitsblatteinstellungen(
1,
Hat Spaltenüberschriften (1),
Anzahl der Zeilen in Kopfzeilen (1),
Überschriften beginnen in Zeile (1),
Daten beginnen in Zeile (2),
Daten beginnen in Spalte (1),
Daten enden in Zeile (0),
Daten enden in Spalte (0),
Replizierte übergreifende Zeilen (1),
Replizierte übergreifende Header (0),
Versteckte Zeilen unterdrücken (1),
Versteckte Spalten unterdrücken (1),
Leere Spalten unterdrücken (1),
Als Hierarchie behandeln( 0 ),
Mehrere Serienstapel (0),
Zellenfarben importieren (0),
Spaltenerkennung begrenzen( 0 ),
Spaltentrennzeichenfolge( „-“ )
);
);
//Spalte ("Anmeldedatum") << Datentyp (numerisch) << format("m/d/y");
dt6 << Select where (:Login Date >= ALstartDT,current select("extend"));
dt7 << select where(Is Missing (:Label ID)) << delete rows;
selrows=dt7 << Zeilen abrufen where (:Formatted Entry == "ND");
dt7:Formatted Entry[selRows]="0";
dt7:Formatierter Eintrag << Datentyp (Numerisch);
Betreff: Brauche Hilfe bei der Auswahl des Datums.Zur Erweiterung @Mark_Bailey Die Antwort von hier ist ein Beispiel, das die verwendete Datumskonstante zeigt.
dt = open("$SAMPLE_DATA\TechStock.jmp");
dt << select where(Date <= 05Jan2001);
Weitere Tipps zu Terminen finden Sie unter Verwenden von Datums-, Uhrzeit-, Datums- und Zeitangaben in JMP .
Betreff: Brauche Hilfe bei der Auswahl des Datums.Beachten Sie, dass Sie literale Datumswerte (Konstanten) direkt verwenden können, ohne zwischen Zeichenfolgen und numerischen Werten konvertieren zu müssen. Das Formular ist TDMmmJJJJ:HH:MM:SS.S . (Sie verwenden von diesem Formular nur so viel wie nötig und lassen es auf der rechten Seite weg.) So könnte ich zum Beispiel den korrekten numerischen Wert für heute 8 Uhr morgens direkt eingeben als:
29Jan2019:08:00
Der Skripteditor erkennt diesen Wert als Zahl mit Farbcodierung, wenn Sie die Funktion aktiviert haben.
Betreff: Brauche Hilfe bei der Auswahl des Datums.Hier ist ein Beispiel für „Wo auswählen“ in der gleichen Struktur wie Ihr notiertes „Wo auswählen“.Es klappt.Daher glaube ich, dass Sie möglicherweise den JSL-Debugger verwenden müssen, um Ihren Code durchzugehen und herauszufinden, wo das/die Problem(e) liegt/sind.
names default to here(1);
dt= open("$SAMPLE_DATA/Aircraft Incidents.jmp");
MyList = {"Accident", "Incident" };
dt << Select where( (Contains( MyList, :Investigation Type) & :Location == "Eden, UT"));
dt << Select where( format(Column( "Event Date" )[Row()], "M/D/Y" ) == "01/05/2001", current selection("extend"));
Ich habe den Code auf JMP 11 überprüft.Die „aktuelle Auswahl („extend“)“ wurde in JMP 12 hinzugefügt, sodass die JSL in JMP 11 nicht richtig funktioniert, aber nach dieser Version funktioniert sie.
Betreff: Brauche Hilfe bei der Auswahl des Datums.Jim,
Ich habe Ihren Vorschlag ausprobiert und die Daten wurden immer noch nicht gefiltert.Unten ist, was ich verwendet habe.
Grüße,
Wayne
Betreff: Brauche Hilfe bei der Auswahl des Datums.JMP-Datumswerte sind numerische Werte.Wenn Sie einen Wert in „Anmeldedatum“ mit einem Datumswert vergleichen möchten, müssen Sie entweder den Wert von „Anmeldedatum“ in eine Zeichenfolge umwandeln und in „01.07.2018“ komprimieren oder ihn als beibehalten numerisch und konvertieren Sie „01.07.2018“ in einen numerischen Datums-/Uhrzeitwert.Das folgende Skript führt die Auswahl anhand der vorherigen Methode durch
Column( "Login Date" ) << data type( numeric ) << Format( "m/d/y" );
MyList = {"HCDS", "HCDS;LENNY", "HCDS; WACKER", "HCDS; GOLDEN SAMPLE", "HCDS; ALJ", "HCDS; LENNY C",
"HCDS; WACKER; GOLDEN SAMPLE", "HCDS; WACKER; PRE-MOVE"};
dt6 << Select where( (Contains( MyList, :Site ID )) & :Analysis == "G4" );
dt6 << Select where( format(Column( "Login Date" )[Row()], "M/D/Y" ) == "01/07/2018", current selection( "extend" ) );
dt7 = dt6 << Subset( Output Table( "Aloha Lenny Assay Subset" ), Selected Rows( 1 ), Selected Columns( 0 ) );
dt7 << select where( Is Missing( :Label ID ) ) << delete rows;
selrows = dt7 << get rows where( :Formatted Entry == "ND" );
dt7:Formatted Entry[selRows] = "0";
dt7:Formatted Entry << data type( Numeric );