問題タブ [scd]
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.
mysql - MySQL で SCD タイプ 2 テーブルをクエリする
次の表を想像してください。
パラメータとして送信された日付に従って、正しいタイプを返すビューを構築する方法があるかどうかを知りたいです。例えば:
SELECT Type WHERE date_to_analyse = '21/06/2010'
'Retail'
SELECT Type WHERE date_to_analyse = '18/06/2012
を返す必要があります' 'Corp' を返す必要があります
Date_to_analyse はテーブルの列ではないため、ストアド プロシージャの使用を避けたいと考えています。
私の考えは、次のクエリを使用する代わりに、クエリを「クリーン」にすることです
これは可能ですか?
ありがとう
sql-server - SSIS SCD 変換の開始日と終了日が同じ - どうしてですか?
ETL に問題があります。SCD 1 列と SCD 2 列を含むディメンション テーブルがあります。これらを SCD 変換Changing Attribute
でHistorical Attribute
それぞれ と として正しくマッピングしました。
次に、Historical Attribute Options ページで をチェックしUse start and end dates to identify current and expired records
、ValidFrom 列を として入力し、ValidTo 列を として入力Start date column
しましたEnd date column
。
私が理解しているように、これは、挿入されたレコードには現在の日時値の ValidFrom が与えられ、その ValidTo 列はそのままであることを意味するはずですNULL
。また、既に存在するが古いレコードの場合、その ValidTo は現在の日時値になります。
ただし、インポートされるすべてのレコードではなく、一部のレコードでは、挿入された最新のレコードが、ValidFrom および ValidTo レコードにまったく同じ日時で挿入されます。クエリでそのレコードが無効であると見なされ、ファクトテーブルの読み込みに影響が及ぶため、これは非常に苦痛になります。
なぜこれが起こっているのか誰でも助けることができますか?
sql-server - 繰り返し間隔/履歴の重複を削除
その質問に適切なタイトルを付けるのは少し難しいので、問題を説明しようと思います。Oracle --> JCCを使用したSQL Serverレプリケーションがあります。Oracle でトランザクション ログを読み取り、変更ごとにINSERT + UPDATEの2 つのステートメントを送信するという仕組みです。したがって、そのようなレコードがない場合は、SQL Serverにレコードが既に存在する場合に挿入されます。そのため、最初のINSERTはPK違反のために失敗し、レコードを更新しようとします。
現在、履歴追跡にSQL Server テンポラル テーブルを使用しようとしています。ログを再生する必要があるため、 JCC (レプリケーション) が失敗すると問題が発生します。たとえば、午前 11 時 1 分にレプリケーションが失敗したとします。レコードを見逃さないようにするために、たとえば午前 10 時 45 分から再生する必要があります。通常のテーブルではうまく機能しますが、一時的なテーブルを扱うと、履歴が台無しになり、履歴が不正確になります。
それで、今質問です。これらのレコードを特定してクリーンアップするにはどうすればよいですか?