コンテンツにスキップ

最近傍検索ステップは、ターゲットテーブルの各行を、地理的に最も近いユニバーステーブルの行とペアにします。ターゲットの各行について、両側のジオメトリ列間の距離で測定した最も近いユニバースのN行を保持し、計算されたDistance列を追加します。

AlteryxのFind NearestツールのSQLネイティブな同等機能であり、処理は距離順位付きのクロス結合として完全にデータベース内で実行されます。そのため、行をワークフローエンジンに取り込むことなく、大規模なテーブルにも対応できます。

2つのジオメトリ列はどちらもWKT(Well-Known Text)形式でジオメトリを保持します。これは、PlaidCloudの他の空間ヘルパーが生成し、利用する形式と同じです。

ターゲットd₁d₂各ターゲット → 最も近いユニバースのN行(距離列付き)
最近傍検索は、ターゲットの各行について、ジオメトリ間で測定した最も近いユニバースのN行を保持し、計算されたDistanceを追加します。
  • ターゲットテーブル — 近傍を検索する対象の行です。条件を満たすターゲットの行はすべて、最も近いユニバースの行とペアになって出力に含まれます。
  • ユニバーステーブル — 検索対象となる近傍の候補です。
  • 出力テーブル — 結果の書き込み先テーブルです。
  • ターゲットジオメトリ / ユニバースジオメトリ — 距離を測定する、両側のWKTジオメトリ列です。
  • 最近傍の件数(N) — ターゲットの行ごとに保持する、最も近いユニバースの行数です(デフォルトは1)。
  • 最大距離 — 任意です。設定すると、ターゲットからこの距離より離れたユニバースの行は、順位付けの前に除外されます。制限しない場合は、空白(または0)のままにします。
  • 距離の単位 — Distance出力と最大距離を表す単位です。マイル、キロメートル、メートル、フィートから選択します。
  • Ignore zero-distance matches — ターゲットとまったく同じ位置にあるユニバースの行(距離0)をスキップします。たとえば、ターゲットとユニバースが同じデータセットの場合に、ポイントが自分自身と照合されるのを避けるために使用します。

ターゲットとユニバースのマッピング

Section titled “ターゲットとユニバースのマッピング”

各入力には専用のマッピングタブがあり、そのテーブルで利用できる列が一覧表示されます。上記のジオメトリ選択の候補として使用されるほか、出力で利用できる列にもなります。

出力に含める列と、それぞれがどちら側(ターゲットまたはユニバース)の列かを選択し、必要に応じて名前を変更します。計算される距離列(選択した単位での、照合されたユニバースの行までの平面距離)は自動的に追加されます。名前を変更したり、オフにしたりすることもできます。

出力列の行が、その側のマッピングタブであるターゲットのマッピングまたはユニバースのマッピングに、もう表示されていない列を指していることがあります。ステップがこのような行を自動的に削除することはありません。代わりに、列名が⚠警告マークの後ろに赤色で表示され、カーソルを重ねると、どのマッピングにその列がないかが表示されます。列が1つも表示されていないマッピングに対しては、チェックは行われません。

警告が付いた行が残っているステップを保存すると、古い列が見つかりましたダイアログに該当する行が一覧表示され、3つの選択肢が表示されます。

  • すべて削除して保存 — 警告が付いた行を削除してから保存します。
  • このまま保存 — ステップをそのまま保存します。
  • キャンセル — 保存せずにステップに戻ります。

行を残したまま警告を解除するには、マッピングタブにその列を追加し直すか、マッピングに表示されている列を選択します。

距離は平面距離です(ジオメトリの座標から計算し、指定された単位に換算します)。これは、PlaidCloudの他の空間ステップと同様です。経度・緯度のデータでは近似値になりますが、店舗の商圏やサービスエリアなど、最近傍分析で一般的な局所的な距離であれば十分な精度が得られます。