過去の桐井戸端BBS (桐ver.9)
31179 同一条件のコードに対して文字列を足したコードを作成したい Raul 2006/02/18-15:05
オフコンからパソコンソフトにデータベースソフトをコンバートする作業をしておりますが、
行き詰まってしまいましので、お知恵をお貸しください。

[ID][科]の重複しているレコードの[項目]を昇順で文字列として足したデータでまとめたい場合の処理を教えてください。
以前連番を足していく方法は教えていただきましたが、文字列をたつ方法はどのようにしたらできるでしょうか。
よろしくお願いします。

(データはすべて文字列ですが、置換用の数値の項目もあります)
ID , 科 , 項目
10 , 01 , 1
10 , 01 , 2
10 , 01 , 3
10 , 01 , 4
10 , 04 , 1
10 , 04 , 3    
10 , 04 , 5
20 , 01 , 1
20 , 01 , 4
20 , 01 , 5
20 , 02 , 1
20 , 02 , 3

   ↓

10 , 01 , 1234
10 , 04 , 135
20 , 01 , 145
20 , 02 , 13
31180 Re:同一条件のコードに対して文字列を足したコードを作成する 悲しげ 2006/02/18-15:23
記事番号31179へのコメント
比較的最近では
http://www2u.biglobe.ne.jp/~s_tanaka/bbs/kiri/cbbs.cgi?mode=res&namber=770&page=&no=0
http://www2u.biglobe.ne.jp/~s_tanaka/bbs/kiri/cbbs.cgi?mode=res&namber=801&page=&no=0
あたりは参考になりませんでしょうか?

>(データはすべて文字列ですが、置換用の数値の項目もあります)

「置換用の」ってのが何を含意するのかよく判りませんが、もし数値系の項目値も文字列として足したいのであれば
  #文字列([数値系項目])
として取得します。

31184 Re:同一条件のコードに対して文字列を足したコードを作成する Raul 2006/02/18-16:55
記事番号31180へのコメント
悲しげさんありがとうございました。参考に考えましたが、[ID]と[科]の一致したデータをまるめるのですが、
下記の式に[科]の配置はどこにするのでしょうか。

#cond( #直前値([ID],"")<>[ID],#progn(#set(STR,""),#set(STR,[項目])) ,1, #set(STR,&STR+[項目]))
31185 Re:同一条件のコードに対して文字列を足したコードを作成する 悲しげ 2006/02/18-17:07
記事番号31184へのコメント
>[ID]と[科]の一致したデータをまるめるのですが、
>下記の式に[科]の配置はどこにするのでしょうか。

一番簡単なのは、[ID]と[科]を合体させた作業用の新項目[ID_科]を増設。
項目計算式は例えば #str([ID])+"_"+#str([科])
        (各項目が文字列なら#strは不要)
その上で、この[ID_科]項目を諸判断に利用する。

31186 Re:同一条件のコードに対して文字列を足したコードを作成する アックン 2006/02/18-17:45
記事番号31179へのコメント
Raulさん、こんにちは。
悲しげさんが紹介してくれた、たゆーさん板 #804・#805 でぼくが書いた式を
使っているので、出てきました。(^^;

#cond( #直前値([ID],"")<>[ID] .or #直前値([科],"")<>[科]
,#progn(#set(STR,""),#set(STR,[項目])) ,1, #set(STR,&STR+[項目]))

行集計は、小計で [項目] を #項目値 にして、集計行のみ表示すればいいです。

アックン(=^・^=)
31187 Re:同一条件のコードに対して文字列を足したコードを作成する Raul 2006/02/18-18:10
記事番号31185へのコメント
悲しげさんありがとうございました。
[ID]と[科]の一致したデータをまるめる方法で思ったとおりでデータ作成ができました。
これで少し作業が前進しました。
31189 Re:同一条件のコードに対して文字列を足したコードを作成する Raul 2006/02/18-18:40
記事番号31186へのコメント
アックンさんはこんにちは

#cond関数って便利そうだけれど、Helpでのサンプル紹介は簡単すぎて、計算式の書式がわかりませんでした。
アックンさんの書式だとID+科をする必要がないのでやってみたいと思います。ありがとうございました。

戻る