研究者のためのコンピュータフォーラム

  • 研究者同士のコンピュータに関する情報交換の場です。
  • 新しいテーマで話を始める場合、質問をする場合は「新しいトピックを作る」から書き込みをしてください。
  • 質問に対して解答できる方は是非、書き込んで下さい。
  • このフォーラムにふさわしくないと管理人が判断した投稿は予告なく削除します。

新しいトピックを作る | トピック一覧 | 研究留学ネットに戻る

このスレッドをはてなブックマークに追加このスレッドをはてなブックマークに追加

Microsoft Accessを用いたデータの照合作業 トピック削除
No.302-TOPIC - 2007/07/09 (月) 11:52:22 - まさきち
管理人さんの、今回のAccessの記事には、ちょっとばかりびっくりしました。
てっきりマック使いだと思っていた方が、今更マイクロソフト・アクセスとは...
マック系のソフト(ウィンドウズ版もありますが)でも、ファイルメーカーPROを使って、5秒で出来そうなことなのに、アクセスを使われたのは、何か意味があるのでしょうか??
 
- このトピックにメッセージを投稿する -



8件 ( 1 〜 8 )  前 | 次  1/ 1. /1


ファイルメーカーPRO8.5 削除/引用
No.302-8 - 2007/07/15 (日) 00:42:25 - まさきち
>[Re:4] 管理人さんは書きました :
> お恥ずかしい話です。確かにファイルメーカーでもできましたので、手順をWhat's newの方に書いておきました。

数百のデータでしか試していませんが、手元にあるファイルメーカーPRO5.5と8.5で比較したところ、8.5の方が早いようです。

ファイルメーカーはVer7でメジャー・アップデートが行われ、ひとつのファイル内で複数のデータベース(テーブル)を持てるようになりました。これに伴い、ファイル形式も変更されましたので、以前のデータベースは、変換して開かれることになります。

現在8.5(日本語)、9.0(英語)が最新版です。

30日無料トライアルはこちらから↓(ファイルメーカーの回し者ではありませんが...)

http://www.filemaker.co.jp/support/downloads/index.html#trial

Excelだけでもできませんか? 削除/引用
No.302-7 - 2007/07/14 (土) 12:04:46 - anatolia
単純な表でIDに重複がなければ,Excel の Lookup 関数を使えばできないでしょうか?
数千のデータなら簡単にできますが.外していたらごめんなさい.

(無題) 削除/引用
No.302-6 - 2007/07/13 (金) 18:33:43 - T
http://www.biomedcentral.com/1471-2164/8/62/suppl/S4
のデータを使ってテストしてみました。1万8千件ほどなので、管理人さんのデータよりは小規模ですが。

まず、上記のデータを二つに分けました。ワークシート2に Affy_id, GeneName, Chr, Cytoband のカラムをコピーし、ワークシート1から GeneName, Chr, Cytoband のカラムを削除しました。つまり、ワークシート1には計測した数値データ、ワークシート2には遺伝子の名前と染色体上の位置、両方に共通して Affy_id という構成です。

作成したワークシートをを FileMaker に取り込みました。取り込みにかかった時間はワークシート1:10秒、ワークシート2:6秒です。1は項目が多い分時間がかかるようです。

次にデータベースの定義でワークシート1と2の関連付けを行い、Affy_id フィールドを参照フィールドとします。これは一瞬です。

最後に、まとめてデータを書き出します。「レコードのエクスポート」でファイルタイプとして Excel を選び、ワークシート1、ワークシート2の全てのフィールドを書き出すように設定します。書き出しにかかった時間は約80秒です。

FileMaker を立ち上げてから書き出したエクセルファイルが完成するまでトータルで約3分かかりました。Accel よりは時間がかかっているかもしれませんが、十分実用的なスピードではないでしょうか。

ちなみに最初の方法「照合しながらインポート」でも、15秒でインポートが終了しました。8時間もかかったのはソフトの問題である可能性が大きいです。

使用したのは前述の通り FileMaker Pro 8.5 for Mac, マシンは MacBookPro 2.16GHz Core2Duo です。

リレーションを使った方法 削除/引用
No.302-5 - 2007/07/13 (金) 00:25:51 - T
先のやり方だと、件数が多い場合には時間がかかるようですね。
Access と同じようにデータベース間のリレーションを定義するやり方でも可能です。
先のやり方に比べればやや複雑ですが、スピードは速いかもしれません。

(1)エクセル1,エクセル2をそれぞれ FileMaker のアイコンにドラッグしてデータを変換します(変換された FileMaker データベースをFM1、FM2とします)。

(2)次にFM1が表示された状態で「ファイル」>「定義」>「データベース」を選び、「リレーションシップ」タブを選択します。画面左下のテーブル追加ボタン(テーブル/リレーションシップ関連ボタンの左端)を押し、「ファイル」から「ファイル参照の追加」をえらび、先ほど変換したFM2を選択します。これで画面にはFM1、FM2とそれぞれに含まれるフィールドが表示されるはずです。

(3)次いでリレーションを定義します。FM1とFM2で照合するフィールドの間をマウスでドラッグすれば、線が繋がってリレーションが形成されたことが分かります。これでOKを押してデータベース定義画面を閉じます。

(4)あとはFM1のレイアウト画面でフィールドを追加すれば、従来のFM1に含まれているフィールドに加えて、関連テーブルFM2に含まれるフィールドも配置できるようになり、照合フィールドの値に応じてFM1,FM2から値が抽出されます。また、エクスポートもFM1,FM2の両方から任意のフィールドを選んでエクスポートできます。

以上の内容は FileMaker Pro 8.5 for Mac で確認しました。

確かにファイルメーカーでもできました 削除/引用
No.302-4 - 2007/07/12 (木) 21:18:11 - 管理人
お恥ずかしい話です。確かにファイルメーカーでもできましたので、手順をWhat's newの方に書いておきました。
http://www.kenkyuu.net/whatsnew/2007/07/filemaker_matching.html
ご指摘ありがとうございました。

ファイルメーカー 削除/引用
No.302-3 - 2007/07/09 (月) 13:40:25 - まさきち
>(1)まず、FileMaker で新規データベースを作成して、必要なデータのフィールド
>(例えば GeneID, Signal, GeneName 等々)を設定しておきます。
>(2)次にエクセルのファイルをインポートします。「ファイル」>「レコードのイ
>ンポート」>「ファイル」で対象の .xls ファイルを選べば、どのカラムをどの FileM
>aker フィールドに対応させるかを選択する画面が出ます。希望の対応(例えば
> ExcelID→GeneID、ExcelSignal→Signal)になるように設定して、インポートを押
>せば第一段階完了です。

このような設定なしでも、エクセルのファイルをファイルメーカーのアプリケーション・アイコンに重ねて開くだけでも、ほぼ同じ結果が自動的に行われます。

(無題) 削除/引用
No.302-2 - 2007/07/09 (月) 13:24:35 - T
単に FileMaker に慣れておられなかっただけでしょう。

今後の参考に、FileMaker での手順を書いてみます。
(1)まず、FileMaker で新規データベースを作成して、必要なデータのフィールド(例えば GeneID, Signal, GeneName 等々)を設定しておきます。
(2)次にエクセルのファイルをインポートします。「ファイル」>「レコードのインポート」>「ファイル」で対象の .xls ファイルを選べば、どのカラムをどの FileMaker フィールドに対応させるかを選択する画面が出ます。希望の対応(例えば ExcelID→GeneID、ExcelSignal→Signal)になるように設定して、インポートを押せば第一段階完了です。
(3)そして2番目のエクセルファイルをインポートします。この時に、インポート方法として「対象レコードで一致するデータを更新」を選び、状況に応じて「一致しないデータを新規レコードとして追加する」をチェックします。このインポート方法を選ぶと「照合フィールド」が使えるようになるので、2番目のエクセルファイルの ID フィールドを FileMaker の GeneID フィールドと照合するように設定し、Name フィールドを GeneName フィールドにインポートするようにします。
これでインポートボタンを押せば出来上がり。一つの GeneID に対して Signal と GeneName が一緒になったデータベースが完成します。もちろんエクセルにエクスポートする事もできます。

操作は非常に直感的ですから、FileMaker で簡単なデータベースを作ったことがある方なら何の問題もないでしょう。

Microsoft Accessを用いたデータの照合作業 削除/引用
No.302-1 - 2007/07/09 (月) 11:52:22 - まさきち
管理人さんの、今回のAccessの記事には、ちょっとばかりびっくりしました。
てっきりマック使いだと思っていた方が、今更マイクロソフト・アクセスとは...
マック系のソフト(ウィンドウズ版もありますが)でも、ファイルメーカーPROを使って、5秒で出来そうなことなのに、アクセスを使われたのは、何か意味があるのでしょうか??

8件 ( 1 〜 8 )  前 | 次  1/ 1. /1


パスワードを入力してチェックした記事を チェックした記事を

このトピックにメッセージを投稿する
名前 
メール   アドレス非公開
   タイトル 
本文      
設定  クッキーを保存(次回の入力の手間を省けます)
上に上げない(トピックの一覧で一番上に移動させません)
解決(問題が解決した際にチェックしてください)
暗証  半角英数字8-12文字の暗証番号を入れると、あとで削除、修正ができます。
送信 

〔使い方〕
  • 「アドレス非公開」をチェックすれば、自分のメールアドレスを公開しないで他の方からメールを受け取れます。
  • 問題が解決した際には、解決ボタンをチェックして解決した旨のコメントをつけてください。これは、初めにトピックを作った人と管理人のみが可能です。
  • 半角カタカナ、機種依存文字(全角ローマ数字、○の中の数字等)は文字化けの原因となりますので使わないでください。