2017-05-31 9 views
0

問題追跡ソフトウェア(Jira)で生産性を計算する必要があります。アイデアは、差分開発段階(問題の監査証跡のような特定のフィールドのような)によって問題が進行するにつれてデータをキャプチャしたいと考えています。生産性指標を定義するためのデータモデリング

私はavgのような指標を取得できるデータモデルを構築したいと思います。問題が2つのステージ間を移動するのにかかった時間(たとえば、進行中> UAT)。平均監査証跡ビューの上など

各開発者のための時間は、この形式でくれ

Audit ID | Issue ID| Developer | Issue-stage| Data_Update_dt 
A001 | 101 | D01 | In Progress| 31-May-17 00:25:00 
A002 | 101 | D01 | UAT | 31-May-17 06:25:00 

がデータを与えるだろう、私はA002とA001、時間との差を計算し、設計を理解しようとしていますREQD進行でから移動するにはUATへそれを行う最善の方法は何ですか?

アドバイスをしてください。

+0

RDBMS私はOracleを使用しています – Abhi

答えて

1

私は、「蓄積スナップショットファクト」を中心とする次元モデル/スタースキーマを作成します。そのスキーマは、システム内を移動するごとに1行につき1行です。

Accumulating Snapshot Facts

は、ファクトテーブルでは、各ステージのキー日付/時刻が含まれると思います。また、あるステージと次のステージとの間のギャップとして、および/またはステージで費やされた時間として事前に計算された、事実に「遅れ」の尺度を追加することもできます。

この事実は、日付、時刻、および開発者の次元に囲まれます。

これらのラグの平均を計算し、開発者が分析できるようにします。

+0

ありがとうございます。 lag()を使って時間を計算することは、試してみることです。私はscdタイプ2の行でsomethignを考えていました。新しいレコードがテーブルに追加されると、私はレコードを終了し、この時点でレコードの作成されたdtと終了dtの間で差が生じる各ステージで費やされた時間を計算します。 – Abhi

+0

あなたはタイプ2 SCDを行うことができますが。それは通常は次元ですが、実際に必要ならば事実のためにそれを行うことができます。しかし、チケットが各ステータスに到達した日時の別々の日付/時刻が記録されている蓄積スナップショットの事実として、1つの事実行で行われた方が良いと言えます。 createddate、devdonedate、testdonedate、寄付する。 – Rich