SAS Visual Data Builderはテーブルやサブクエリの結合をサポートしています。ユーザーはテーブルとテーブルを互いに結合できます。これには自分自身との結合も含まれます。サブクエリのテーブルへの結合や、サブクエリのサブクエリへの結合が行えます。サブクエリを結合で使用する場合、サブクエリの出力テーブルに関して結合条件が作成されます。データビルダは最大で256個のテーブルへの結合をサポートします。
ユーザーがテーブルやサブクエリをワークスペースにドロップすると、データビルダは結合条件を自動的に決定しようと試みます。データビルダが外部キーの使用または列の一致により自動的に結合を作成する場合、その結合は内部結合として追加されます。データビルダは、左外部結合、右外部結合、全外部結合もサポートしています。内部結合を希望しない場合、結合の種類を手動で指定する必要があります。
結合をデータクエリに容易に追加できることに加え、データビルダは明示的に宣言されたすべての結合を含むSQLステートメントを生成します。たとえば、WHERE句内で1つの内部結合を指定できます(例:
WHERE t1.order_id=t2.order_id
)。ただし、WHERE句内で複数の内部結合を指定したり、単一のデータクエリで外部結合を指定したりすると、人間による解読や理解が困難になります。
SAS Visual Data Builderは、明示的に宣言された内部結合を含むSQLステートメントを常に生成します。たとえば、次のコード例を参照してください。
LEFT JOIN
LIB1.TRANSACTION_TYPE_DIM TRANSACTION_TYPE_DIM
ON CASH_FLOW_FACT.TRANSACTION_TYPE_KEY =
TRANSACTION_TYPE_DIM.TRANSACTION_TYPE_KEY
INNER JOIN
LIB1.TRANSACTION_DIM TRANSACTION_DIM
ON PARTY_DIM.SEGMENT_ID = TRANSACTION_DIM.SEGMENT_ID
AND PARTY_DIM.TRANSACTION_KEY = TRANSACTION_DIM.TRANSACTION_KEY