(現在 過去ログ25 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■3785 / inTopicNo.1)  グループごとに同じ処理を繰り返す場合の方法
  
□投稿者/ ステラ -(2008/08/13(Wed) 15:32:19)
    皆さん、お世話になります。

    都道府県の項目で同じ都道府県ごとにデータを集め連番を打ちたいのです。
    今までは、手作業で絞込み後置換して連番を入力して履歴つくり、それを利用して一括をつくり処理していたのですが、ほかにも同じように項目のグループごとに同じように処理をする必要が出てきて、グループの数が多いのです。
    そこで、なにか、桐の持っている関数やらコマンドやらを利用してこういった事例に対応できるような方法を教えていただきたいと思うのです。
    (エクセルとかで表を利用して順番に同じ作業をさせていくような所リアがあったと思うのですが、似たようにできないかと探しています。)

    よろしくお願いします。
引用返信 [メール受信/OFF] 削除キー/
■3786 / inTopicNo.2)  Re[1]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ 今村 誠 -(2008/08/13(Wed) 16:41:30)
    ステラさんこんにちは
    > 都道府県の項目で同じ都道府県ごとにデータを集め連番を打ちたいのです。
    桐のバージョンは?
    都道府県の項目名と入力データの記載文字例は
    連番を打つ項目名とデータ型は

    連番が適当で良ければ#順位を置換で使えば即解決しそうですね。

引用返信 [メール受信/OFF] 削除キー/
■3787 / inTopicNo.3)  Re[2]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ ステラ -(2008/08/14(Thu) 10:59:35)
    No3786に返信(今村 誠さんの記事)
    今村さん、早速のレスありがとうございます。

    ごめんなさい 基本的なところを忘れていました。
    桐 ver9-2007 sp4 を windows で使っています。

    連番は[連番]で整数で使っています。
    #順位ですか。イメージはなんとなくわかりますが、グループのまとめ方などどのように書いたらいいのでしょうか。はじめに必要な並び替えを行った後に処理するのですよね。

    それと、今回の「同じような作業」というのは、絞込みをした後各グループごとに連番をつけ、必要な置換をして、書き出すという作業が繰り返しされるわけです。それで、グループと必要な置換条件(変数に対応)とを表対応のようにして読んできて同じような作業を繰りかえすタイプのループを作るにはどうしたらいいのかと・・・。

    よろしくお願いします。

引用返信 [メール受信/OFF] 削除キー/
■3788 / inTopicNo.4)  Re[3]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ 今村 誠 -(2008/08/14(Thu) 13:41:13)
    ステラさんこんにちは
    > 連番は[連番]で整数で使っています。
    > グループのまとめ方などどのように書いたらいいのでしょうか。
    > はじめに必要な並び替えを行った後に処理するのですよね。
    グループ[都道府県]毎に連番を振るのでなく、都道府県で絞り込んで
    他の項目値で連番を振るようにも読み取れます。
    何を基準にどの項目で並び替え連番を振るかが解りません。

    都道府県毎に1-47の順番を付けるだけなら[都道府県]で整列後[連番]
    の項目で#順位([都道府県])で解決しますね。

    > それと、今回の「同じような作業」というのは、絞込みをした後

    絞り込む項目名は?

    > 各グループごとに連番をつけ、必要な置換をして、

    グループ項目名は? [連番]を置換でなく他の項目の置換ですか?

    > 書き出すという作業が繰り返しされるわけです。

    何を書き出すのですか?「表」「CSV」

    並び替えは索引や並び替え条件をイベントや一括に登録しておいた方が
    後で保守点検時や担当引き継ぎで役に立つと思います。
引用返信 [メール受信/OFF] 削除キー/
■3794 / inTopicNo.5)  Re[4]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ ステラ -(2008/08/15(Fri) 10:36:29)
    今村さん、説明不足で申し訳ありません。

    データは店舗の情報です。

    今村さんが答えていただけたように、都道府県ごとに絞り込んだ店舗データの[連b何]に連番を入力し、東京都ー1、東京都ー2というような識別をさせたかったのです。

    これは単純な連番だったのですが、

    全店舗から業種や細目、取引量等で所定の条件を満たす店舗を絞り込んだ後、対象の店舗だけをデータとして持つ表へ書き出しをします。
    ただ、所定の条件というのが厄介で、この業種はすべて、この業種はこの細目のものすべてとこの細目のもののうち取引量が一定以上のもの等複雑です。
    そこで、絞り込み条件を登録して、それぞれ絞り込むことができるようにしてあります。
    この絞り込んだものをそれぞれを1グループとして各店舗データに連番を打ち、店舗データのうちの[種別]に、絞り込んだ条件の目安になるもの(区別できれば文字列でも数値でもok)を入力するため置換します。
    絞込みや並べ替えは必要な条件を登録してあります。

    一括を作ると、
    1  絞り込み 条件名="A"
    2  置換 [連番]=#連番
    3  置換 [種別]="あ業種"
    4  書き出し 表,条件名="キャンペーン対象店舗"
    5  絞込み 補集合(or解除)
    6  絞込み 条件名="B"
    7  置換 [連番]=#連番
    8  置換 [種別]="細目あ"
    9  書き出し 表,条件名="キャンペーン対象店舗"
    10 絞込み 補集合(or解除)
    11 絞込み 条件名="C"
    ・・・
    といった感じで、これをずっと書いて行くことになると思います。
    (もちろん書き出しの条件は追加です。)

    これを、上の1-5行までを使って、1行目の"A"   の部分と、
                   3行目の"あ業種" の部分を変数か何かにして



           &条件   &種別
         1  A     あ業種 
         2  B     細目あ
         3  C     細目い取引量大
         4  ・     ・
         ・  ・     ・
         ・
         10


    といった形にして、1行目〜5行目までを1−10の&条件・&種別 で繰り返し実行するといったイメージなのですが。
    (エクセルの FOR<>=TO コマンドと VLOOKUPやHLOOKUPを組み合わせて利用したときのようなもの)
     

    具体的な例示ができなくて申し訳ありません。ご理解いただけたでしょうか。

    桐ではそういったことはできないのであれば、一括にしますが。
    (使用頻度は年1回ほどです。年によっては条件が変わることもあります。)


引用返信 [メール受信/OFF] 削除キー/
■3801 / inTopicNo.6)  Re[5]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ 今村 誠 -(2008/08/15(Fri) 16:39:04)
    2008/08/15(Fri) 16:48:35 編集(投稿者)

    ステラさんこんにちは、絞り込み条件毎にキー入力で文字を
    入力し置換する一括を作ってみました。
     絞り込み条件と同じ名前やこの条件ではこの名前と決まっていれば
    対応付けできるし、絞り込む条件が全数なら選ばずに全自動出来ます。

    変数宣言が抜けていましたので追加して下さい。

    表 "nyusyukko.TBL"
    var Str{&S条件名一覧[#検索条件数],&Sヘッダ="絞り込み条件を選択"\
    ,&Sフッタ="処理中止はEscきー",&Smenu選択名="最初"},Long {&L選択番号}
       var 共通,数値{&desksize[2]},共通,Long{&InchToDot}
       &InchToDot=#デスクトップサイズ("desksize"),&InchToDot=#InchToDot(1)
    if ( #検索条件数 )
    以下同文


sutera.lzh
/15KB
引用返信 [メール受信/OFF] 削除キー/
■3802 / inTopicNo.7)  Re[6]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ ステラ -(2008/08/15(Fri) 17:20:10)
    No3801に返信(今村 誠さんの記事)
    今村さんありがとうございます。
    今見てみたのですが、桐の日本語標記でしかコマンドもろもろに対応していない私にとって、まず、記述されたアルファベットをリファレンスを使って解読するところから始まりそうです。(・・;)
    一度しっかり勉強してから応用してみますね。

    >  絞り込み条件と同じ名前やこの条件ではこの名前と決まっていれば
    > 対応付けできるし、

    お察しのとおりです。

    >絞り込む条件が全数なら選ばずに全自動出来ます。

    残念ながら、絞り込み条件はキャンペーンに関係ない絞込みもあるので、条件名を選んでこなければなりません。
    ここは、手作業になりそうということでしょうか。

    とりあえず、作っていただいた一括を読み解いてみますので。
    またそれからよろしくご指導お願いいたします。


引用返信 [メール受信/OFF] 削除キー/
■3803 / inTopicNo.8)  Re[7]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ 今村 誠 -(2008/08/15(Fri) 18:26:52)
    ステラさんこんにちは
    4と9は書き出し 表 追加ということでしょうか。
    絞り込み条件と置換項目がいつも同じで、キャンペーンの
    対象文字列のみを毎回変更ならこのままの一括でいけそうです。
    でも付いていないとキャンペーン名は入力できません。
    絞り込み条件は毎回変わるので、絞り込み条件名をキャンペーン
    名にすれば、キー入力は必要なく、絞り込み条件を選択するだけ
    全自動に出来ます。
     もちろん、最初に全ての絞り込み条件をメニュー画面で選択
    して、選択した絞り込み条件の選択文字列を色反転させて、選択
    せずにEscを選ぶか選択終了を選ぶと全自動ですることも可能です。
    色反転のサンプルは私のページの郵便番号のダウンロードコーナー
    にあります。
     ただし、パスワード設定しているので一括処理は見えませんが
    感じはつかめると思います。

    変数宣言     var
    文字列      str
    整数       int
    長整数      Long

    手続き実行 処理条件指定(&S条件名一覧,#検索条件数)
    call 処理条件指定(&S条件名一覧,#検索条件数)
             ↑引数1  ,↑引数2

    繰り返し     while
    繰り返し終了   end

    条件 ()     cond ()
    ケース開始    if ()
     ケース()    else if ()
     ケース その他 else
    ケース終了    end

    手続き定義開始 処理条件指定(参照 文字列 &変数名1[] ,整数 &変数名2)
    proc     処理条件指定(refer str &S選択条件名[],int &I選択条件数)
                        ↑配列変数
    手続き定義終了  end
    繰り返し     for
    繰り返し終了   end

    * 置換で自動変数使用するとエラーになるので組み込み変数&STRを
    使用し、使用前にバックアップして使用後に元に戻します。

    proc メニュー選択(トップ文字,ヘッダ文字,メニュー初期値,色反転,……)
    ↑この部分はブラックボックスで考えた方が良いです。
    配列変数の要素を文字列で渡し、選ばれたら変数(&Smenu選択名)
    に選んだ文字列が渡され変数(&L選択番号)に選んだ番号が返ります。
    選ばれなかったら(Esc)変数(&L選択番号)に 0 を文字列変数
    変数(&Smenu選択名)には未定義値 #U "" が返ります。
引用返信 [メール受信/OFF] 削除キー/
■3806 / inTopicNo.9)  Re[8]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ ステラ -(2008/08/18(Mon) 11:13:22)
    No3803に返信(今村 誠さんの記事)

    今村さん、アルファベット標記の解説までしていただいて・・・重ね重ねありがとうございます。

    ここまでついでに、もうひとつ・・・

    絞込みの条件名はキャンペーンごとに頭の2文字をそろえて作ってあります。
    それを絞込みに利用することは可能でしょうか?

引用返信 [メール受信/OFF] 削除キー/
■3808 / inTopicNo.10)  Re[9]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ 今村 誠 -(2008/08/18(Mon) 11:55:58)
    ステラさんこんにちは
    > 絞込みの条件名はキャンペーンごとに頭の2文字をそろえて作ってあります。
    > それを絞込みに利用することは可能でしょうか?
    可能ですが、毎回同じ文字はないわけですので一括を毎回作り替えるか
    1)proc 連番を作成(Str &S絞込条件名)
     の最初にiF(#SSTR(&S絞込条件名,1,2)="KP")
     で排除するとか、
    2)郵便番号簿に使っている絞り込み条件の中から最初に
     いくつかを選択してまとめて置換書き出しする。
    絞り込み店舗名グループ毎に繰り返すなら絞り込み毎にカウント変数がもう1個
    無いと店舗グループの区別が付きません。
    キャンペーン名が全グループ共通ならキー入力は1回ですが、………
    曖昧な質問はケースをこちらで考え出すときりがないので、ご自分で考えて
    解らないを質問して下さい。

    絞り込み条件名は50個以上は作れないので今の一括でも選択は可能です。
    部分に絞って、
引用返信 [メール受信/OFF] 削除キー/
■3809 / inTopicNo.11)  Re[10]: グループごとに同じ処理を繰り返す場合の方法
□投稿者/ ステラ -(2008/08/18(Mon) 16:51:48)
    No3808に返信(今村 誠さんの記事)

    > 曖昧な質問はケースをこちらで考え出すときりがないので、ご自分で考えて
    > 解らないを質問して下さい。
    >

    そのとおりですね。イメージだけで欲張りすぎました。

    今回は、今村さんに教えていただいた処理で止めておきます。
    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -