みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[ ]FileMaker Ver:[ ]
Offline
ん?タイトルだけでの質問?
集計フィールドで 合計 をもとめてみたらわからないのでしょうか?
Offline
> レコード内すべてのフィールド値が0(ゼロ)どうか判別スクリプト
という事でしょうか。
フィールドを1個ずつ判定していかないと仕方ないです。
場合によっては、全てのフィールドを & で繋いだ計算式を作り、それを IsEmpty() で判定しても良いかも。
Offline
説明の入力不備で申し訳ありません。
Shin様のお書きの通り、”> レコード内すべてのフィールド値が0(ゼロ)どうか判別スクリプトという事でしょうか。” です。
下記のスクリプトでやってみたのですが、上手く出来ません。
If [IsEmpty( Data::フィールド名)≦ 0 ]
カスタムダイアログを表示 [ "メッセージ";”該当するデータが有りません"]
End IF
宜しくお願いします
Offline
・「変数を設定」
$総計 = Sum(Not IsEmpty(Data::フィールド名1) ; Not IsEmpty(Data::フィールド名2); ・・・・・・・; Not IsEmpty(Data::フィールド名n))
・If [$総計 = 0 ]
・ カスタムダイアログを表示 [ "メッセージ";”該当するデータが有りません"]
・End If
Offline
0なのか、空なのか・・
IsEmpty
は0では0を返し、
空で1を返します。
フィールド ≠ 0
(「式内の全フィールドの値が空のとき計算しない」のチェックを外します )
は0でも空でも0を返します。
Offline
Hiro様
丁寧はメール有難うございます。最初の変数設定 Sum……の2行コマンドを入力した際に下記のエラーが発生します。
初心者で変数の入力も初めて行ったのです、何が原因かさっぱり解りません、宜しくお願いします。
「Average、Count、Extend、GetReperition、Max、Min、NPV、StDev、Sum、GetSummary、
またはGetNthRecord関数中でフィールド以外の値を指定できない部分に、式が使わています。」
エラーです。
Offline
式中のフィールドは、ご自身の実フィールドを選択欄から選んで置き換えてください。
実際に試した式を提示してもらえますか?
また、>チポさん#6質問への回答もお聞かせください。
式自体が違ってきますから、
Last edited by Hiro (2016-12-05 14:42:43)
Offline
> 「Average、Count、Extend、GetReperition、Max、Min、NPV、StDev、Sum、GetSummary、
またはGetNthRecord関数中でフィールド以外の値を指定できない部分に、式が使わています。」
これらの関数の引数にはフィールド名しか使えないのですよ。
ですから、もし
Not IsEmpty(Data::フィールド名1)
で判定出来るのでしたら、これら各フィールドの判定の和をとればいいでしょう。
判定したいのが
フィールドが0なのか、
フィールドが空なのか、
そのいずれかなのか、
それを明示しないと正確な式になりませんよ。
Offline
Hiro様
ご面倒をおかけいたします。
下記にコマンドを記入します。
$総計
Sum ( not IsEmpty ( 用語集::Sfind_n ))
Sfind_nのデータは、検索文字のカウント数字が入っております、例えば、ある本文内に検索文字が2つあれば、2と入っています。無ければ、0です。
宜しくお願いします。
Offline
チポ様
不慣れなため、説明が不足で申し訳ありません。
Sfind_nのデータは、検索文字のカウント数字が入っており、カウントが数字がひとつも無ければの和の判定です。
申し訳ありません。
Offline
> チポさん#9
当初、私の記憶でもその点、気になったので、事前に軽く検証してから回答していました。
が、エラーと聞いて、再度動作テストしてみましたが、やはりこちらの環境では問題無いようです。
> netryomaさん#10
フィールドは「用語集::Sfind_n」ただ一つなのですか???
合計するのは、現在のレコード内の全フィールドではなく、
全レコードを対象に「用語集::Sfind_n」だけを、という意味ですか?
Last edited by Hiro (2016-12-05 15:29:18)
Offline
目的のフィールドが全てカウント数字だけならば、それらのフィールドの単純合計で判断できるのでは。
Offline
Hiro様 Shin様
ド素人で、大変ご迷惑をお掛け致しております。
全レコードを対象に「用語集::Sfind_n」だけです。
変数のダイアログの初めてで、本当に申し訳ありません。
Offline
Hiro様 Shin様 チポ様
大変ご迷惑をお掛け致しました。
解決致しました、有難うございます。
Offline
解決したようですが、念のため、
全レコードが対象なら、全レコードを常にヒットするデカルト積[X]の自己リレーションを組み、
その[X]リレーションの関連フィールド「自己リレーションテーブル::Sfind_n」をSum()合計すれば良いです。
・デカルト積[X]の自己リレーションの設定は、
「用語集::Sfind_n」 X 「用語集 2::Sfind_n」
・合計する式は、
Sum(用語集 2::Sfind_n」)
・スクリプトは、変数設定は不用となって、
・If [ Sum(用語集 2::Sfind_n」) = 0 ]
・ カスタムダイアログを表示 [ "メッセージ";”該当するデータが有りません"]
・End If
Offline
Hiro様
お世話になっております。
また、丁寧なご説明有難うございます。まだまだ勉強不足で大変勉強になりました。
本当に有難う御座いました。
Offline
> 「Average、Count、Extend、GetReperition、Max、Min、NPV、StDev、Sum、GetSummary、
またはGetNthRecord関数中でフィールド以外の値を指定できない部分に、式が使わています
FM10で確認したらこの通りでした。
今事情が有って他のバージョンを動かせないのですが、
いつから変わったのでしょう?
Offline
チポ様
お世話になっております。
再度詳しい説明を送って頂き有難うございます。
今後の参考にさせて頂きます。
有難う御座いました。
Offline
Pages: 1
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 554.48 KiB (Peak: 575.02 KiB) ]