Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHallo zusammen,
Ich möchte zwei neue Spalten basierend auf Mustern in anderen zwei Spalten generieren ("Erforderliche Spalte1" und "Erforderliche Spalte2"). Bitte beachten Sie das angehängte Bild -

Irgendwelche Hilfe/Vorschlag?
Danke.
SkriptingBetreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHier ist eine Formel für die Spalte, die Sie auf Erforderliche Spalte 2 verweisen.Wenn Sie den Code studieren, werden Sie feststellen, dass er lediglich die von Ihnen angegebenen Logikregeln anwendet, die bei der Bestimmung der Start- und Endwerte überprüft werden müssen.Es enthält auch die Einstellung des Wertes für die Spalte Erforderliche Spalte 1. Um diese Formel auszuführen, erstellen Sie einfach Erforderliche Spalte 1 und Erforderliche Spalte 2. Legen Sie Erforderliche Spalte 2 als Zeichenspalte fest.Öffnen Sie dann die Formel für Erforderliche Spalte 2 und kopieren Sie die Formel unten in die Spalte.

RCValue = "";
:Required Column 1[Row()] = .;
If( :Sensor != "Primary",
other = "Yes"
);
If( Row() == 1 | :ID != Lag( :ID ) | :"Sub-set"n != Lag( :"Sub-set"n ),
counter = 0;
withinStart = "No";
other = "Yes";
);
If(
:Sensor == "Primary" & withinStart == "Yes",
RCValue = "End";
withinStart = "No";
other = "No";,
:Sensor == "Primary" & Lag( :Sensor, -1 ) != "Primary" & withinStart == "No" & other == "Yes" & Row() !=
N Rows( Current Data Table() ),
withinStart = "Yes";
counter = counter + 1;
RCValue = "Start";
);
If( withinStart == "Yes" | RCValue == "End",
:Required Column 1[Row()] = counter
);
RCValue;
Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHallo @txnelson ,
Mit wenigen Fehleingaben hat es fast geklappt. Ich glaube, wir müssen eine zusätzliche Bedingung für die Spalte "Vorkommen" hinzufügen. Das heißt: Vorkommen muss geändert werden, um gesetzt zu werden: Erforderliche Spalte 2 == "Start" (und kann eine Option sein - es sollte gleich sein, wenn: Erforderliche Spalte 2 == "Ende").
Etwas wie - Dif(:Occurrence) !=0 nur dann :Required Column 2 == "Start"
Für meine Beispieldaten (95 Zeilen) war Ihre Formel in Ordnung, aber meine tatsächlichen Daten, die mehr als 300.000 Zeilen enthalten, geben viele falsche Einträge wie unten an - (ich denke, es sollte in Ordnung sein, sobald eine zusätzliche Anforderung für: Vorkommen hinzugefügt wird. ) Dies ist nur ein Screenshot des falschen Eintrags.

Hoffentlich!!Ich kann die Formel / den Code ändern und die Anforderung von: Vorkommen hinzufügen. über deiner Formel.
Nochmals vielen Dank für Ihre Unterstützung.
Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHallo @txnelson und alles,
Ich konnte Ihren Code perfekt für meine Anforderungen ändern. Aber in der 2. Stufe der Fehlerbehebung brauche ich so etwas --
Mark :Sensor = "Primary" (1.) um aufeinanderfolgende Änderung in :Occurrence.Im angegebenen Screenshot -
erforderliche Werte dazwischen --- Letzte "Primär" in Auftreten = 2 und Erste "Primär" in Auftreten = 3 [aufeinanderfolgende Änderung des Auftretens]
Die erste Primarstufe zu finden ist nicht so schwierig, Sie sind sich nicht sicher, wie Sie die letzte Primarstufe finden können? Denken Sie daran, die Teilmengendaten für Vorkommen = 2 irgendwie umzukehren (absteigende Reihenfolge), den Wert zu finden und ihn dann zurückzusetzen. Kann keine Formel eingeben!! Gibt es eine andere Möglichkeit, das zu tun?
Irgendeine Hilfe?
Danke.

Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenSie haben den Code, den ich zuvor bereitgestellt habe, geändert, um die Ergebnisse zu erhalten, die Sie in Ihrer letzten Antwort angegeben haben. Bitte geben Sie die JSL an, die Sie verwenden, um die Ergebnisse zu erhalten, die Sie in Ihrer Beispieldatentabelle anzeigen.
Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHallo @txnelson , Vielen Dank für Ihre Antwort.
Ich kann den richtigen (aktualisierten) Startpunkt nicht ermitteln. In der Datentabelle ("Sample Data Updated") und im Bild hatte ich korrigierte Datenspalten manuell eingetragen.
Die Formel. Früher habe ich "Erforderliche Spalte 1 Alt" und "Erforderliche Spalte 2 Alt" erhalten (Es ist genau so, wie Sie es mir geben, ich habe eine Vorkommensbedingung hinzugefügt) -
RCValue = "";
:Required Column 1[Row()] = .;
If( :Occurrence != Lag( Occurrence, -1 ),
other = "Yes"
);
If( Row() == 1 | :ID != Lag( :ID ) | :"Sub-set"n != Lag( :"Sub-set"n ),
counter = 0;
withinStart = "No";
other = "Yes";
);
If(
:Sensor == "Primary" & :Occurrence == Lag( :Occurrence, -1 ) & Dif( :Occurrence ) == 0 &
withinStart == "Yes",
RCValue = "End";
withinStart = "No";
other = "No";,
:Occurrence != Lag( Occurrence, -1 ) & Lag( :Sensor, -1 ) != "Primary" & withinStart == "No"
& other == "Yes" & Row() != N Rows( Current Data Table() ),
withinStart = "Yes";
counter = counter + 1;
RCValue = "Start";
);
If( withinStart == "Yes" | RCValue == "End",
:Required Column 1[Row()] = counter
);
RCValue;

Vielen Dank.
Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenich bin verwirrt.Soweit ich sehen kann, scheint das von mir geschriebene Skript zu funktionieren, außer dass Sie nach Zeile 44 in der Datentabelle die Regeln geändert haben und jetzt möchten, dass das Ende in der Zeile vor dem nächsten Wert von Primary steht.Was willst du?

Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenHallo Jim,
Entschuldigung für die Verwirrung.
Ihre ursprüngliche Formel (ich glaube, ich habe sie nicht vermasselt) funktionierte in den meisten Fällen, erfasste aber auch einige falsche Punkte und verfehlte nur wenige beim vollständigen Datensatz. In der angehängten Teilmenge der Daten (nur für eine "ID" und einen Wert von "Teilmenge") gibt es eine Spalte basierend auf Ihrer Formel, die einige falsche Punkte enthält.
Zeilen: 647-649 falsche Eingabe (rote Farbe)
Reihen: 868-937 nicht erfasst (rote Farbe)
Zeilen: 1307-1311 falsche Eingabe (rote Farbe)
Und dies wurde behoben, als ich die Bedingung auf :Occurrence setzte.
Jetzt suche ich -
1. Letzter primärer Sensor beim Auftreten = n (sagen wir n = 2), markieren Sie ihn als "Start"
2. First Primary Sensor in Occurrence = n+1 (= 3), und wenn es keinen primären Sensor für n = 3 gibt, sollte er den Wert in Occurrence = n+2 == 4 stoppen/markieren. Als "Ende" markieren
3. Und zuletzt tragen Sie die Zahlen zwischen "Start" und "Ende" in eine neue Spalte ein.
Alternative Denkweise (könnte sein) --
Wenn wir - in jedem einzelnen Vorkommen n (n = 2) First Primary Sensor als END und im letzten Primary Sensor als Start markieren und dann einen Wert zwischen Start und End in eine neue Spalte eintragen können.
Ich hoffe, das hilft und macht die Dinge klar.
Danke,
Ich denke, das kann sein, wenn ich einen finden kann
Betreff: Sie möchten zwei Spalten basierend auf einem Muster aus anderen Spalten generierenDas Problem scheint darin zu bestehen, dass die Logik auf die JSL-Variable "andere" angewendet wird.Ich habe heute keine Zeit, an dem Thema zu arbeiten, aber morgen Nachmittag sollte ich in der Lage sein, Nachforschungen anzustellen.