TOP>製品/サービス>カテゴリから探す>品質強化対策>Quality Center>技術情報>Quality Centerに蓄積したデータを思いのままにExcelに出力できる、サンプルレポート

Quality Center

Quality Centerに蓄積したデータを思いのままにExcelに出力できる、サンプルレポート

本ページでは、Quality Center 9.2で新しく追加されたExcelレポート機能の活用例をご紹介します。

Excelレポート機能の仕組み

Excelレポートは、Quality Centerで管理されているデータに対して、SQLのクエリを発行し、結果をExcelのシートに出力します。また、Excelのマクロ(Visual Basic for Applications)を実行させることも可能です。

これまでQuality Centerの標準機能では作成できなかったレポートも、自由自在に生成できるようになりました。

Excelレポートの具体例

本ページでは、以下のレポートサンプル及び作成方法をご紹介します。いずれも、実際のユーザ様でお使いいただいているレポートです。


前提知識

  • Excelレポートの設定/生成は、ダッシュボードモジュールのアナリシスビューで行います。
  • [クエリー]タブには、SQLのクエリを記述します。
  • [後処理]タブには、Excelにクエリのデータが全て書き込まれた際に動作させるVBAを記述します。
  • 本ページで記述するSQLクエリは、Oracle専用です。関数や日付変数などは、ご利用のデータベースに合わせて置き換えてください。


Excelレポート サンプル及び作成方法

(1) 対応が長期化している不具合順に一覧表示

要望

不具合の情報を分析する際、修正に時間がかかった不具合については、より対応スピードを上げるための対策を講じたい。その参考資料として、対応期間が長い順に不具合を一覧表示させたい。

レポートの設定内容

不具合の対応期間は検出日から終了日までの日数であるとします。対応期間を担当者が計算してQuality Centerに登録するのではなく、SQLクエリ内で自動計算します。まだ終了していない不具合は[終了日]が設定されていません。その場合、[検出日]から現在までの日数を対応期間として計算します。

SQLクエリ

SELECT
BG_BUG_ID as 不具合ID,
BG_STATUS as ステータス,
BG_SUMMARY as サマリ,
BG_DETECTED_BY as 検出者,
to_char(BG_DETECTION_DATE,'yyyy.mm.dd') as 検出日,
to_char(BG_CLOSING_DATE,'yyyy.mm.dd') as 終了日,
case
when BG_CLOSING_DATE is null
then trunc(sysdate-BG_DETECTION_DATE,0)
else (BG_CLOSING_DATE-BG_DETECTION_DATE)
end as 期間
FROM BUG
ORDER by 期間 desc

[終了日]が未設定(空)で、対応期間が予定以上に長い不具合は、何らかの問題がある可能性があります。状況が把握できることで、是正措置を取れるようになります。

Excelレポート設定画面<SQLクエリ>
(クリックで拡大します)

対応が長期化している不具合一覧
(クリックで拡大します)


(2) 実行回数の多いテストを回数順に一覧表示

要望

テストを実行し、不具合修正後に再テストを実施している。実行回数が多いテストは、テスト設計が未熟なのか、完全に不具合が修正されないまま再テストが依頼されているのか、を分析したいので、実行回数が多いテストを把握したい。

レポートの設定内容

テストの実行回数もQuality Centerが自動で管理しており、各実行ごとに結果も保存しています。この全ての実行結果を読み込み、実行回数を一覧表示しています。

SQLクエリ

SELECT
min(CY_CYCLE) as テストセット,
min(TS_NAME) as テスト,
count(RN_RUN_ID) as 実行回数
FROM RUN, CYCLE, TEST
WHERE RN_CYCLE_ID = CY_CYCLE_ID
and RN_TEST_ID = TS_TEST_ID
GROUP by
RN_CYCLE_ID,
RN_TESTCYCL_ID
ORDER BY 実行回数 desc

実行回数の多いテスト一覧
(クリックで拡大します)


(3) 生成したExcelデータの体裁を整える

要望

Excelレポートを生成した後、列の幅や、外枠の設定、背景色の設定を行うのは面倒。レポート生成時に自動で設定されるようにしたい。

レポートの設定内容

Excelレポートの[後処理]タブにて、VBAをコーディングします。
この例では、UsedRangeプロパティを使用することで生成したデータのみを選択し、その範囲に罫線を引いています。

VBA

Sub QC_PostProcessing()
Dim MainWorksheet As Worksheet
' Make sure your worksheet name matches!
Set MainWorksheet = ActiveWorkbook.Worksheets("Sheet1")
Dim DataRange As Range
Set DataRange = MainWorksheet.UsedRange
' Now that you have the data in DataRange you can process it.

' --------------- ここから ------------------
Cells.Select
Cells.EntireColumn.AutoFit
DataRange.Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

Range("A1").Select
' --------------- ここまで ------------------
End Sub

注意

Excelレポートの[後処理]では、予め元になるスクリプトが挿入されています。プロシージャ名やレンジ指定などは変更しないようにしてください。

補足

新しくVBAを作成する場合、Excelで[開発]タブ →[マクロの記録]から行います。([開発]タブの表示には設定変更が必要です)
[Visual Basic Editor]で記録したマクロをコピーし、Excelレポートの[後処理]タブに貼り付けるだけで、簡単に[後処理]のVBAを作成することが出来ます。

Excelレポート設定画面(VBA)
(クリックで拡大します)

お求めの情報は見つかりましたでしょうか。

資料請求/お問い合わせはこちら(専門の担当者が確認し、ご対応します。)

お客様の状況に合わせて詳しい情報をお届けできます。お気軽にご相談ください。

ページの先頭へ戻る