mixmatch - スクリプトおよびチャート関数
mixmatch 関数は、最初のパラメータを後続のすべてのパラメータと比較し、一致する数式の数値の位置を返します。比較では大文字と小文字は区別されません。
Syntax:
mixmatch( str, expr1 [ , expr2,...exprN ])
以下のテーブルの最初の数式は Stockholm の場合に 0 を返します。これは、mixmatch 関数の数式のリストに「Stockholm」が含まれていないからです。mixmatch 比較では大文字と小文字が区別されないため、「Zurich」の場合には 4 を返します。
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 |
mixmatch を使用して、1 つの数式のカスタム ソートを実行できます。
既定では、データに応じて、列が数値またはアルファベット順にソートされます。
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
順序を変更するには、以下のステップを実行します。
- プロパティ パネルで、グラフの [ソート] セクションを開きます。
- カスタム ソートを適用する列の自動ソートをオフにします。
- [数値によるソート] と [アルファベット順でソート] の選択を解除します。
-
[数式によるソート] を選択し、次に似た数式を入力します。
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
Cities 列のソート順序が変更されます。
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
返される数値を表示することもできます。
Cities | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |
ロード スクリプト
mixmatch を使用してデータのサブセットをロードできます。たとえば、関数内の数式の数値を返すことができます。次に、その数値に基づいて、ロードされるデータを制限できます。一致がない場合、Mixmatch は 0 を返します。よって、この例に適合しないすべての数式は 0 を返し、WHERE ステートメントによるデータ ロードから除外されます。
データ ロード エディターで、Load と呼ばれる新しいセクションを作成し、次の行を追加します。
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;
結果
Color Code Black, Blue, blue | Customer |
---|---|
ブラック | 203521 |
ブラック | 3036491 |
青 | 2038593 |
blue | 5646471 |