WIE lösche ich dieselben Daten in der Tabelle?Liebling,
Jedes Mal, wenn ich zum Menü gehe, welche „Zeile“ dieselben Daten löschen soll,
Ich möchte dieselben Daten in der Tabelle automatisch löschen und weiß nicht, wie ich JSL schreiben soll
Wie schreibe ich?
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Ich habe gerade von vorne angefangen und bei mir hat es funktioniert. Habe sowohl MIn() als auch Max() ausprobiert und es hat das gegeben, was ich erwartet hatte.
Mir sind ein paar Dinge aufgefallen:
1. Als ich Ihnen sagte, dass ich Spalte 1 hinzugefügt habe, habe ich vergessen zu erwähnen, dass ich sie mit einer fortlaufenden numerischen Initialisierung initialisiert habe. Dh, ich habe im Grunde die Zeilennummer repliziert.
2. Beachten Sie, dass Sie Klammern um den Tabellennamen verwenden und der Tabellenname mit „$“ endet. Das sind MS-Versionen von SQL. Versuchen Sie, diese zu beseitigen.
3. Ich kann mich nicht erinnern, ob ich Ihnen gesagt habe, dass Sie im benutzerdefinierten SQL-Fenster auf die Schaltfläche „Aktualisieren“ klicken sollen oder nicht, aber es scheint mir zu helfen, bevor ich die Abfrage ausführe.
Betreff: WIE lösche ich dieselben Daten in der Tabelle?
Es tut mir leid, Ihnen sagen zu müssen, dass es nicht funktionieren kann
der Alarm ist kreisförmig Referenz ;
WÄHLEN Sie t1.*
AB [Löslichkeit$] t1,
( WÄHLEN SIE EINDEUTIGE „LOT-NR.“ Min("Spalte 1") als "Spalte 1" FROM [Löslichkeit$] GROUP BY „LOT NO“ ) AS t2
WO t1."Spalte 1" = t2."Spalte 1"
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Ich habe es überarbeitet, indem ich die Unterabfrage als Tabelle eingefügt habe, damit Sie den Unterschied sehen können. Manchmal funktioniert eine Möglichkeit besser oder ist klarer als die andere. Hier sind „t1“ und „t2“ Aliase.
WÄHLEN Sie t1.*
AB Löslichkeit t1,
(WÄHLEN SIE DISTINCT „LOT NO“, Min(„Spalte 1“) ALS „Spalte 1“ AUS Löslichkeitsgruppe NACH „LOT-NR“) ALS t2
WO t1."Spalte 1" = t2."Spalte 1"
;
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Ich habe einen kleinen Fehler gemacht. Wenn Sie „Min“ verwenden, wird Ihre „Lösch“-Tabelle zurückgegeben.Betreff: WIE lösche ich dieselben Daten in der Tabelle?Ihr Problem besteht darin, dass Sie DISTINCT in allen Löslichkeitsspalten verwenden. Da Sie für LOT-NR. 1700002 eindeutige Werte (z. B. „Stromunterbrechung“, „Lochloch“) im anormalen Spalteninhalt haben, erhalten Sie immer wieder dieselben Zeilen zurück, da jede Zeile im Spaltensatz eindeutig ist.
Wenn ich mich richtig erinnere, hat Excel (d. h. M$) SQL eine ERSTE oder LETZTE Version, SAS (d. h. JMP) nicht (obwohl sich das unter aktuellen Versionen möglicherweise geändert hat).
Hier ist der von mir geschriebene Code, der Ihre Frage zu beantworten scheint:
WÄHLEN Sie t2.*
VON Löslichkeit t2
WO t2."Spalte 1" IN (
SELECT DISTINCT t1. „Spalte 1“
VON Löslichkeit t1
GRUPPE NACH t1. „LOT NR.“
HAVING t1."Spalte 1" = Max(t1."Spalte 1"));
Ich habe Solubility in JMP geöffnet
Ich habe eine Spalte hinzugefügt, Spalte 1 (stellen Sie sich dies als Sortier-/Reihenfolgespalte vor).
Als nächstes ging ich unter Tabellen zum SQL Query Builder
Nachdem ich „Solublity“ als Tabelle ausgewählt hatte, wählte ich „Spalte 1“ und „Lot-Nr.“ aus, die ich in einer zusammenhängenden Unterabfrage (z. B. einer temporären Tabelle) verwenden werde, aktivierte „Nur DISTINCT-Zeilen“ und klickte auf „Hinzufügen“.
Jetzt habe ich auf das Dreieck neben dem Abfragenamen geklickt und „In SQL konvertieren“ ausgewählt. Dadurch kann ich den Code schreiben (30 Jahre SAS – Klicken und Zeigen bringt Sie nur so weit).
Ich habe den Code entsprechend dem, was ich Ihnen oben gegeben habe, bearbeitet, die Abfrage ausgeführt und alle aufgetretenen Fehler korrigiert, bis er ordnungsgemäß ausgeführt wurde.
Grundsätzlich habe ich Ihre geänderte Löslichkeit in Spalte 1 der oben erwähnten korrelierten Unterabfrage abgeglichen. Die Unterabfrage gibt eindeutige „Spalte 1“ zurück, indem sie die maximale Spalte 1 jeder Gruppe von „Los-Nr.“ verwendet. Ich verwende Max() hier als Ersatz für last. Min() könnte als Ersatz für FIRST verwendet werden.
Ich hätte dies auch als JOIN für die Unterabfrage als eine andere Tabelle tun können. Das heben wir uns für morgen auf.
Ich weiß, das ist wahrscheinlich ziemlich esoterisch, aber wenn Sie Fragen haben, lassen Sie es mich wissen. Ich werde versuchen, sie zu beantworten.
RCW
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Danke
Die mit Excel angehängte Datei „Löslichkeit“ sind Originaldaten, die ich ändern möchte
Die angehängte Datei „data.dsn“ ist eine Datenbank
Das Ergebnis, das ich haben möchte, ist ein beigefügtes Excel mit dem Namen „Löschen“.
Ich schreibe „SELECT eindeutig [LOT NR.], Code, [abnormaler Inhalt] AUS [Löslichkeit $]“
um dieselben Daten wie in „LOT NO“ zu löschen
aber es kann nicht funktionieren.
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Mit dem JMP Query Builder können Sie JSL zur Abfrage hinzufügen.Schauen Sie sich die Dokumentation auf Seite 121 an
Hilfe==>Bücher==>JMP verwenden
Damit können Sie Ihrer Abfrage den Code hinzufügen, um die gewünschten Zeilen jedes Mal automatisch zu löschen, wenn Sie die Daten extrahieren.
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Danke
Ich verwende „Built Query“ im JMP-Menü, um Daten aus der Datenbank abzurufen.
@txnelson schrieb:
Wenn Sie die Daten aus der Datenbank öffnen, müssen Sie die JSL zum Skript hinzufügen, das Sie zum Abrufen der Daten verwenden.Welche Methode verwenden Sie, um die Daten aus der Datenbank abzurufen?
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Wenn Sie die Daten aus der Datenbank öffnen, müssen Sie die JSL zum Skript hinzufügen, das Sie zum Abrufen der Daten verwenden.Welche Methode verwenden Sie, um die Daten aus der Datenbank abzurufen?
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Danke,
Die Die Datentabelle stammt aus der Datenbank. Jedes Mal, wenn ich sie öffne, werden die Daten aktualisiert.
also erwarte ich Die JSL wird automatisch erneut ausgeführt, um dieselben Daten zu löschen, die in der Tabelle angezeigt werden.
@txnelson schrieb:
Bitte klären Sie.Ich bin verwirrt.In der von Ihnen angehängten Datentabelle gibt es zwei Spalten: „erste“ und „zweite“.Wenn Sie die Zeilen basierend auf der Suche nach dem Wert von „A“ in der Spalte mit dem Namen „first“ löschen möchten, wäre die JSL:
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Wenn Sie Zeilen basierend auf dem Wert von „A“ in der Spalte „Second“ löschen möchten, wäre die JSL:
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Wenn Sie also sagen: „ Aber wenn ich die Daten aktualisiere, geben Sie damit an, dass Sie die Datentabelle erneut öffnen?Erwarten Sie, dass die JSL automatisch erneut ausgeführt wird, wenn Sie die Datentabelle erneut öffnen?
Daten, wenn ich die Datentabelle erneut öffne.
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Bitte klären Sie.Ich bin verwirrt.In der von Ihnen angehängten Datentabelle gibt es zwei Spalten: „erste“ und „zweite“.Wenn Sie die Zeilen basierend auf der Suche nach dem Wert von „A“ in der Spalte mit dem Namen „first“ löschen möchten, wäre die JSL:
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Wenn Sie Zeilen basierend auf dem Wert von „A“ in der Spalte „Second“ löschen möchten, wäre die JSL:
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Wenn Sie also sagen: Aber wenn ich die Daten aktualisiere, geben Sie damit an, dass Sie die Datentabelle erneut öffnen?Erwarten Sie, dass die JSL automatisch erneut ausgeführt wird, wenn Sie die Datentabelle erneut öffnen?
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Danke,
aber wenn ich Daten aktualisiere, kann ich nicht automatisch dieselben Daten löschen, die unten aufgeführt sind
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Betreff: WIE lösche ich dieselben Daten in der Tabelle?Vorausgesetzt, es gibt eine Bedingung, die Sie schreiben können, um die Daten auszuwählen, die Sie löschen möchten, sehen Sie sich Select Where() im Skriptindex an.
z.B:
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Dadurch würden alle Zeilen in Spalte1 mit dem Wert „A“ gelöscht.