Envisionによるテーブルの結合
サプライチェーン最適化に関しては、サプライチェーン最適化の課題に対応しつつ、プロセスで生じる現実の歪みを最小限に抑えることが重要です。ツールは課題を無理に合わせるのではなく、そのままの形で受け入れるべきです。
2年前、サプライチェーンに存在する非常に多様な状況に対応するための手段として、ドメイン固有言語であるEnvisionを導入しました。初日からEnvisionは従来のサプライチェーンツールに比べ大幅に進化したプログラム表現力を提供していましたが、この柔軟性もEnvision自身がサプライチェーンデータに対して取る視点により制限されていました。
数ヶ月前、Envisionに汎用的なJOINメカニズムを導入しました。これにより、Envisionは当初の_natural_ジョインに限定されることなく、はるかに幅広い表形式データの処理が可能になりました。サプライチェーンでは、任意のテーブルジョインが、マルチソーシング、一方向の互換性、複数チャネルなどの複雑なシナリオに対応するのに特に有用です。
すでにSQLに精通している読者にとっては、テーブル結合は基本的な操作に思えるかもしれません。しかし、SQLでは複雑な数値計算とテーブル結合を組み合わせると、あっという間に分かりにくく冗長なソースコードになってしまいます。さらに、大規模なテーブルの結合は、SQLクエリ自体を調整するか、もしくは_table indexes_の導入によってデータベース自体を調整するなど、慎重に対処すべきパフォーマンス上の問題を引き起こします。
Envisionの主要な設計目標のひとつは、サプライチェーン最適化の課題に直面した際、はるかに低いコーディング負荷と引き換えにSQLの_一部_の機能を放棄することでした。その結果、初期のEnvisionは_natural_ジョインのみに基づいており、SQLで通常行われるJOIN操作に伴うコーディング負荷をほぼ完全に排除していました。
しかし、ナチュラルジョインには限界があり、Envisionではleft-by構文を導入することでその限界を乗り越えました。left-byステートメントを使用することで、Envision内で任意のテーブルを結合することが可能となります。内部では、膨大なデータファイルに対しても計算速度を維持するため、最適化されたインデックスの作成をEnvisionが自動で行います。
文法的にはleft-byはEnvision言語への些細な追加に過ぎませんが、サプライチェーンの観点からは、このひとつの機能がLokadの複雑な状況対応能力を大幅に向上させました。
もし社内にサプライチェーンの専門知識を持つdata scientistがいないのであれば、私たちがその役割を担います。Lokadは、あなたのサプライチェーンソリューションの実装を包括的にサポートするエンドツーエンドのサービスを提供します.