問題タブ [dimensional-modeling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 間にディメンションがある複数のファクト テーブル間での結合
要求されたレポートで同じディメンション (および同じ粒度) に関する要約情報が必要であるが、基になるデータが別のファクト テーブルに格納されている場合、データ ウェアハウス設計の適切なアプローチはどれですか?
たとえば、給与と経費が異なるファクト テーブルに記録されている場合、各従業員について毎年支払われた給与の合計と経費の合計を示すレポートを作成できます。または、会社が販売した SKU ごとに、月ごとの合計売上と月ごとに受け取った在庫を一覧表示するレポート (売上が 1 つのファクト テーブルから取得され、受信が別のファクト テーブルから取得される場合)。
この問題を単純に解決するのは非常に簡単に思えます。両方のファクト テーブルを並列にクエリして集計し、データ ウェアハウスまたはクライアント アプリで集計結果をつなぎ合わせるだけです。
しかし、私はこの問題を考える他の方法にも興味があります。他の人はどのように解決しましたか?私は、データ ウェアハウスのスキーマと設計、およびクライアント ツールが上記の例のようなレポートを作成するのに適した設計にすることの両方について疑問に思っています。
また、この「ディメンション サンドイッチ」ユース ケースには、標準的なデータ ウェアハウジング用語で名前が付けられていますか? はいの場合、Google を介した調査が容易になります。
私たちは SQL Server を使用していますが、現時点での質問はプラットフォームに依存しないものであることが望ましいです。
oracle - データ ウェアハウス内のファクト テーブルの複合インデックス - datamart
重複を避けるために、Oracle EDW のファクト テーブルに複合一意インデックスを保持することはベスト プラクティスですか? ETL データ読み込みのパフォーマンスに影響しますか? このトピックについてご意見をお聞かせください。ETL 負荷の SLA を取得するための他の代替方法は何ですか?
database-design - スター スキーマ デザイン: ソース システムが多対 1 (N:1) で関連付けられている場合、2 次元または 1 適合次元を使用しますか?
学校で用語とクラスをモデル化するためのスター スキーマを作成しています。
学習管理システム (LMS) - クラスが行われる場所で、各クラスを特定の LMS タームに関連付けます。
学生情報システム (SIS) - 学生がクラスに登録する場所であり、LMS よりも細かい方法で用語をモデル化します。したがって、各 LMS 用語には複数の SIS 用語があります。
各ファクト レコードは、クラス内の生徒の粒度であり、1 つの LMS タームに関連付けられます。
DimSisTerm と DimLmsTerm の 2 つのディメンション テーブルを作成できたようです。
または、適合したディメンション テーブルを 1 つ作成することもできます: DimTerm
単一の適合ディメンションの場合、SIS Term ごとに 1 つのレコードが存在しますが、LMS Term キーとその属性は、関連するすべての SIS Term レコードに対して繰り返されます。
以前にこれを経験したことがある人は、2 つのシナリオ間のトレードオフについてガイダンスを提供できますか?
data-warehouse - 次元モデリングの命名基準
Kimball のアプローチを使用して、データ ウェアハウス プロジェクトの最初の次元モデリングの割り当てに取り組んでいます。モデルを準備し、物理オブジェクトについて考えるとき、データベース オブジェクトの推奨される命名スキームは何か疑問に思います。Oracle を使用する予定ですが、現時点では標準はありません。どんな助けでも大歓迎です。
data-warehouse - データ ウェアハウス - ファクト テーブルに履歴データを格納する
私は DataWarehousing の初心者です。四半期ごとのデータをロードするためのスター スキーマ デザインであるデータ マートを作成しました。その四半期のビジネスによって承認された時点で、現在のデータをロードしています。
ここで、履歴データ (約 40 GB の 3 年間) に戻ってロードする必要があります。このデータをロードするためのディメンションは、四半期ごとのロードに使用されるディメンションと同じになります。ただし、この履歴データを同じファクト テーブルに読み込むことはできますか? それとも、履歴データのみを読み込むために、複製のファクト テーブルを作成する必要がありますか? それはDW標準ですか?私は標準に従ってこれを行う方法を見つけようとしています。
現在のファクト テーブルは、データが読み込まれた四半期を指定する load_cycle_date で分割された日付です。
どうもありがとう!
sql-server-2008 - マイクロストラテジー vs SSAS
ディメンション テーブル構造の例を以下に示します。
テーブルについて: ここで、skDoctorKey は ID 列です。主キーは DocCode 3 name 列です。
Microstrategy : Microstrategy でこのテーブルを使用している場合、[DocCode]は ATTRIBUTE であり、[FirstName]、[lastName]、および [MiddleName] は属性 DocCode の 3 つの修飾子です。このテーブルの最終結果は、3 つの修飾子を持つ単一の属性です。
SSAS: DocCode を 1 つの属性として追加し、keyColumn を[DocCode]として追加しました。[FirstName]、[lastName]、および [MiddleName] の 3 つの列を個別の属性として追加する必要があります。それらのすべてについて、keyColumn は同じ [DocCode] です。私が見つけた唯一の方法は、[FirstName]、[lastName]、および [MiddleName] を属性ペインにドラッグし、3 つすべてのキー列を [DocCode] に変更することでした。これを 1 つずつ行う必要があります。
SSAS や Microstrategy のコンセプトに誤りがあった場合は、ご容赦ください。
質問:
database - ファクト テーブルの設計の混乱 - 計算されたメジャーなど
私はデータ ウェアハウスとディメンション モデリングにまったく慣れていないため、いくつかの点を明確にする必要があります。現在、次の寸法があります。
- DimProducts - 製品に関する情報。
- DimMaterials - 製品に使用される材料に関する情報。
- DimLocation - さまざまな店舗の場所
- DimTime - 年、四半期、月、週、日の標準時間ディメンション。
ここで、ファクト テーブルに関する混乱が生じます。現在、以下の対策を講じています。
- 収益
- 経費
質問:
- 純利益もメジャーにしたいのですが、これは計算メジャーなので、ファクト テーブルの列にする必要がありますか、それともレポート レベルで計算する必要がありますか? 計算されたメジャーに関する慣習については少しわかりません。
- また、どのくらいの製品を製造できるかを計算できるように、ある時点で利用可能な原材料の数も知りたいです (たとえば、1 台の自転車に 2 つの車輪がある場合、3 月に 50 台の車輪が利用可能であるということは、25 台の自転車が生産されることを意味します)。 3月)。原材料の数量という事実を追加する必要がありますか?
質問 2 に間違ってアプローチしているように感じます。この問題に対処するには、別のファクト テーブルを作成する必要があります。私が正しい軌道に乗っているかどうかについてのアドバイス/ヒントを本当に感謝します. ありがとう!