問題タブ [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.
oracle - 緩やかに変化するディメンション結合のパフォーマンス
一般的な概要: 約 8000 万のレコードを含む Oracle テーブル 'product' があり、このテーブルを使用する結合のパフォーマンスを改善したいと考えています。ほとんどの場合、(列) 'valid_until' 日付 (値) 'mm/dd/9999' を持つ (テーブル) 'product' からのレコードの非常に小さなサブセットに関心があります。
可能な解決策:
- 「mm/dd/9999」を分割し、パーティション交換を使用して新しいデータをすばやくロードします。
- 'valid_until' 日付のインデックスを使用します。
他に考えられるオラクルのソリューションやアイデアはありますか?
jaxb - カスタム・インターフェースを実装する特定のタイプの JAXB 生成クラス
XJC を使用して XSD から Java POJO を生成するアプリケーションに取り組んでいます。数十のスキーマがあり、その数は増えるでしょう。また、アプリケーションは、同じスキーマの異なるバージョンを処理できる必要があります。つまり、共通の型を定義する複数のスキーマを持つことになります。特定のコア タイプが共通のインターフェイスを実装するようにバインディングをカスタマイズしようとしています。JAXB2 Basics の Inheritance プラグインは、私が必要としている機能を果たしているようですが、正しい構文を理解できていないようです。
私のスキーマの関連部分は次のとおりです。
...そして、これは私のカスタムバインディングファイルがどのように見えるかです:
継承プラグインの使用方法を示すすべての「従来の」バインディングの例では、schemaLocationが指定されているため、私はscdアプローチを使用しています。スキーマの数が多い (そして増加している) ため、schemaLocationを指定する必要は避けたいと考えています。新しいスキーマを追加するたびにバインディング ファイルを変更する必要はありません。したがって、scdはこの要件を満たしているようです。
ただし、上記のバインディングを使用してビルドを実行すると、次のようになります。
inheritance:implements行をコメントアウトし、 xjc:superInterface行のコメントを外すと、エラーはなくなり、ビルドは正常に完了しますが、私のAddressTypeクラスは ValidatableAddress タイプを実装していません。
継承プラグインをscdで使用できますか? xjc:superInterface を特定の要素のみに制限できますか?
乾杯。
ssas - 緩やかに変化するディメンションを使用した PerformancePoint フィルターの管理
ほんの少しの背景情報:
SCD2 を使用して社内のユーザーの変更 (チームの変更、役職の変更など) を追跡するディメンション テーブルがあります。以下の例を参照してください。
Analysis Services キューブを構築し、ディメンションに必要なすべての階層を作成しました。ファクト テーブルをナビゲートおよびドリルダウンするときにうまく機能します。
私が抱えている問題は、PerformancePoint ダッシュボードのフィルターにあります。ユーザーの複数のインスタンスでユーザー ディメンション テーブルを使用しているため、リストに重複が表示されます。サロゲート ID がディメンションで参照されている理由は理解できます。しかし、A チームの最初のインスタンスを選択すると、特定の期間のすべての売上が表示され、2 番目のインスタンスを選択すると、別の期間のすべての売上が表示されます。
この種の行動を処理する最善の方法は何ですか? 理想的には、チームの個別のリストをアルファベット順に表示したいと考えています。チーム名を選択すると、時間の経過に伴うすべてのデータが表示されます。
MDX クエリ フィルターの使用を検討しましたが、考えていないことがないか確認したいと思います。
これは簡単で簡単な質問ではないことは承知していますが、助けていただければ幸いです。
ssis - SCDまたは遅れて到着した事実?
会社での従業員の役割を示すスター スキーマがあります。最も単純には次のとおりです。
DimDate
DimPerson
DimPaygroup
DimRole
ファクト テーブルは次のようになります: PersonID、RoleID、PaygroupID、StartDate、EndDate
それが現在の役割である場合、Enddate は 2199 年 12 月 31 日に設定され
ます。 問題は、Paygroup を追跡する必要があることです。これは、個人の役割が変更されなくても変更される可能性があるためです。
私の最初の計画は、PayGroupEndDate というファクト テーブルに追加の列を追加することで、これを遅れて到着したファクトとして扱うことでした。これは、支払いグループが変更され、新しい行が追加されると更新されます。ただし、これが最善の解決策であるかどうかはわかりません。
ゆっくりと変化するディメンションにすることで、これをより適切に処理できますか?
StartDate と EndDate は役割専用です。つまり、人が役割を開始して退職するデータです。それがファクト テーブルの粒度です。
人は同じ役割にあり、ペイグループ間を移動することができ、これも追跡する必要がありますが、私はこれを SCD として実行しようとしていました。
更新: 個人ディメンションの属性として残すのではなく、PAYGROUP の新しいディメンションを作成することだけを考えていました。そのように変更すると、新しいレコードが入力されます。それは問題の簡単な解決策ですか?