初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-04-25 17:20:38

Okkey
Member

改行区切り.txtファイルとしてエクスポートするための縦並び変換

FM13を使用しています。
工業機械の動作命令を読み込むための改行区切りの.txtファイルをエクスポートしたいのですが、横並びのレコードを分けて、縦並びのテーブルに変換(転置)する方法で困っています。

ひとつの.txtファイルの元となるデータは一行分のレコード(繰り返しフィールドなし)で、

(例)
No フィールド1 フィールド2 ・・・  フィールド20
123   A       B    ・・・    T

のようになっています。ひとつひとつのフィールドを別ファイルのレコードに変換し

フィールド
123
  A
  B
  :
  T

のように変換するにはどのような方法があるでしょうか。
フィールドの数はかならずしも一定ではなく、同じレコード内の別のフィールドの値によって変化します。

ご回答のほどよろしくお願いいたします。

Offline

#2 2014-04-25 17:37:32

Traveller
Guest

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

繰り返しフィールドに入れたら別テーブルからインポートして
書き出すだけなのですが。

#3 2014-04-25 17:39:17

Hiro
Member

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

計算フィールド(式:List(No;フィールド1;フィールド2;・・・;フィールド20))を作り、それを「ファイールド内容のエクスポート」するのが楽かな。
ただし、出力文字コードはUnicodeに限定な事と、式は空白(空行)フィールド値が含まれない事が前提、ある場合は式を調整。

Offline

#4 2014-04-25 17:45:56

Okkey
Member

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

Travellerさんのいうようにしたら簡単なのかなと感じました。
勉強不足で繰り返しフィールドについてはっきりと理解できていないのですが、
ひとつのレコードとして横並びになっているデータを自動で繰り返しフィールド内に押し込むことが可能なのでしょうか。
できるとしたらどのような操作になりますでしょうか。

Offline

#5 2014-04-25 17:57:20

Traveller
Guest

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

Hiroさんのと最初の手順は同じなので、Hiroさんの方が簡単です。
一応
Listの計算フィールドを作って
GetValue (計算フィールド[1] ; Get ( 計算式繰り返し位置番号 ) )ですが。

#6 2014-04-26 10:23:14

keima
Member

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

空白のフィールドはそのまま空白行にしたい場合、
フィールド名の番号を式に利用して、フィールド名を $fnと$no として式をくみたてる。
非保存で。

Let([
$fn="フィールド";
$no=20;
$cr=¶;
$result="";
$f="Case(
$no < 1;$result;
Let([$result=GetField ($fn & $no ) & Case($no<10;$cr) & $result;
$no=$no-1
];Evaluate($f))
)"
];
No. & $cr & Evaluate($f)
)

Offline

#7 2014-04-26 23:02:07

Okkey
Member

Re: 改行区切り.txtファイルとしてエクスポートするための縦並び変換

教えていただいた方法で無事解決することができました。
ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 513.09 KiB (Peak: 517.63 KiB) ]