みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win ファイルメーカー12
ファイルメーカー初心者です。
品名1 製品番号1 品名2 製品番号2 …
AAA BBB あああ いいい …
となっているエクセルデータがあります。
品名、製品番号それぞれ1~10まであります。
これをファイルメーカーに取り込むのですが、
品名 製品番号
AAA BBB
あああ いいい
というように、 レコード数を縦に増やしていく形にしたいのですが、どのようにやればよいか見当がつきません。
ご教授ください。
エクセル側で、2列に手で移動させる、とか、2列ずつ10回インポートするのが手っ取り早いのでは。
Offline
Shin様、ありがとうございます。
エクセルデータと書いてしまいましたが、エクセルで表示できる行数を超えており、CSVで落としてあります。
データ数は80万レコードほどあります。
品名、製品番号以外に、購入日があります。購入日のフィールドは1つです。
購入日 品名1 製品番号1 品名2 製品番号2 …
2013/11/01 AAA BBB あああ いいい …
今後も月1回、定期的に作業するのですが、10回インポートを自動化させる方が手っ取り早いのでしょうか?
そのままインポートして計算フィールドで繰り返し10に変換して、分割インポート、とかでもできそうだけど
10個のうちには空欄もあるんじゃないですか?
毎月800万レコードかあ...
himaganee様、ありがとうございます。
おっしゃる通り、10個の内に空欄があります。
殆どが5個以内にデータが収まっていますが、10個入っているデータが僅かですが存在します。
繰り返しに…のやり方、詳しく教えて頂けますでしょうか?
10回インポートすると、数百万レコードの削除が必要になりますので、イマイチですね。
himaganee さんの提案の、中間テーブルを作ってそのままインポート、が最善でしょう。
繰り返しフィールドの計算式は、例えば、品目用のものでしたら
Evaluate ( "品目" & Get ( 計算式繰り返し位置番号 ) )
でいけると思いますが、テーブル名が必要になるかもしれません。
Offline
Shin様
Evaluate ( "品名" & Get ( 計算式繰り返し位置番号 ) )で行いましたが上手くいきません。
品名の繰り返しフィールド(10)を作成し、計算式で上記式を入れました。
結果、最初のフィールドには入りましたが、残りは反映されません。
私の考え方が間違っているのでしょうか。
Evaluate ( "品名" & Get ( 計算式繰り返し位置番号 ) & "[1]" )
ですかね。
> Evaluate
索引非保存としないとインポートでもだめですね。
Extend ( GetField ( "品名" & Get ( 計算式繰り返し位置番号 ) ) )
これはインポート時に計算してくれますが、
編集で再計算してくれない。
べたべたに
Choose ( Get (計算式繰り返し位置番号) ; "" ; 品名1[1] ; 品名2[1] ; 品名3[1] ; 品名4[1] ; ・・・・)
これなら索引設定できます。
索引の有無で
それをインポートするときの違いが出ますかね??
Offline
非保存の方が、実テーブルにインポート時に計算するからいいかな。
「最初のフィールドには入りました」というので油断しましたが、インポート時に計算したければ
Evaluate ( "品名" & Get ( 計算式繰り返し位置番号 ) & "[1]" ; 製品番号10 )
のように最後のフィールドに依存するようにしないとだめみたいですね。
Layouter様、チポ様、ありがとうございます。
Extend を使用して、「出来た!」と思ったら編集時に何の反応もなく、困っていました。
そして再びここに来たら、チポ様がちょうどそのことを分かりやすく書かれていたので、Choose で対応しました。
その結果、考えていた形になりました。
皆様ありがとうございました。
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 521.86 KiB (Peak: 526.4 KiB) ]