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

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

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

You are not logged in.

Announcement

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


#1 2018-08-10 16:04:14

cybe
Member

同じ値の、別項目を取り出して1行にしたい

win7、FM8

下記のようなデータがあります。

テーブル名「DB」
番号 科目
001 静岡
001 山梨
001 沖縄
002 北海道
002 東京


これを下記のようにしたいです。

番号 科目 ヘッダ名 科目名
                 001   静岡、山梨、沖縄
001 静岡
001 山梨
001 沖縄
                 002   北海道、東京
002 北海道
002 東京


最初に取り込んだデータ全てをflag「1」とし、
シリアルNo.を作成、番号で自己リレーション
If ( シリアルNo. = DB 2::シリアルNo. ; "オリジナル" ; "重複" )
オリジナルレコードを検索、ヘッダテーブルにインポートします。
ヘッダデータを作成して、flag「0」とし、元のテーブルに戻して
flag、番号でソートをしようと思っています。

この科目名を1行にしたいのですが、どのようにすればいいでしょうか?

Last edited by cybe (2018-08-10 16:04:54)

Offline

#2 2018-08-11 02:28:47

Hiro
Member

Re: 同じ値の、別項目を取り出して1行にしたい

>『同じ値の、科目名を取り出して1行にしたい(静岡、山梨、沖縄)』
計算フィールド「科目一覧」に算出します。その式は、
・   ExecuteSQL(" SELECT ""科目"" FROM ""DB"" WHERE ""番号""=? "; ""; "、"; 番号)

++++修正補足+++++
いけない!FM8でしたか!
なら、番号(照合の自己リレーション)で動的値一覧「科目の値一覧」を作り、
それを計算フィールド「科目一覧」に取得します。その式は、
・   Substitute(ValueListItems(Get(ファイル名); "科目の値一覧"); [¶;"、"])



>『これを下記のようにしたいです。 ・・・番号別集計リスト・・・』
前部小計パート(番号、科目一覧)とボデーパート(番号、科目)を配置した集計レイアウトで、
番号でソートを掛け、番号別集計結果を表示します。

Last edited by Hiro (2018-08-11 03:12:14)

Offline

#3 2018-08-13 11:16:16

チポ
Member

Re: 同じ値の、別項目を取り出して1行にしたい

> シリアルNo.を作成、番号で自己リレーション
シリアルNo.は全てのレコードでユニークな値ですよね?

とすると、
> If ( シリアルNo. = DB 2::シリアルNo. ; "オリジナル" ; "重複" )
オリジナルレコードを検索

この「オリジナル」
は同番号で一つのみになっちゃいますよ。

番号 & 科目 で一つのみ
ならリレーションを
  番号
and
  科目
で照合しないとダメでしょう。


さらに、
> ヘッダテーブルにインポートします。
> ヘッダデータを作成して、flag「0」とし、元のテーブルに戻して

こんな面倒なことをしないでも、別テーブルで
  番号 & 科目
のフィールドを作り、
これを
  ユニーク・常時
と制限をかけておけば、
インポート時にユニークになります。

また、
各科目を1行で表示するのは、
各番号ごとに各科目がユニークですから、
単にListで得られたリストを変更すればいいですね。

Offline

#4 2018-08-17 10:51:28

cybe
Member

Re: 同じ値の、別項目を取り出して1行にしたい

ありがとうございました!
出来ました!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 507.96 KiB (Peak: 514.6 KiB) ]