Wie kann man die Funktionen „Uppercase“, „Regex“ und „Contain“ effizienter gestalten?Ich habe ein Skript, das Benutzereingaben entgegennimmt, die gesamte Tabelle durchsucht und die eingegebenen Daten in einer neuen Spalte markiert. Meine Tabellen enthalten über 10 Millionen Zeilen, und das Skript benötigt dafür einige Minuten. Wie kann ich es beschleunigen? Vielen Dank im Voraus.
// Capture the start time
start_time = Tick Seconds();
// --- Setup & guards ---
dt = Current Data Table();
If( Is Empty( dt ), Throw( "No active data table." ));
colNames = dt << Get Column Names("String");
Case sensitive = 0;
// Open a dialog to select exactly one column
nw = New Window("User Inputs",
<
<MODAL></MODAL>
<BR />
<LINGO-LABS id="lingo-labs-933595" slang="en-US" mode="CREATE">
<LINGO-LABEL>Grundlagen der Datenanalyse und Modellierung</LINGO-LABEL>
</LINGO-LABS>
Betreff: Wie kann man die Funktionen „Uppercase“, „Regex“ und „Contain“ effizienter gestalten?Was soll das Drehbuch bewirken?
Betreff: Wie kann man die Funktionen „Uppercase“, „Regex“ und „Contain“ effizienter gestalten?Es wird eine Spalte „Verdächtige Spalte1“ erstellt und mit „Ja“ markiert, wenn der Wert in Spalte1 mit der Benutzereingabe übereinstimmt. Ich habe einige zusätzliche Schritte, die zusammenfassen, welche Benutzereingaben gefunden wurden und welche fehlen. Da diese Schritte jedoch effizient sind, habe ich sie nicht aufgeführt.
Betreff: Wie kann man die Funktionen „Uppercase“, „Regex“ und „Contain“ effizienter gestalten?In Ihrer Beispieltabelle vergleichen Sie numerische Werte mit Zeichenketten. Welche Art von Prüfungen möchten Sie durchführen?
-
Du sagst „übereinstimmen“, aber der Code sagt „enthalten“.
- Der Code enthält außerdem Datenänderungen.
- Die von Ihnen angegebene Beispieltabelle enthält numerische Werte, Sie vergleichen diese jedoch mit Zeichen.
- Nachtrag: Sind alle Werte eindeutig?
Nachtrag: Der Code sucht nach exakten Übereinstimmungen, da er die Contains-Funktion mit einem assoziativen Array verwendet. Das größte Problem ist die Datenmenge und der Vergleich von Zahlen und Zeichen. Die Prüfung lässt sich höchstwahrscheinlich durch einige Auswertungen optimieren, aber je nach Problemstellung sind möglicherweise noch weitere Optimierungen möglich.