みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
oniasです。 Win10、8.1 FM15 iPhon6
いつも大変お世話になっております。
今回も、うまくいかず、もんもんとしています。
宜しくお願い致します。
10万件のレコードに特定のタイミングでフラッグ”1”を
付けようとしていますが、動作がバラついています。
手入力 手入力 スクリプト入力 計算式 スクリプト計算
※A B C D ※E
中央区 1丁目 1 +1=2
中央区 2丁目 1 +1=2
中央区 3丁目 1 +1=2--------- 1
北区 1丁目 2 +1=3
北区 2丁目 2 +1=3
北区 3丁目 2 +1=3---------- 1
南区 1丁目 3 +1=4
南区 2丁目 3 +1=4
南区 3丁目 3 +1=4--------- 1
東区 1丁目 4 +1=5
東区 2丁目 4 +1=5
東区 3丁目 4 +1=5--------- 1
求めたい結果(中央区、北区、南区、東区と"4種類”ある事が解る事です)
もちろん、集計してプレビュー印刷すれば、解りますが、レコードと
して※Aと※Eのレコード4件エクスポートし別ファイルのレコード利用したいのです。
※A ※E
中央区 1
北区 1
南区 1
東区区 1
その為に、わざとフィールドCで同じフィールドAなら規定番号を付与し
フィールドDで次のレコードに移った時照合で差異が出た時に----1を
付ける様なスクリプトを組んでいます。結構難解なのですが、簡単に
フィールドEの区分ごとにフラッグを付けけたいのですがうまくいきません。
うまくいかない現象は、例えば、中央区から北区に移るときは、フールドE
にうまく---1が入りますが、次がうまく入らずスペースになったり、連続で
うまく進んでいるときもあれば、飛び飛びになったり、安定しないのです。
速度が速すぎるのかと思い、レコード移るタイミングの時に停止0.05秒の
時間差を設けたり、同じスクリプトを2回づつ繰り返してみた入りしました。
結果は、やはりばらつくのです、何なんでしょうね。
Offline
最終目的が、Aのユニークレコードだけの別テーブルを作ることなら色々な便法が考えられますが、
取敢えず、質問のスクリプトでの問題点については、
冗長なループ・スクリプトに代わり、「全置換」だけの1行スクリプトにするのが簡潔・確実かな。
・フィールド内容の全置換[テーブル::E; 値:※下式]
Let([
#add=Case(FilterValues($vlt; テーブル::A)=""; テーブル::A);
$vlt=List($vlt; #add)
];
Case(not IsEmpty(#add); 1)
)
・式の意味は、Aが既存値一覧リスト($vlt)に含まれなければ、Eにフラグ「1」を立て、
既存リスト($vlt)にA($add)を追加して繰越更新して行きます。
・この為、フラグが立つレコードはAのユニーク値が最初に出現するレコードとなります。
また、説明事例のようにA・Bでソートする事前処理は特に不問です。
・一時作業フィールドC・Dも不用です。
Last edited by Hiro (2017-01-08 13:02:47)
Offline
hiro様
深夜にもかかわらず回答ありがとうございます。
構文の解釈前に早速テストしてみました。
結果、数秒で100点満点(失礼)の回答になりました。
10数分かかっても思い通りにならなかったことが
あっさりでした。流石ですね、今まで何をしてたん
だろう。ありがとうございます。助かりました。
今後ともよろしくお願い致します。
Offline
終わっていますが、
A のフィールドの値を使って値一覧を作り、その内容を ValueListItems() 関数で取り出して、別テーブルに展開する、という方法が一番簡単では。
Offline
まあまた終わってますが
スクリプトで「1」を出すのではなく
計算式で「1」をだすこともできます。
[解決] リスト形式で部屋番号が切り替わるところで線を入れたい
で、提案した方法ですが
これを応用するとけいsなんだけで「1」をいれられます。
ファイルは
http://yahoo.jp/box/9XgUvH
にあります。
Offline
Shin様
シャチ様
いつも有難う御座います。
なるほど、いろいろあるんですね。参考になりました。
シャチ様のファイル開けて見ました。
こういうやり方も面白いですね。参考になりました。
有難う御座いました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 517.66 KiB (Peak: 522.56 KiB) ]