問題タブ [data-warehouse]
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 - OLTPリレーショナルデータベースのデータウェアハウスモデルへの変換
典型的なエンティティリレーションシップOLTPデータベースモデルからキンボールスタースキーマデータウェアハウス/マーツモデルにデータをロードする際に採用される一般的な設計アプローチは何ですか?
- ステージング領域を使用して変換を実行してから、倉庫にロードしますか?
- ウェアハウスとOLTPデータベースの間でデータをどのようにリンクしますか?
- 変換プロセスをどこで/どのように管理しますか?データベース内で、sprocs、dts / ssisパッケージ、またはアプリケーションコードからのSQLとして管理しますか?
data-warehouse - データ ウェアハウス キューブを試すことができる実際のデータセットは、オンラインのどこで見つけることができますか?
私はデータ ウェアハウスを研究しており、研究のために最後のプロジェクトを 1 つ実行する必要があります。
データ ウェアハウス用のキューブを作成することを考えています。立方体を試すことができる実際のデータセットをオンラインでどこで見つけることができますか?
ssas - Analysis Services 2008 の複数の階層の属性
スター スキーマを使用する比較的単純なデータ ウェアハウスを設計しました。CompanyID 列と Amount (実際の測定値) 列と共に主キーのみを持つファクト テーブルがあります。もちろん、ファクト テーブルが参照する会社を表すディメンション テーブルもあります。
ここで、会社の単一レベルの階層 (CompanyGroup) を作成する必要があります。これは簡単な作業のように思えますが、問題は、単一の会社が複数の CompanyGroup 内に存在できるようにする必要があることです。
これを実験して、主キー GroupKey と CompanyKey を保持する CompanyHierarchy という新しいディメンション テーブルを作成しました。GroupKey が最上位レベルで、CompanyKey が 2 番目のレベルであるユーザー定義階層を定義すると、ディメンションの処理中に CompanyKey属性の重複属性キーが見つかりましたというエラーが発生します。
だから、私はこれを始める方法さえよくわかりません。属性が複数回存在するディメンション内にユーザー定義の階層を作成するにはどうすればよいですか?
現在のキューブ定義のスクリーン ショットは、次の場所で見ることができます。
img132.imageshack.us/img132/6729/ssasm2m.gif
sql - Datawarehouse での null の処理
データ ウェアハウジングと SSIS/SSAS に関連する場合に、null または空のデータ値を処理するためのベスト プラクティスについて、ご意見をお聞かせください。
異なる行に NULL 値を含むいくつかのファクト テーブルとディメンション テーブルがあります。
仕様:
1) null の日付/時刻値を処理する最良の方法は何ですか? 時間または日付のディメンションに「既定」の行を作成し、null が見つかったときに SSIS を既定の行にポイントする必要がありますか?
2)ディメンション データ内の null/空の値を処理する最良の方法は何ですか? 例: 「アカウント」ディメンションに、アカウント名列に空の (NULL ではない) 値を持つ行がいくつかあります。列内のこれらの空または null 値を特定の既定値に変換する必要がありますか?
3)上記のポイント 1 と同様 - ディメンション列の 1 つにレコードがない Facttable 行になった場合はどうすればよいですか? これが発生した場合に備えて、各ディメンションの既定のディメンション レコードが必要ですか?
4) SQL サーバー統合サービス (SSIS) でこれらの操作を処理する方法に関する提案やヒントはありますか? 最適なデータ フロー構成または最適な変換オブジェクトを使用すると役立ちます。
ありがとう :-)
ssis - SSIS でのスカラー値関数の呼び出し
SSIS の派生列変換内からスカラー値関数を実行する方法はありますか?
-シナリオ-
ソース DB に、レコードの UOM 列の UOM 値に基づいて重みを変換する関数があります。この関数を ETL プロセスで利用して、体重測定値が常にポンドであることを確認したいと考えています。派生列内からこの関数を呼び出すことはできますか? そうでない場合、データ フロー内で利用できる別の変換タスクはありますか (列のステージングを回避しようとしています)。
dbo.Tasks テーブル
dbo.MeasurementUnits テーブル
dbo.GetConvertedWeight 関数
関数呼び出しの例
c# - プログラムでC#のSSISにデータフローコンポーネントを追加して接続します
SSISのデータフローコンポーネント用の高品質のサンプルコードはありますか?
特に次のものが必要です。
- OLEDBソース
- 列変換を導出する
- フラットファイルの宛先。
テーブルスキーマが、varchar(2)のIDとvarchar(20)の説明の2つの列で構成されているとします。出力は、1文字のフラットファイルID(IDの最初の文字を取得するだけ)と10文字の説明(Descriptionの最初の10文字を取得するだけ)です。それがC#であったら素晴らしいでしょう。
制御フロータスクと接続マネージャーを追加して接続することを私がよく知っていると仮定しましょう。
専門知識を事前に感謝します。
編集:
SQL Server 2005しかないので、このバージョンの例は非常に役立ちます。しかし、2008年にezAPIを使用できると本当にいいでしょう。
data-warehouse - データ ウェアハウス レポートに関する質問
私はデータ ウェアハウスに飛び込み始めたばかりで、1 つの質問があります。
私は 10 の店舗を持ち、それぞれに特定の従業員がいるビジネスを行っています。私のデータ ウェアハウスには、店舗を表すディメンションがあります。従業員ディメンションは SCD であり、開始/終了の列と、従業員が働いている店舗があります。
私のファクト テーブルは、従業員が (匿名で) 店長に提供する提案に基づいています。このテーブルには、提案の種類 (清潔さ、給与の問題など)、提案が提出された日付 (Time ディメンション テーブルにキー付けされた外部)、および提案が提出された店舗が含まれています。
私がやりたいことは、特定の年の従業員数に対する提案数の比率を示すレポートを作成することです。従業員の数は定期的に変化するため、従業員の総数について簡単なクエリを実行することはできません。
残念ながら、私は解決策を見つけるためにウェブをかなり検索しましたが、例の大部分は小売ベースの販売であり、これは私がやろうとしていることとは異なります.
どんな助けでも大歓迎です。私のマシンには AdventureWorksDW がインストールされているので、それを使用する提案があれば参考にしてください。
前もって感謝します!
sql-server - データ ウェアハウスのシナリオで、WITH(NOLOCK) を使用することのデメリットはありますか
私は Kimball スタイルの DW (スター モデルのファクトとディメンション - 後から到着するファクトの行や列はなく、タイプ 2 のゆっくりと変化するディメンションの一部としての有効期限を除いて、ディメンションが変化する列はありません) を持っており、行を挿入および更新するための重い毎日の処理 (新しい日付) および月次および日次のレポート プロセス。古いデータを簡単にロールオフできるように、ファクト テーブルは日付ごとに分割されます。
コミットされていないデータが読み取られる可能性があることは理解してWITH(NOLOCK)いますが、ETL プロセスが失敗したりブロックされたりする原因となるロックを作成したくありません。
すべての場合において、DW から読み取るときは、変更されない日付のファクト テーブル (ファクト テーブルは日付によって分割されます) と、リンクされているファクトの属性が変更されないディメンション テーブルから読み取ります。 .
それで - 欠点はありますか?- おそらく実行計画、またはSELECT同じテーブルから並行して実行されるそのような -only クエリの操作で。
database - 主キーと制約
(もちろん) OLTP データベースから構築された新しいデータ ウェアハウスでは、すべての IDENTITY 列を削除し、それらを INT 列に変更しました。
特に倉庫が非正規化されているため、以下に関するベストプラクティスは何ですか:
- 主キー
-> 複数のテーブルが結合されているため、これは複合キーになっている可能性があります
-> OLTP のキー構造に従う必要がありますか?
- 制約
-> ビット列のデフォルト値 (0) を持ついくつかの制約 (NOT NULL) があります