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

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

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

You are not logged in.

Announcement

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


#1 2015-01-15 16:53:02

ハイジ
Guest

現在の棚に移動した日

よろしくお願いします。FileMaker13です。
下記のような棚卸しデータがあります。

日付       棚番号
2013/09/04   7
2013/12/28   1
2014/01/10   2
2014/04/02   3
2014/04/04   3
2014/09/01   1
2014/09/03   9
2014/12/29   9
2015/01/06   9


現在の棚に移動した日を求めたいのですが、
どのように計算すればよいでしょうか。
上記の場合は、9の棚に移動した2014/09/03です。

#2 2015-01-15 18:57:55

旅人
Member

Re: 現在の棚に移動した日

商品コード?と日付>日付で自己リレーションして、関連テーブル側を日付降順設定すると
前回の棚番号は Table 2::棚番号になるので
Case ( 前回の棚番号 ≠ 棚番号;日付 )という計算フィールドを作ると、最初に同じ棚になった
日付が出るからこれのMaxで求められそう。
移動が無かった商品は別に考えないといけないかも。

Offline

#3 2015-01-15 20:26:30

barikan
Guest

Re: 現在の棚に移動した日

SQLだと簡単に出ます。

Let ( [
棚番号 = 9
] ;
Substitute ( ExecuteSQL ( "SELECT MIN ( \"日付\" ) FROM \"table1\" WHERE \"棚番号\" = ?" ; "" ; "" ; 棚番号 ) ; ["-" ; "/"] )
)

テーブル定義とレコード数によっては動作が遅いかもしれません。

一覧画面上に表示したいのであれば集計フィールドと小計パートを使うのが良いかと思います。

#4 2015-01-16 09:26:04

チポ
Member

Re: 現在の棚に移動した日

それでいいのかな?

例で考えると
棚番号9が連続してありますが、
それ以前に棚番号9が有った場合、
それは
「現在の棚に移動した日」
ではないですよね。

そのようなことは無い?

Offline

#5 2015-01-16 10:08:44

ハイジ
Guest

Re: 現在の棚に移動した日

barikan様、ありがとうございます。
今はSQLを使わない方法を覚えたいです。

#6 2015-01-16 10:09:49

ハイジ
Guest

Re: 現在の棚に移動した日

旅人様、チポ様、ありがとうございます。
チポさんの仰るとおりです。過去に同じ棚にあった日は関係ないです。

Case (
棚番号 ≠ 前回の棚番号; 日付;
前回の同フィールド
)

としてみたのですが、すべて?となってしまいました。

#7 2015-01-16 10:21:24

barikan
Guest

Re: 現在の棚に移動した日

言われてみると確かにそうですね。
全然勘違いしていました。

日付         棚番号
2013/09/04   7    1
2013/12/28   1    2
2014/01/10   2    3
2014/04/02   3    4
2014/04/04   3    4
2014/09/01   1    5
2014/09/03   9    6
2014/12/29   9    6
2015/01/06   9    6

上のように棚を移動する度に1増えるフィールドを作れば
その中から日付の最小値で出せると思います。

#8 2015-01-16 10:55:38

ハイジ
Guest

Re: 現在の棚に移動した日

それはすごくいい方法ですね!
ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 513.51 KiB (Peak: 518.05 KiB) ]