mixmatch - Skript- und Diagrammfunktion
Die mixmatch-Funktion vergleicht den ersten Parameter mit allen folgenden und liefert den numerischen Speicherort der übereinstimmenden Formeln. Beim Vergleich spielt die Groß- und Kleinschreibung keine Rolle.
Syntax:
mixmatch( str, expr1 [ , expr2,...exprN ])
Die erste Formel in der Tabelle unten liefert 0 für „Stockholm“, da „Stockholm“ nicht in der Liste der Formeln in der mixmatch-Funktion enthalten ist. Es wird 4 für „Zurich“ geliefert, weil der mixmatch-Vergleich die Groß- und Kleinschreibung nicht berücksichtigt.
Cities | mixmatch( Cities,'Toronto','Boston','Beijing','Zurich') | mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') |
---|---|---|
Beijing |
3 |
3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 4 | 5 |
Sie können mixmatch verwenden, um eine benutzerdefinierte Sortierung für eine Formel auszuführen.
Standardmäßig werden Spalten abhängig von den Daten numerisch oder alphabetisch sortiert.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Gehen Sie wie folgt vor, um die Reihenfolge zu ändern:
- Öffnen Sie den Abschnitt Sortieren für Ihr Diagramm im Fenster Eigenschaften.
- Deaktivieren Sie die automatische Sortierung für die Spalte, in der Sie eine benutzerdefinierte Sortierung durchführen möchten.
- Heben Sie die Auswahl von Numerisch sortieren und Alphabetisch sortieren auf.
-
Wählen Sie Nach Formel sortieren und geben Sie dann eine Formel wie die Folgende ein:
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
Die Sortierreihenfolge der Spalte Cities ändert sich.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
Sie können auch den gelieferten numerischen Wert anzeigen.
Cities | Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |
Ladeskript
Sie können mixmatch zum Laden einer Teilmenge von Daten verwenden. Sie können zum Beispiel einen numerischen Wert für eine Formel in der Funktion liefern. Dann können Sie die geladenen Daten basierend auf dem numerischen Wert beschränken. Mixmatch liefert 0, wenn keine Übereinstimmung vorliegt. Alle Formeln, für die in diesem Beispiel keine Übereinstimmung vorliegt, liefern daher 0 und werden aus dem Datenladen mit dem WHERE-Befehl ausgeschlossen.
Erstellen Sie im Dateneditor einen neuen Abschnitt mit dem Namen Load und fügen Sie Folgendes hinzu:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];
/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code - Black, Blue, blue
Load Transactions table.
Mixmatch returns 1 for 'Black', 2 for 'Blue'.
Also returns 3 for 'blue' because mixmatch is not case sensitive.
Only values that returned numeric value greater than 0
are loaded by WHERE statement into Transactions_Buckets table.
*/
Transaction_Buckets:
Load
customer_id,
customer_id as [Customer],
color_code as [Color Code - Black, Blue, blue]
Resident Transactions
Where mixmatch(color_code,'Black','Blue') > 0;
Results
Color Code Black, Blue, blue | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
blue | 5646471 |