Alteryxツールアイコン「サンプルIn-DBツール」(Sample In-DB Tool)をご紹介します
サンプルIn-DBツール(Sample In-DB Tool)
「インデータベース」カテゴリの「サンプル」ツールについて紹介します。
概要
このツールは、指定した数または%(割合)でレコードをデータベース内で取得するツールです。例えば100レコードを抽出する場合、本ツールを実行するとレコード順に上から100レコードを抽出しますので、ランダムサンプリングではありません。ランダムサンプリングを行う場合は乱数を使用してソートする必要があります。
設定項目
このツールの設定はシンプルです。
パーセント単位もしくはレコード数単位での抽出を選択し、値を入力します。
注意MySQLではパーセント単位での指定は現在のVersionでは選択できません(MS SQL Serverでは可能なことを確認)。
入力順でレコードサンプルを抽出:このオプションにチェックを入れるとフィールドのソートを行ってからデータを抽出します(ソート順にデータを得られます)。
In-DBでのランダムサンプリング方法
注意Newid関数をサポートしてるデータベース限定の方法です。
前述の通り、ソート順での抽出などはできますが、ランダムサンプリングとは言えません。ランダムサンプリングを行う場合は乱数を使ってソート後、サンプルIn-DBツールを使ってデータを抽出します。
乱数の発生には「フォーミュラIn-DB」ツールを用います。
SQL式はデータベースに依存しますが、NEWID()関数を使用します。SQLにはRAND()関数も存在しますが、ランダムシードを設定しないと同一値が発生してしまう為、ランダムサンプリングには不向きです。
上記の処理まで完了していれば、サンプルIn-DBツールでRowcount2をソート指定することで、ランダムサンプリングとなります。
※Alteryx Version 2018.2.5時点での情報です