問題タブ [derived-column]

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.

0 投票する
0 に答える
104 参照

sql-server - 削除日フラグ列の追加方法

という名前の新しいテーブルに SQL Server にインポートするいくつかの増分抽出がImport.tableあり、それをファクト テーブルにロードします。Import.tableテーブルは毎日切り捨てられます。そのため、ファクト テーブルを維持するように依頼されましたFact.table。これには履歴データが含まれます。と列fact.tablereportingを持つはずのファクト テーブルからレポート テーブルを作成しています。最初は単純なフラグ列だけを作成するように求められたので、case ステートメントを使用して派生列を作成しました。DeletedDeletedDateDeleted

DeletedDate後で、レコードが削除されたとマークされた日に基づいて列を追加するように求められました。これが私の問題を引き起こしています。抽出は増分であり、同じ行が毎日処理されるため、派生列として作成しようとすると、DeletedDate列は現在の日付で更新されます。

既に日付のフラグが設定されている行を無視して、新しく削除された行のみを更新する方法はありますか? 派生列が正しい方法であるかどうかもわかりません。これについて助けていただければ幸いです。

0 投票する
2 に答える
223 参照

sql-server - 派生列でネストされた IF ELSE

以下のように BI_StartDate に日付を格納する次のロジックがあります。

  • UpdatedDatenull でない場合BI_StartDate=UpddatedDate
  • ELSEBI_StartDateEntryDatevalue を取り、EntryDateが null の場合BI_StartDate=CreatedDate
  • CreatedDateIS NULLの場合BI_StartDate=GetDATE()

以下に示すように、派生列を使用しています。

このエラーが発生しています:

「派生列.出力[派生列出力].Columns[派生列1]」の式「ISNULL(UpdatedDateODS) ? EntryDateODS : (ISNULL(EntryDateODS) ? CreatedDateODS :(ISNULL(CreatedDateODS) ? GETDATE() ))」は、有効ではありません。