主キーを生成する場合は、CTLを使用して2つ以上の標準属性の値を連結し、キー値を生成するのが一般的な方法です。
次のコードは、LoadDataグラフから得た簡単な例を示したものです。
//#CTL2 // Transforms input record into output record. function integer transform() { $0.* = $0.*; $0.FactSales_RecordSpec = $0.FactSales_SalesOrderNumber+"-"+$0.FactSales_SalesOrderLineNumber; return ALL; }
最初の行は次のとおりです。
$0.* = $0.*;
データソースからロードされた、すべての属性および値をコピーします。
2行目は次のとおりです。
$0.FactSales_RecordSpec = $0.FactSales_SalesOrderNumber+"-"+$0.FactSales_SalesOrderLineNumber;
FactSales_SalesOrderNumberとFactSales_SalesOrderLineNumberの値を連結して、主キー(ここではFactSales_RecordSpecという名前)を生成します。
最後の行では、すべての結果を出力します。
主キーを生成する際は、エッジに追加されるメタデータに追加する必要があります。エッジにより、グラフ・フローでその後に続くコンポーネントにReformatコンポーネントが連結されます。メタデータ・エディタで新しいプロパティを追加して主キーを組み込みます。