過去の桐井戸端BBS (桐ver.8)
2821 横集計で文字を数えたい 桐坊主 1999/10/3-10:43
こんにちは。チョット集計で困ってます。
横集計で、データの内容別に集計する方法なんですが

データ例
   1 2 3 4 5 ・・・・29 30 31
札幌 雪 晴 雪 晴 曇 晴   晴  曇  晴 
東京 雨 晴 曇 雪 晴 曇   晴  晴  曇 
福岡 晴 晴 曇 晴 雷 雨   風  晴  雨

条件:日付は最高31項目
   雨・雪・等は約30個くらい(その他は、発生しません)
   地域は、1000行以上

このような状態で、
   1・・31  晴 曇 雨 雪・・・ 
札幌 雪・・晴  5 2 3 2
東京 雨・・曇  2 1 4 3
福岡 晴・・晴  3 5 2 4

日付の後方に、データ内容を集計できればいいのですが
項目集計でなく、転置集計みたいなのでもかまいませんが
よろしく、お願いいたします
2822 Re: 幅田 1999/10/3-11:35
記事番号2821へのコメント
桐坊主さんこんにちは。

このHPの桐ver.5のノウハウにある
「データ(文字列)の中に指定した文字がいくつ含まれているかを調べたい。」
を使えばいいと思います。

まず[1]から[31]までの項目をすべて連結した項目[集計]を作ります。
[集計]の項目計算式には
#連結([1],[2],[3],...,[30],[31])

そして[集計]の中にそれぞれの文字がいくつあるか数えます。

[晴]の項目計算式には
#文字数([集計])−#文字数(#文字置換([集計],”晴”,””))

[曇]の項目計算式には
#文字数([集計])−#文字数(#文字置換([集計],”曇”,””))

というふうに書いていきます。
2823 Re: 幅田 1999/10/3-12:03
記事番号2822へのコメント
自己レスです。

ちょっとひっかかったのは、天気の種類が30種類くらいあるとのこと。
これがすべて1文字なら上記の方法で問題ないのですが、例えば
「晴のち曇」とかいう風に2文字以上も含まれている場合は、正確に
数えることができないような気がします。

で、あれば、数える文字は1文字であればいいのですから、天気の種類を
1文字でコード化してしまえばいいのです。
1から9まで使ってあとはAからZまで使えば35種類使えますね。
例えば1なら晴、2なら曇という風に。
でもそしたらわかりにくい表になってしまいますので、

天気マスタの表を別に作ります。
[天気CD][天気]
1   晴
2   曇


A   雨のち曇
B   雨一時曇

もとの表には[1]から[31]の項目のほかにもう31個の項目を
用意します。
「1CD][2CD][3CD]..[31CD]

そして例えば[1]に”晴”を入力したら[1CD]に”1”と入るように
[1CD]の項目計算式には
#表引き([1],=,”天気マスタ”,[天気],[天気CD])
というような式を設定し、それぞれ[31CD]まで同様の式を設定します。

もちろん入力は[1CD]にコードで行って、[1]に天気を表示させるように
してもかまいません。その場合は逆に[1]に項目計算式を設定します。

で[集計]の項目には
#連結([1CD],[2CD]..[31CD])
という風に設定して、1文字でコード化された天気の数を前述のように
数えればいいと思います。

あとは地域の数が1000行以上あろうとなかろうと全然問題ありません。
2824 Re: 桐坊主 1999/10/3-15:50
記事番号2823へのコメント
幅田さんへ。さっそくお答えありがとうございます

>で、あれば、数える文字は1文字であればいいのですから、天気の種類を
>1文字でコード化してしまえばいいのです。
>1から9まで使ってあとはAからZまで使えば35種類使えますね。

なるほど良い考えですね。ダイレクトに処理方法を考えていたものですから
なかなか前へ進めず、困ってました。
別のマスターから1文字コードに変換後、#文字数の引き算で処理できました。

本当にありがとうございました

戻る