質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.64%

不良解析のデータベースについて

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 1,148

yuujiMotoki

score 56

とある商品開発部門にいて、不良解析業務をしています。
サンプル履歴について、データベースを作成して業務の効率化を図りたいと思っています。

1)測定データ
測定結果を吐き出す装置から、2種類のデータが出てきます。

ひとつは直流抵抗を測るもの → サンプルのバーコード、G/NGモードなどの結果 → CSVファイル

もうひとつはSパラメータ → サンプルのバーコード、G/NGモード、Sパラ波形(数値データ)→ csvファイル

2)処理

csvファイルはバーコードと、エラー情報のある列のみの抽出

Sパラメータは2次元配列になっており、膨大なデータなので、グラフ化して画像をjpg化したい

これらはすべてバーコードで管理されているが、測定データは測定エラーがあるとバーコードが欠落するし、複数測定すると重複する。

これらをまず論理和をとって、バーコードの列をキーIDとする。

アプリケーション

これらをデータベース上に抽出する
抽出したデータには、分析や解析結果が張り付けられる

フロントエンド

1)WEBアプリ立ち上げ
2)html+phpでデータを読み込む
3)phpでデータベースに書き込む
4)データベースへの問い合わせも、もちろんPHPで

・・・でも、PHP使ったことがない

将来的には、ruby+rail、django+python、javaなんてのもありうる。。。

現在はEXCEL+VBAで検討中

なんとかなりませんかねえ・・・

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Kunihiro_Narita

    2018/03/02 17:06

    要件としての体裁をなしていません。曖昧で抽象的な用語ではなく、具体的に記述すると良いでしょう。 例えば「膨大なデータ」とは、1MB?1GB?1TB?1EB?。分析や解析の演算とはどんなもの?パソコンで1秒でおわる程度?1時間?GPGPUやFPGAを駆使しても数日?特別な演算ライブラリとか不要なの?。データ量によって、演算内容によって、適用できる技術が異なりますよね。何もかもが曖昧で、抽象的で、適用する技術を検討する段階に至ってないです。

    キャンセル

  • yuujiMotoki

    2018/03/04 03:52

    データは測定器が吐き出すのですが、EXCELシートに読み込んだCSVは縦は300個、横が4000個ぐらいのデータです。このデータが2枚ある感じです。ただ単一だけでファイル化するのはいいのですが、全体を見渡すと複数のファイルを一望できるようなものを理想としています。ファイルの置き場所も決まっていなかったりするので、まずそこを定める必要があります。

    キャンセル

回答 4

+2

プログラミング言語の選択によって作りやすい作りにくいの差は出るでしょうけど、
その前に
どのようなデータが有り、データがそれぞれどんな精度で存在し、
どのようにデータを集め、どのように処理をすれば、期待する結果が得られるかという
アルゴリズムを第三者が見てもわかるくらいに明瞭化することが大事です。

一発で報告書レベルまでアウトプットできたら楽ですが、
場合によっては段階わけをして得意分野のつなぎ合わせで組み合わせたほうが
融通が利くこともあります。

納期(もしくは立ち上げ)まで、
どんな段取りで進めるか、
プログラミング言語の習得にどれだけ時間を割けるか、
アウトソースできる部分はないか、
など考えていく上でも、
作りたいもののイメージが固まってないと先に進めません。
作りたいもののイメージがあり、それを実現するアルゴリズムが確立して、
やっと具体的な設計に入っていけると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/04 03:46

    excelのカット&ペーストレベルでは、
    アウトプットしたいもののイメージは完全にできている状況です。

    ただ別の質問にも書いているのですが、エクセル+VBAのゴリゴリの自分が
    ・エクセル+VBAから別の開発方法に行く時間がない(やりたいこと検討の前に、普通のコーディング自体に指が進めない)
    ・プログラム言語の書籍を読む時間ばかりで、パソコンの前に座ってコードを打ち込んだり、事例を見たりする時間がさけない

    といった感じです。

    あまり職場ではソフト開発に時間はさけず、むしろ手作業で1時間ぐらいかかると見込んだ場合に、それと見合う時間でマクロ化していて、1回目の作業時間で工数2倍(2時間)で作業完了、2回目からは瞬時になって追い抜く感じです。とりあえず作業の反復性を重視して、マクロ職人になるか作業だけの人になるのかを切り替えています

    キャンセル

checkベストアンサー

0

データベースということですが、サーバを立ち上げてなどとなるとそれなりに大変です。
質問文を眺めての印象としては、python+sqliteあたりが適当ではないだろうかと思いました。

http://iatlex.com/linux/first_sqlite/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/04 04:00

    >Mysqlサーバーを走らせる
    最近mySQLを触っていて、その事実を知りました(お恥かしながら)
    sqliteでの保存というのは、変換済みデータの保存になりますか?
    私的にはアウトプットはxlsファイルに吐き出すか、別途で利便性のいいビューアーを作って多数のファイルを眺められるようなものを作るかで、最終的な構造が決まってくるような気がします

    キャンセル

  • 2018/03/04 04:43

    > sqliteでの保存というのは、変換済みデータの保存になりますか?
    xlsファイルの代わりにデータベースファイルが一つ出来上がるというイメージでよいと思います。
    xlsの中だけでなんとかなりそうなら、それでいくのも選択肢でしょうね。ただ、1万行とかになるとファイルを読みこむだけでも時間がかかりますし、vbaで二次処理となると試行錯誤するのも大変ですよね。今現在あなたがどのていどvbaを自分のものにしておられるのかにもよるのですが、こういう質問をしているということは、何らかの限界を感じているのですよね? 代替ツールとして、pythonは検討に値する選択肢だと思います。いきなり全面的には難しいでしょうが、試しに処理の一部を置き換えてみることに挑戦してみてはどうでしょう。なお、そのデータベースを公開するとか他の人と共有するというのでないかぎり、PHPとかdjangoとかはとりあえず忘れていいような気がします。

    キャンセル

  • 2018/03/05 09:21

    >xlsファイルの代わりにデータベースファイルが一つ出来上がるというイメージでよいと思います
    ありがとうございます。データベースのファイルという部分で、かなり引っかかっていたのですが、
    MySQLのようにサーバーを立てて起動するタイプは、1個の大きなファイルに全てが保存されるものでしょうか?XLSベースでのもう一つの利点は、ファイル単位で名前が明確であり、使い慣れているエクスプローラでの閲覧、コピーなどが容易で分かりやすいです。大きなDBとなると、ファイルは大きな括りで1個になってしまうのか、ファイル単体の保管場所自体のURL(\\ドライブ\保存先\ファイル名)を、フィールドに納めることになるのでしょうか?

    他の質問の方からも、python>>VBAで等価ではないことを伺いました。ライブラリによってはC並みのスピードが得られることも知りました。VBAにおいても2次元配列のオブジェクト化、リスト変数のようなeachループ、メソドなどを駆使すれば、高速化も出来ないことはないように思います(私のスキルはオブジェクト指向処理自体を取り入れていないことが問題なのかもしれません)

    プログラムの実行速度において、同じような組み方をした場合に、VBAとPYTHONはスクリプト言語としては、同じ処理速度になるのでしょうか? それともライブラリの充実度的にpythonの方が早くなるという感じでしょうか?あとexcelベースのVBAと、VB.NETというのは機能的に、どれぐらい違ってくるものでしょうか?(現時点では思ったことをサクッと短期間で書ききる。つまり余り本業に差し支えない程度の時間で動かせるものを作る)というのが最重要ポイントになっています。

    キャンセル

0

記入された情報から解決策を見つけるのは難しいので参考までに。
目的が不良解析でしたら解析手順等は同じではなく自動化はかなり難しいと推測します。(本質は不良を減らしすことなので)
今の処理のなかで最初に困っている「データの紐づけ」を楽にすればデータベースとして記録保存が簡単にできます。
結果を吐き出す装置側にデータが1製品と対応するように改良するのが重要だと思われます。たとえば不良のリストを同時に排出して出力されるデータのファイル名を記載すれば(重複しないように)簡単に見ることが可能です。リストに測定番号、時間等も入れておけば完全測定か不完全測定なのかも一目で分かるようになります。あと解析に不要なデータは排出させないことも大事かも。
測定機側の改造はプロの方が行っているので簡単に仕様変更できます(出力様式を変えるだけなので)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

一番単純に出来そうなのは、単に2つのcsvからsqlサーバー上のテーブルに順次追加するだけの方法があります。sqlサーバーには、これら2つのテーブルを内部結合でjoinしたビューを用意しておきます。
後は、EXCELのPowerPivotからsqlサーバーに接続して、このビューを取り込みピボットテーブルを作ってグラフを作成します。
PowerPivotは、EXCELの100万行の制限を超えて処理できるので、大量のデータ処理が可能となります。
私は、acessで250万行のピボット解析ができました。sqlサーバーであれば、ネットを介した接続も可能なので利用できるかと思います。ただし、ネットワーク負荷がたかくなると思いますので注意必要かと思います。
簡単なので一度試してはいかがでしょうか?なお、PowerPivotは、強力なのですがマクロなどからの使い方がわかりません。
どなたか、ご存知の方はおられますか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.64%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る