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

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

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

You are not logged in.

Announcement

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


#1 2017-07-22 01:55:31

oioi123
Member

※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

FMP12 win7を使用しています。

勝手で大変申し訳無いのですが少し急いでいます。

3年分(100万件)のアクセスログデータをそれぞれの日にちの時間台ごとに最小と最大を抽出しなければならず、
無知なため、困っています。何卒ご教授の程よろしくお願いします。

下記テーブルがあります。

日付フィールド │時刻フィールド │日時フィールド(リレーション用?)
2017/7/1      12:15      2017/7/1 12:15 ←12時台の最小値
2017/7/1      12:40      2017/7/1 12:40
2017/7/1      12:42      2017/7/1 12:42
2017/7/1      12:59      2017/7/1 12:59 ←12時台の最大値
2017/7/1      13:20      2017/7/1 13:20
・           ・
・           ・
・           ・

これを別テーブルに以下のような形式で1時間毎の最小時間と最大時間を抽出したいです。

日時フィールド   │最小値 │最大値
2017/7/1 10:00
2017/7/1 11:00
2017/7/1 12:00   12:15 12:59
2017/7/1 13:00
2017/7/1 14:00
・           ・   ・
・           ・   ・
・           ・   ・

よろしくお願いいたします。

Offline

#2 2017-07-22 02:30:09

チポ
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

別テーブルで日時 + 1時間のフィールドをつくります。
日時とこのフィールドとの範囲のリレーションをし、
その関連レコードの時刻のMinとMaxでいいですね。

Offline

#3 2017-07-22 09:56:13

oioi123
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

すいません。うまくできないです。
範囲リレーションの><はどのようにすればよろしいでしょうか?

無知でご迷惑をおかけしますが、何卒よろしくお願いいたします。

Offline

#4 2017-07-22 10:22:48

チポ
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

別テーブルと、元テーブルのリレーション

     別テーブル      元テーブル
            日時  <= 日時
  and
   日時 + 1時間 > 日時

これでいいでしょう。

Offline

#5 2017-07-22 10:34:51

oioi123
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

ポチさんありがとうございます。

別テーブルと、元テーブルのリレーション
     別テーブル      元テーブル
            日時  <= 日時
     ↑別テープルの日時は日付と1時間毎の時間をタイムスタンプで表示しています。例)2017/7/1 12:00
  and
   日時 + 1時間 > 日時
  ↑ここの日時+1時間はどうすればよろしいですか?

よろしくお願いたします。

Offline

#6 2017-07-22 10:45:32

チポ
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

日時 + 60 * 60
1時間の秒数を加えればいいんですよ

Offline

#7 2017-07-22 11:29:09

oioi123
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

ポチさんありがとうございます。

日時 + 60 * 60

の日時は日付+時間に更に60*60ですか?
すみません。

Offline

#8 2017-07-22 12:03:44

Hiro
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

脇から失礼します、

範囲指定のリレーションは多量マス処理には不利なので、
データテーブルの方で、分以下切り捨ての「マルメ日時」計算フィールドを作り、
標準(完全一致)のリレーションで処理するのが吉かと思います。

Offline

#9 2017-07-22 13:16:57

oioi123
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

HIROさんありがとうございます。

秒を削除して、インポートし直しましたが、リレーションはどう組めばよろしいでしょうか?

よろしくお願いいたします。

Offline

#10 2017-07-22 15:40:56

Shin
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

時フィールドを作って、集計でもいいかも。ソートも内部処理を含めて1回きりですみます
https://www.dropbox.com/s/o9f14w2dkj5j8 … 7.zip?dl=0

Offline

#11 2017-07-22 21:04:13

Hiro
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

処理速度を最優先に考えた作例サンプルをアップしました。
マスタテーブル内の集計処理だけで自己内完結する1テーブルシステムとしています。

●サンプル「時間内最大・最小時刻.fmp12」 → https://yahoo.jp/box/d4qdP6

Offline

#12 2017-07-24 08:55:14

チポ
Member

Re: ※至急 1時間以内の最小時刻と最大時刻を抽出したいです。

> 日時は日付+時間に更に60*60ですか
日時は、
  Timestamp ( 日付 ; 時刻 )
で求められます。

これに
  60 * 60
を加えれば1時間後になります。


私も最初、Hiroさんの#8の様に考えたんですが、
100万レコードも有るテーブルにフィールドを追加するのも、、
と思って、
範囲のリレーションを提案したのですが、
> 日時フィールド(リレーション用?)
既にこのフィールドがあるのですから、
このフィールドを変更して、
○○時00分00秒の時刻にすればいいんですね。

お二方のサンプルは見ていませんが、この方法がお勧めです。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 571.63 KiB (Peak: 588.53 KiB) ]