アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。PRGで行き詰まってしまい皆様のお知恵を借りたいと思い投稿しました。
まだOracle初心者のへっぽこシステム管理ですが、お上よりDB(Oracel)からある条件でデータを取って来て
Excelに出力してほしいと頼まれました・・

生産実績管理サーバー(Oracel9)の実績テーブルには、
生産日|工場No.|商品名|機械No.|生産数|
4/1|100|ケーキ|A|100|
4/1|100|ケーキ|A|120|
4/1|100|チョコ|A|150|

生産計画目標サーバー(Oracel8)の計画目標テーブルには、
機械で出来る計画能力が入っております
工場No.|商品名|機械No.|計画生産数|
100|ケーキ|A|150|
100|チョコ|A|150|

上記のテーブルのデータをVBでoo4oで接続して、Excelに出力したのです。
Excelへの完成一覧表は、条件で生産日を4/1で、工場を100で、
商品名|機械No.|生産数|計画生産数|
ケーキ|A|220|150|
チョコ|A|150|150|
にしたいのです。

【VB】
Set oraSes = CreateObject("OracleInProcServer.XOraSession")
Set ora9 = oraSes.OpenDatabase("実績","実績/実績”,0&)
Set ora8 = oraSes.OpenDatabase("計画","計画/計画”,0&)

strSQL1 = "select 商品名,機械No.,Sum(生産数) from 実績 " & _
"where 生産日='4/1' and 工場名='100' "
"group by 商品名,機械No. order by 商品名,機械No."
Set oraDs9 = ora9.DbCreateDynaset(strSQL1,4&)

strSQL2 ="select * from 計画目標"
Set oraDs8 = ora8.DbCreateDynaset(strSQL2,4&)

Excel起動(省略)
Excelに書き込む・・・・

これが現在までのPRGなのですが、oraDs9で取得して来た商品名と機械No.をKeyにして
Oracel8の計画目標テーブルから計画生産数を取得、それを結合して、一気にExcelに書き出したいのです。
oraDs9の商品名と機械No.を配列変数に入れて、Doでora8へSQL文を回すようなやりかたはあまりしたくないのです。
Oracleで一気に検索して、上記の欲しい一覧表を取得できたら最高なのですが・・・・
またExcelに書き出す方法は、ExcelでoraDs8をDo~Loopで書き出していくしか無いのでしょうか?
書き出すサンプルソース・参考になるようなものがありましたら教えて下さい。
もしOracelで、一気にExcelに書き出せる方法がありましたら教えて下さい。

色々と聞いてしまって申し訳ございませんが、何卒宜しくお願いします。

A 回答 (1件)

異なるデータベース間のデータを使用する方法は以下があります。


(1)データベースリンクを使用する
(2)ファイル経由でどちらかのDBに必要なデータを集める。

データウェアハウスを構築するなら相互参照可能な環境を構築すべきです。

それが出来れば、UNIONなりジョインなりで集計可能でしょう。

あと、計画と実績って、オーダーに対して発生しますが、
以下のような場合を考慮できているんでしょうか。

オーダーA
■ケーキを4/1に1000個作る計画
■それに対して4/1に500個の実績、4/2に500個(計画遅れ)の実績

オーダーB
★ケーキを4/2に1000個作る計画
★それに対して4/2に500個の実績、4/9に500個(計画遅れ)の実績

これを日単位の集計のみで見てもあまり意味がないと思います。

以下のように累計で集計した上でZグラフで見ないと
計画の進捗率などは把握できないと思います。

日  計画  実績 計画累計 実績累計
--------------------------------------------
4/1 1000  500  1000   500
4/2 1000  1000 2000   1500
4/9 -   500  2000   2000

4/2の実績はオーダーAの計画が1000に対してAとBの実績が合算して1000になっており、計画通りに見えてしまいます。
※累計でみると4/2は500個の遅れが発生してます。

私が関わったシステムと考え方やデータの持ち方が異なっていて
問題がなければいいのですが。
    • good
    • 0
この回答へのお礼

回答の方、遅くなり大変申し訳ございませんでしたTT
大変勉強に成りました!! 本当に感謝しております☆

考慮点は脱帽でした^^ 今後共宜しくお願いします。

お礼日時:2008/09/01 15:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す