私がこの問題について考え始めたのは、私が作業を依頼されたシステムが完全にビューに基づいたキューブを持っていることに気付いた後です。これらのビューはすべて他のテーブル/ビューに結合されており、ビューにもロジックがコード化されていることに気付きました (if、case ステートメント、convert ステートメント、連結など)。これはすべて私には恐ろしいことのように思えましたが、キューブのデータソースをビューに基づいて作成する必要があるかどうか疑問に思いました。
私にとっては、テーブルの方が理にかなっています。これにより、データソースでの高価な結合が防止され、ビューによって実行される変換が原因で発生する可能性のあるエラーが発生しにくくなります。ただし、ビューをキューブのデータソースとして使用している人はまだ多くいます。ここにベストプラクティスはありますか? ビューをデータソースとして使用したときに得られるいくつかの利点が欠けているのではないでしょうか?