みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Shin 様
ご回答頂き、ありがとうございます。
お教え頂いた Workday() を見てみましたが
これをどう活用すれば営業日が出せるのか思いつきませんでした。
ただ、この関数は休みの日を決められる様なので、
同様に「HolidayJ 関数」にも大晦日と三が日を祝日に設定する良いと思いつき、
その様に設定すると、思った通りに実現できました。
これだと来年の1月3日は月曜日なので1月4日が振替休日と判定されてしまうようなのですが、
そこは2017年から適用するように設定しました。
エラーは解決はしてませんが、アドバイス頂き、ありがとうございます。
Shin 様
遅くなりましたが、ご回答頂きありがとうございます。
取得関数や日付関数にも
”日付”がありますね。
エラーになって、どうやってもダメだったので、
下記のサイトから「HolidayJ 関数」が使われているサンプルファイルをダウンロードして
そのサンプルファイルから「HolidayJ 関数」をインポートして
どうにか「HolidayJ 関数」は使えるようになりました。
https://github.com/Genecom/FileMakerSampleSolutions
あとは、「HappyMonday 関数」と「 BusinessDays 関数」を登録し、
日曜、祝日を除いた営業日は算出出来るようになったのですが
3. 銀行休日の場合のサンプル計算式 (土日祝と年末・年始の12/31〜1/3)
を設定しようとすると
" ] " が多いとかでエラーが出ます。
http://prntscr.com/7kabvw (スクリーンショット,サンプル式を省略してます)
サンプル計算式使用のためにコメントの記号は削除してますし、
括弧はそのままにしているのですが、何が悪いのでしょうか?
色々試してみましたが
or ( theDate = Date ( 12 ; 31 ; Y ) // 年末
or ( theDate = Date ( 1 ; 2 ; Y ) // 年始 1月1日はHolidayJで判定済み
or ( theDate = Date ( 1 ; 3 ; Y ) //
ここの部分があると、エラーが出ます。
Let (
[ // === Let_Start ==================================
START_DATE = 開始日 ;
END_DATE = 終了日 ;
END_NUM = END_DATE - START_DATE ;
theDate = START_DATE ;
Y = Year ( theDate ) ;
BD =
not (
( not IsEmpty ( HolidayJ ( theDate ) ) ) // 祝日
or ( DayOfWeek ( theDate ) = 1 ) // 日曜日
or ( DayOfWeek ( theDate ) = 7 ) // 土曜日
or ( theDate = Date ( 12 ; 31 ; Y ) // 年末
or ( theDate = Date ( 1 ; 2 ; Y ) // 年始 1月1日はHolidayJで判定済み
or ( theDate = Date ( 1 ; 3 ; Y ) //
)
] ; // === Let_End ==================================
Case
not ( IsEmpty ( START_DATE ) or IsEmpty ( END_DATE ) ) and
( 0 ≤ END_NUM ) ;
BD
+ BusinessDays ( START_DATE + 1 ; END_DATE )
)
)
お世話になります。
Win7 FM13 Advを使用しています。
土日祝日を除いたある期間の営業日の集計を出したいので
PMpro.jpのサイトにあるカスタム関数「BusinessDays 関数」をお借りして、
初めてカスタム関数の登録を試みました。
「BusinessDays 関数」を使うには、
まず、「HolidayJ 関数」を登録しないといけないようで
その関数の編集画面で引数の欄に 日付 と入力しようとすると
エラーダイアログが出て登録が出来ません。
http://prntscr.com/7jj2v0 (スクリーンショット)
エラーの説明文ある理由に該当しないと思うのですが
何が悪いのでしょうか?
何かアドバイスをよろしくお願いします。
Shin 様
早々にご返信ありがとうございます。
お教え頂いた記述をカスタムダイアログで試してみたら
ちゃんと1が返ってきました。
これで実装出来そうです。
GetAsNumberで照合させるとは思いつきませんでした。
税込み金額は最終行ではありませんが
最後の記述も今後の参考にさせてもらいます。
お教え頂き、本当にありがとうございます。
Win7 FM12を使用しています。
見積もり内容が記載された文字列の「見積内容フィールド」と、
請求金額が記載された数字の「請求金額フィールド」があります。
見積内容には請求金額が含まれているのですが、
それが請求金額フィールドにある数字と照合一致しているかどうか
確認する方法を知りたいです。
見積内容のフィールドには下記の入力があります。
-------------
■修理内容
部品交換 58,000
合計 税抜き価格 58,000 円
合計 税込み価格 62,640 円
-------------
※上記「円」の前には空白スペースがあります。
請求金額フィールドは
「62640」と合計税込み価格の金額が入力されてるだけです。
見積内容の合計税込み価格が間違っている事が多く
この税込み価格の数字部分だけを取り出して、請求金額と一致しているか
別フィールドに判定結果を表示させたいのですが上手くいきません。
照合にはFilter関数、Exact関数を使うのかと思いますが
見積内容から金額部分の取り出しで行き詰まっております。
照合方法があればお教え頂けたら幸いです。
よろしくお願い致します。
返信が遅れてすみません。
ご指摘のとおり、元々のデータに余分なコードが含まれてたようでした。
Excelの置換で「ctrl+J」で改行コードを削除してから保存して、
それをFMにインポートしたらうまく出来ました。
元々はAccessのデータだったので
mdbファイルをODBC経由でFMにインポートしてきたのですが、それでもだめだったので
次にAccessからxlsファイルをエクスポートしてFMにインポートしてもダメだったのです。
詳しいことはよく分かりませんが
Accessからエクスポートしたxlsファイルだからか
エクセルのマクロ記録を調べると
「Chr(13) & "" & Chr(10) & "" 」と入力されてましたので
置換で改行コードだけ削除すると、FM上で問題なく表示されました。
ともあれ何とか解決することができました。
tim様、ありがとうございます。
ご返信ありがとうございます。
お教えいただいた計算式でも試してみましたが
インポートデータ内には改行が2個以上ある文章なので
どうしても1個の改行しか処理されないようです。
インポートデータ内の改行が追加されてしまうのは
ファイルメーカーのバグなのでしょうか。
FM12A(12.0v4) Win7使用
お世話になります。
xlsファイルやmdbファイルをインポートすると
テキストフィールド内の文章で
改行されている部分に
さらに一つ余分に改行が入ってしまうのですが
この余分についた改行を削除する方法はないでしょうか?
関数のSubstituteで改行を置き換えで削除すると
元々の改行してあった部分まで削除されてしまうので
インポート時に余分についた改行部分だけを削除する方法あればお教え頂けないでしょうか。
よろしくお願いします。
Traveller様、tim様
ご返信ありがとうございます。
"filewin:" & $デスクトップパス & "/"
この通りにすると、うまくデスクトップ上に出力されました!
ダブルクォーテーションの使い方がおかしかったのですね。
ずっと悩んでたのが解決出来て助かりました。
変数の中に変数を入れる時は注意したいと思います。
お教え頂き、ありがとうございました。
チポ様、keima様、tatitute様
ご返信ありがとうございます。
日付のスラッシュについては問題はなさそうです。
下記の様に 「$日付」の変数の設定で出力先をデスクトップではなく、Cドライブ直下に指定するとうまく出力されました。
変数を設定
名前: $日付
値 : "filewin:/c:/" & Substitute ( Get ( 日付 );["/";"" ]) & "山田様.xlsx"
しかし最初の 「$デスクトップパス」 の変数設定をして動かすと
下記のエラーメッセージが出ます。
=========
「20140110山田様.xlsx」をこのディスク上に作成出来ませんでした。
ファイル名を変更、ディスクの空き容量を増加、ロックを解除、または他のディスクを使用してください。
=========
「$日付」の変数に「$デスクトップパス」の変数を入れるのが間違っているのでしょうか?
FM12 Win7使用
お世話になります。
デスクトップに.xlsxファイルでエクスポートしたいのですが
ファイル名を 「20140110山田様.xlsx」 のように
「スラッシュなしの日付」+「固定名」+「.xlsx」
と出力したいのですが
スクリプトが上手く動いてくれず、エクスポートされません。
書いてみたスクリプトは下記です。
変数を設定
名前: $デスクトップパス
値 : Get ( デスクトップパス )
変数を設定
名前: $日付
値 : "filewin:$デスクトップパス/" & Substitute ( Get ( 日付 );["/";"" ]) & "山田様.xlsx"
レコードのエクスポート
出力ファイル指定: $日付
上手く作動する方法を教えて頂けないでしょうか。
よろしくお願いします。
その通りでした。
数字にしたら正しく表示されました。
早々に返信くださってありがとうございます。
返信ありがとうございます。
お教え頂いた計算式を入力してみたのですが
仮に請求金額に60000と入れると 840と返されてしまいます。
また120000と入れてみると 315と表示されます。
700と入れてみると、840と表示されてしましました。
自分で計算式を書いてみた時も同様の現象が起きました。
3万以上10万未満で525が表示されないのは
何か別の問題があるのでしょうか。
FM12使用。
請求金額のフィールドと手数料のフィールドがあります。
請求金額に応じて手数料が
自動表示されるようにしたいのですが
計算式が上手く出来ません。
条件として
請求金額が30,000未満だと、手数料に315
請求金額が30,000以上、100,000未満だと、手数料に525
請求金額が100,000以上だと、手数料に840
と表示させたいです。
ヘルプを見てフィールドのオプションに
Case関数を使って試してみたのですが上手く出来ないです。
こんな計算式すらわからず恐縮ですが、お教え頂けないでしょうか。
よろしくお願い致します。
Pages: 1
[ Generated in 0.010 seconds, 6 queries executed - Memory usage: 599.11 KiB (Peak: 620.52 KiB) ]