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

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

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

■13423 / inTopicNo.1)  レポートの動的な項目名について
  
□投稿者/ yoshiyoshi -(2022/07/29(Fri) 12:36:46)
http://cross_report
    2022/07/29(Fri) 12:48:06 編集(投稿者)
    2022/07/29(Fri) 12:47:00 編集(投稿者)
    2022/07/29(Fri) 12:46:49 編集(投稿者)
    <pre><pre>2022/07/29(Fri) 12:45:33 編集(投稿者)

    初めて質問させていただきます。
    現在高等学校で生徒指導要録(成績表のようなもの)を作成しています。
    レポートにて、個人別成績一覧表を複数名分出力したいと思っています。
    各科目の評定については、修得時期がことなるため、表の縦軸は科目名、横軸は修得時期(年度)でクロス表示の形式にしたいと考えています。
    縦軸となる各科目の一覧についてはすでに仕組みは理解できているのですが、横軸となる修得時期についてがうまく設定できません。
    生徒個人によって、修得時期が異なるため、ページの切り替わりと同時に、項目名となる「修得時期」を動的に設定する必要があります。
    生徒一人のデータを1レコードにまとめて、単票表示で出力することも考えましたが、この方法ですとカラム数が膨大になるため、できれば複合レポートにおいて作成することが希望です。
    変数の使用や、レポート形式の変更など色々試してみたのですが、なかなかうまくいかず、もし良い方法が分かる方いらっしゃれば教えていただけますとありがたいです。

    以下データ形式と出力したい表の形式です。


    <データファイル> 生徒成績.tbx

    生徒氏名 科目名 評価 修得時期
    A     国語  5   2020
    A     数学  4   2020
    A     英語  3   2021
    A     社会  2   2021
    A     理科  4   2022
    B     英語  3   2019
    B     社会  2   2020
    B     理科  4   2020


    <レポートの期待表示> 成績一覧.rpx

    1ページ目 生徒Aのページ

    科目名 2020 2021 2022
    国語  5
    数学  4
    英語     3
    社会     2
    理科        4


    2ページ目 生徒Bのページ

    科目名 2019 2020
    英語  3
    社会     2
    理科     4


    のようなイメージです。
    生徒によって、修得時期の数に差があることから、科目名の右隣の項目代わりに設定しているテキストオブジェクトの修得時期を動的に設定する必要があるのですが、こちらがうまくいきません。

    テーブルファイルとレポートファイルのみでこの設定が可能かどうか教えてもらえるとありがたいです。
    よろしくお願い致します。
























    </pre></pre>
引用返信 [メール受信/ON] 削除キー/
■13426 / inTopicNo.2)  Re[1]: レポートの動的な項目名について
□投稿者/ ONnoji -(2022/07/29(Fri) 18:14:01)
    > <データファイル> 生徒成績.tbx
    >
    > 生徒氏名 科目名 評価 修得時期
    > A     国語  5   2020
    > A     数学  4   2020
    > A     英語  3   2021
    > A     社会  2   2021
    > A     理科  4   2022
    > B     英語  3   2019
    > B     社会  2   2020
    > B     理科  4   2020

    生徒成績.tbx の

    項目:[評価]
    項目:[修得時期]

    それぞれのデータ型は何でしょうか?

    文字列型??、整数型???、数値型???

    桐のバージョンは桐10、桐10s、桐sSLのどれでしょうか????


引用返信 [メール受信/OFF] 削除キー/
■13427 / inTopicNo.3)  Re[2]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/29(Fri) 18:38:56)
    ONnoji様

    こんにちは。早速の返信ありがとうございます。
    ご質問いただいた件回答させていただきます。

    項目: [評価] → 文字列型
    項目: [修得時期] → 文字列型

    となります。

    桐のバージョンは桐10sです。

    よろしくご確認をお願いします。






    No13426に返信(ONnojiさんの記事)
    >><データファイル> 生徒成績.tbx
    >>
    >>生徒氏名 科目名 評価 修得時期
    >>A     国語  5   2020
    >>A     数学  4   2020
    >>A     英語  3   2021
    >>A     社会  2   2021
    >>A     理科  4   2022
    >>B     英語  3   2019
    >>B     社会  2   2020
    >>B     理科  4   2020
    >
    > 生徒成績.tbx の
    >
    > 項目:[評価]
    > 項目:[修得時期]
    >
    > それぞれのデータ型は何でしょうか?
    >
    > 文字列型??、整数型???、数値型???
    >
    > 桐のバージョンは桐10、桐10s、桐sSLのどれでしょうか????
    >
    >
引用返信 [メール受信/ON] 削除キー/
■13430 / inTopicNo.4)  Re[3]: レポートの動的な項目名について
□投稿者/ ONnoji -(2022/07/30(Sat) 00:37:21)
    2022/07/30(Sat) 10:13:03 編集(投稿者)
    2022/07/30(Sat) 10:09:37 編集(投稿者)

    > 生徒個人によって、修得時期が異なるため、ページの切り替わりと同時に、項目名となる「修得時期」を動的に設定する必要があります。

    ↑投稿に提示された情報(資料)からでは、このようなアプローチの実現可能性が全く不明です。

    ということで手っ取り早く表(.tbx)からタブ区切りテキスト(.txt)を出力する方法をご案内します。

    つまり、表やレポートを駆使するテクニックは一切使わずに、何の変哲もない単なるデータコンバータです。

    ただし、フォーム+イベント処理によるデータコンバータですので、慣れていらっしゃらない場合には難しく見えるかもしれません。

    しかし、なるべく平易に分かり易く記述したつもりですのでご容赦ください。

    > テーブルファイルとレポートファイルのみでこの設定が可能かどうか教えてもらえるとありがたいです。

    この回答にきっと落胆されたと思いますが、フォーム+イベント処理を使わずに実現できれば良かったのですが、

    投稿に提示された情報(資料)を元に、表の機能や、リレーショナル操作や、レポートの機能では到底実現しそうにありませんでしたので苦渋の選択ということです。

    なお、このようなテキストファイル経由でデータを変換するアプローチは、

    幅田さんの掲示板・【多遊】さんの旧掲示板などでも過去に何度も紹介されていたと記憶しています。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    添付ファイルを解凍すると

     成績.tbx
     生徒成績のデータ.kex
     生徒成績のデータ.wfx

    の3つのファイルがあります。


    ■成績.tbx

    項目番号 項目名    データ型
    1     生徒氏名   文字列
    2     科目名    文字列
    3     評価     文字列
    4     修得時期   文字列
    5     インデックス 整数

    生徒氏名 科目名  評価 修得時期 インデックス
    A     国語   5   2020
    A     数学   4   2020
    A     英語   3   2021
    A     社会   2   2021
    A     理科   4   2022
    B     英語   3   2019
    B     社会   2   2020
    B     理科   4   2020


    フォーム:生徒成績のデータ.wfx の[テキストデータ出力]ボタンを実行すると、

    以下のようなテキストファイルが出力されます。

    このファイルはタブ区切りのテキストファイルになりますので、

    レポート印刷をする表を作成してから、このテキストファイルをタブ区切りのテキストとして読み込んでください。

    以下↓のように見ての通りのベタなデータですので、生徒氏名で改ページすれば即レポート印刷に使えます。(^^ゞ

    データがシンプルなので複合レポートでもなんでもござれですよ。アハハ。

    ■test.txt

    A    科目名   2020   2021   2022
    A    国語    5        
    A    数学    4        
    A    英語         3    
    A    社会         2    
    A    理科              4
    B    科目名   2019   2020
    B    英語    3        
    B    社会         2    
    B    理科         4  

    p.s.

    添付ファイルは後日削除しますので、ダウンロードはお早めにお願いします。

    添付ファイルを削除しました。2022-07-30 10:12

引用返信 [メール受信/OFF] 削除キー/
■13431 / inTopicNo.5)  Re[4]: レポートの動的な項目名について
□投稿者/ ONnoji -(2022/07/30(Sat) 01:05:09)
    添付ファイルは後日削除しますので、イベント処理のリストを掲載しておきます。

    名札  メイン



    手続き定義開始 cmdテキストデータ出力Click( )
     変数宣言 自動,文字列{ &title = "cmdテキストデータ出力Click( )", &msg }
     変数宣言 自動,文字列{ &studentName }
     変数宣言 自動,文字列{ &year }
     変数宣言 自動,文字列{ &indexTblName = #一括パス名 + "index" }
     変数宣言 自動,文字列{ &outputTxtName = #一括パス名 + "test.txt" }
     変数宣言 自動,整数 { &multiTblNum }
     変数宣言 自動,整数 { &index }
     変数宣言 自動,整数 { &status }
     変数宣言 自動,整数 { &done }
     変数宣言 自動,整数 { &ans }
     変数宣言 自動,長整数{ &longError }

     編集表 &hwindow
     多重化
     &multiTblNum = #is表
    ┌if ( &multiTblNum )

    │ *----- begin インデクス作成 -----*
    │ 並べ替え { [生徒氏名] 昇順, [修得時期] 昇順 }

    │ ジャンプ 行番号 = 先頭
    │┌if ( .not #eof )
    ││
    ││ &studentName = [生徒氏名]
    ││ &year    = [修得時期]
    ││ &index    = 1
    ││
    ││ 行訂正 [インデックス] = &index
    ││ **トレース出力 _#行番号, "  ", &studentName, "  ", _&year, "  ", _&index
    │└end

    │┌繰り返し ( .not #eof )
    ││ ジャンプ 行番号 = 次行
    ││
    ││┌if ( .not #eof )
    │││
    │││┌if ( [生徒氏名] = &studentName )
    ││││
    ││││┌if ( [修得時期] <> &year )
    │││││ &index = &index + 1
    ││││└end
    │││├else
    ││││
    ││││ &index = 1
    │││└end
    │││
    │││ 行訂正 [インデックス] = &index
    │││ **トレース出力 _#行番号, "  ", &studentName, "  ", _&year, "  ", _&index
    │││
    │││ &studentName = [生徒氏名]
    │││ &year    = [修得時期]
    ││└end
    ││
    │└繰り返し終了
    │ *----- end  インデクス作成 -----*

    │ *----- begin インデクスファイル書き出し -----*
    │ 絞り込み 単一化 = { [生徒氏名], [修得時期], [インデックス] }
    │ 書き出し  表, &indexTblName, 終了状態 = &status, { [生徒氏名], [修得時期], [インデックス] }
    │ トレース出力 _&status
    │ 絞り込み解除 *
    │ *----- end  インデクスファイル書き出し -----*

    │ *----- begin テキストファイル作成 -----*
    │ 印字終了
    │ 印字開始 &outputTxtName, 終了状態 = &status
    │ トレース出力 _&status
    │┌if ( &status = 1 )
    ││
    ││ ジャンプ 行番号 = 先頭
    ││ &studentName = [生徒氏名]
    ││ &done    = 0
    ││┌繰り返し ( .not #eof )
    │││
    │││┌if ( [生徒氏名] <> &studentName )
    ││││ &done = 0
    ││││ &studentName = [生徒氏名]
    │││└end
    │││
    │││┌if ( [インデックス] = 1 .and .not &done )
    ││││ 手続き実行 prc見出し印字( &indexTblName, &studentName )
    ││││ &done = 1
    │││└end
    │││ 編集表 &multiTblNum
    │││
    │││ 印字 [生徒氏名], _09, [科目名], _09, #cond( [インデックス] = 1, [評価] ), _09, #cond( [インデックス] = 2, [評価] ), _09, #cond( [インデックス] = 3, [評価] ), _13, _10,
    │││ **トレース出力 [生徒氏名], " _09 ", [科目名], " _09 ", #cond( [インデックス] = 1, [評価] ), " _09 ", #cond( [インデックス] = 2, [評価] ), " _09 ", #cond( [インデックス] = 3, [評価] ), " _13, _10"
    │││
    │││ ジャンプ 行番号 = 次行
    ││└繰り返し終了
    ││
    ││ 印字終了
    ││ &msg =     "タブ区切り形式のテキストファイルを出力しました"
    ││ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" )
    ││ &msg = &msg + "\n\nファイルを見ますか?"
    ││ メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 5, 制御文字展開 = する, &ans
    ││┌if ( &ans = 6 )
    │││ シェル実行 &outputTxtName, &longError
    ││└end
    │├else
    ││
    ││ &msg =     "コマンドの実行に失敗しました"
    ││ &msg = &msg + "\n\n印字開始 &outputTxtName, 終了状態 = &status
    ││ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" )
    ││ &msg = &msg + "\n\n&status = " + #str( &status )
    ││ メッセージボックス &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans
    │└end
    │ *----- end  テキストファイル作成 -----*

    │ 終了 表 &multiTblNum
    └end
     編集表 &hwindow

     &msg =     "done"
     **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する

    手続き定義終了

    手続き定義開始 prc見出し印字( 文字列 &indexTblName, 文字列 &studentName )
     変数宣言 自動,文字列{ &title = "prc見出し印字( )", &msg }
     変数宣言 自動,文字列{ &expression, &WQ = #jis( #hex("22") ) }
     変数宣言 自動,整数 { &tblNum }
     変数宣言 自動,整数 { &reccount }

     表 &indexTblName
     解除 *
     &tblNum = #is表

     &expression = &WQ + &studentName + &WQ
     絞り込み [生徒氏名]_&expression
     &reccount = &選択件数
    ┌繰り返し ( .not #eof )

    │┌if ( #行番号 = 1 )
    ││
    ││ 印字 [生徒氏名], _09, "科目名",
    ││ **トレース出力 [生徒氏名], " _09 ", "科目名"
    │└end
    │ 印字 _09, [修得時期],
    │ **トレース出力  " _09 ", [修得時期]

    │ ジャンプ 行番号 = 次行
    └繰り返し終了
     印字 _13, _10,
     **トレース出力 " _13, _10"

     終了 表 &tblNum

     &msg =     #文字置換( &indexTblName, "\", "\\" )
     &msg = &msg + "\n\n" + &studentName
     **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する

    手続き定義終了

引用返信 [メール受信/OFF] 削除キー/
■13432 / inTopicNo.6)  Re[1]: レポートの動的な項目名について
□投稿者/ 尾形 -(2022/07/30(Sat) 06:38:30)
    どうも、こんにちは

    [入学年度] = 2020

    #項目属性(#項目番号(#文字列([入学年度])),0)
    #項目属性(#項目番号(#文字列([入学年度]+1)),0)
    #項目属性(#項目番号(#文字列([入学年度]+2)),0)


    レポート設定に
    こんな感じでどうですか


引用返信 [メール受信/OFF] 削除キー/
■13433 / inTopicNo.7)  Re[2]: レポートの動的な項目名について
□投稿者/ 尾形 -(2022/07/30(Sat) 06:42:50)

    > [入学年度] = 2020

    これは生徒マスタ.tbxにある前提です

引用返信 [メール受信/OFF] 削除キー/
■13434 / inTopicNo.8)  Re[5]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/30(Sat) 09:44:46)
http://cross_report
    ONnoji様

    早速ご教示いただきましてありがとうございました。
    すごく丁寧に解説いただき驚いています。
    落胆などとんでもありません。
    今回の内容を実現するために、いくつかの選択肢があると思いますが、レポートの設定のみで構築するより、データをコンバートする方法がより現実的であるということが分かることが本当に助かります。少し迷子になっていましたので。

    サンプルファイルですが、早速ダウンロードさせていただき、挙動確認させていただきました。

    こちらのファイルを使用させていただき、イベント処理において出力用のデータ生成、変形してからの、レポートファイルへの出力という2段階形式でレポートの構築をしていきたいと思います。

    追加でご質問させていただくことがあるかもしれませんが、取り急ぎ御礼申し上げます。
    本当にありがとうございました。






    No13431に返信(ONnojiさんの記事)
    > 添付ファイルは後日削除しますので、イベント処理のリストを掲載しておきます。
    >
    > 名札  メイン
    >
    > *
    >
    > 手続き定義開始 cmdテキストデータ出力Click( )
    >  変数宣言 自動,文字列{ &title = "cmdテキストデータ出力Click( )", &msg }
    >  変数宣言 自動,文字列{ &studentName }
    >  変数宣言 自動,文字列{ &year }
    >  変数宣言 自動,文字列{ &indexTblName = #一括パス名 + "index" }
    >  変数宣言 自動,文字列{ &outputTxtName = #一括パス名 + "test.txt" }
    >  変数宣言 自動,整数 { &multiTblNum }
    >  変数宣言 自動,整数 { &index }
    >  変数宣言 自動,整数 { &status }
    >  変数宣言 自動,整数 { &done }
    >  変数宣言 自動,整数 { &ans }
    >  変数宣言 自動,長整数{ &longError }
    >
    >  編集表 &hwindow
    >  多重化
    >  &multiTblNum = #is表
    > ┌if ( &multiTblNum )
    > │
    > │ *----- begin インデクス作成 -----*
    > │ 並べ替え { [生徒氏名] 昇順, [修得時期] 昇順 }
    > │
    > │ ジャンプ 行番号 = 先頭
    > │┌if ( .not #eof )
    > ││
    > ││ &studentName = [生徒氏名]
    > ││ &year    = [修得時期]
    > ││ &index    = 1
    > ││
    > ││ 行訂正 [インデックス] = &index
    > ││ **トレース出力 _#行番号, "  ", &studentName, "  ", _&year, "  ", _&index
    > │└end
    > │
    > │┌繰り返し ( .not #eof )
    > ││ ジャンプ 行番号 = 次行
    > ││
    > ││┌if ( .not #eof )
    > │││
    > │││┌if ( [生徒氏名] = &studentName )
    > ││││
    > ││││┌if ( [修得時期] <> &year )
    > │││││ &index = &index + 1
    > ││││└end
    > │││├else
    > ││││
    > ││││ &index = 1
    > │││└end
    > │││
    > │││ 行訂正 [インデックス] = &index
    > │││ **トレース出力 _#行番号, "  ", &studentName, "  ", _&year, "  ", _&index
    > │││
    > │││ &studentName = [生徒氏名]
    > │││ &year    = [修得時期]
    > ││└end
    > ││
    > │└繰り返し終了
    > │ *----- end  インデクス作成 -----*
    > │
    > │ *----- begin インデクスファイル書き出し -----*
    > │ 絞り込み 単一化 = { [生徒氏名], [修得時期], [インデックス] }
    > │ 書き出し  表, &indexTblName, 終了状態 = &status, { [生徒氏名], [修得時期], [インデックス] }
    > │ トレース出力 _&status
    > │ 絞り込み解除 *
    > │ *----- end  インデクスファイル書き出し -----*
    > │
    > │ *----- begin テキストファイル作成 -----*
    > │ 印字終了
    > │ 印字開始 &outputTxtName, 終了状態 = &status
    > │ トレース出力 _&status
    > │┌if ( &status = 1 )
    > ││
    > ││ ジャンプ 行番号 = 先頭
    > ││ &studentName = [生徒氏名]
    > ││ &done    = 0
    > ││┌繰り返し ( .not #eof )
    > │││
    > │││┌if ( [生徒氏名] <> &studentName )
    > ││││ &done = 0
    > ││││ &studentName = [生徒氏名]
    > │││└end
    > │││
    > │││┌if ( [インデックス] = 1 .and .not &done )
    > ││││ 手続き実行 prc見出し印字( &indexTblName, &studentName )
    > ││││ &done = 1
    > │││└end
    > │││ 編集表 &multiTblNum
    > │││
    > │││ 印字 [生徒氏名], _09, [科目名], _09, #cond( [インデックス] = 1, [評価] ), _09, #cond( [インデックス] = 2, [評価] ), _09, #cond( [インデックス] = 3, [評価] ), _13, _10,
    > │││ **トレース出力 [生徒氏名], " _09 ", [科目名], " _09 ", #cond( [インデックス] = 1, [評価] ), " _09 ", #cond( [インデックス] = 2, [評価] ), " _09 ", #cond( [インデックス] = 3, [評価] ), " _13, _10"
    > │││
    > │││ ジャンプ 行番号 = 次行
    > ││└繰り返し終了
    > ││
    > ││ 印字終了
    > ││ &msg =     "タブ区切り形式のテキストファイルを出力しました"
    > ││ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" )
    > ││ &msg = &msg + "\n\nファイルを見ますか?"
    > ││ メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 5, 制御文字展開 = する, &ans
    > ││┌if ( &ans = 6 )
    > │││ シェル実行 &outputTxtName, &longError
    > ││└end
    > │├else
    > ││
    > ││ &msg =     "コマンドの実行に失敗しました"
    > ││ &msg = &msg + "\n\n印字開始 &outputTxtName, 終了状態 = &status
    > ││ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" )
    > ││ &msg = &msg + "\n\n&status = " + #str( &status )
    > ││ メッセージボックス &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans
    > │└end
    > │ *----- end  テキストファイル作成 -----*
    > │
    > │ 終了 表 &multiTblNum
    > └end
    >  編集表 &hwindow
    >
    >  &msg =     "done"
    >  **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
    >
    > 手続き定義終了
    >
    > 手続き定義開始 prc見出し印字( 文字列 &indexTblName, 文字列 &studentName )
    >  変数宣言 自動,文字列{ &title = "prc見出し印字( )", &msg }
    >  変数宣言 自動,文字列{ &expression, &WQ = #jis( #hex("22") ) }
    >  変数宣言 自動,整数 { &tblNum }
    >  変数宣言 自動,整数 { &reccount }
    >
    >  表 &indexTblName
    >  解除 *
    >  &tblNum = #is表
    >
    >  &expression = &WQ + &studentName + &WQ
    >  絞り込み [生徒氏名]_&expression
    >  &reccount = &選択件数
    > ┌繰り返し ( .not #eof )
    > │
    > │┌if ( #行番号 = 1 )
    > ││
    > ││ 印字 [生徒氏名], _09, "科目名",
    > ││ **トレース出力 [生徒氏名], " _09 ", "科目名"
    > │└end
    > │ 印字 _09, [修得時期],
    > │ **トレース出力  " _09 ", [修得時期]
    > │
    > │ ジャンプ 行番号 = 次行
    > └繰り返し終了
    >  印字 _13, _10,
    >  **トレース出力 " _13, _10"
    >
    >  終了 表 &tblNum
    >
    >  &msg =     #文字置換( &indexTblName, "\", "\\" )
    >  &msg = &msg + "\n\n" + &studentName
    >  **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
    >
    > 手続き定義終了
    >
引用返信 [メール受信/OFF] 削除キー/
■13435 / inTopicNo.9)  Re[3]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/30(Sat) 10:00:30)
http://cross_report
    尾形様

    こちら教えていただきましてありがとうございます。
    [入学年度]の情報を設定する方法も参考にさせていただきたいと思います。

    実は当校については、転校してくる生徒も多いため、自校で修得した科目の評価に加えて、前籍校の修得科目の評価を列記する必要があります。

    入学年度を起点とした考え方で苦戦しているのもここです。
    対象生徒が初めて科目を修得した年度を起点とした考えで構築できないかを少し考えてみたいと思います。

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



    No13433に返信(尾形さんの記事)
    >
    >>[入学年度] = 2020
    >
    > これは生徒マスタ.tbxにある前提です
    >
引用返信 [メール受信/OFF] 削除キー/
■13436 / inTopicNo.10)  Re[6]: レポートの動的な項目名について
□投稿者/ ONnoji -(2022/07/30(Sat) 10:38:35)
    > 今回の内容を実現するために、いくつかの選択肢があると思いますが、
    > レポートの設定のみで構築するより、データをコンバートする方法がより現実的であるということが分かることが本当に助かります。
    > 少し迷子になっていましたので。

    トリッキーなテクニックに溺れるよりも、ストレート・シンプルなアプローチの方が近道だったりします。

    今回のレポートを解決するためのブレークスルーは、「利用し易いデータを作っちゃえ!」です。

    そう、突破ファイルです。アハハha。(^^ゞ

    > サンプルファイルですが、早速ダウンロードさせていただき、挙動確認させていただきました。
    > 追加でご質問させていただくことがあるかもしれませんが、取り急ぎ御礼申し上げます。

    そんなに難しいことはしていないので、内容はご理解できると思います。

    もしも、不明な点があれば、この掲示板でお問い合わせください。

    そうそう、[フォーム+イベント]に関しては拙作webページも参考にしてみてください。

    こちら
     ↓
    桐の釣魚大全のトップ 日本語データベース桐10s 対応
    http://silicon7565.html.xdomain.jp/

    [桐のイベント処理の入門講座]と[桐のイベント処理の詳細な解説」他が用意してあります。

    p.s.

    最後にお願いがあります。

    返信する際には、長々とした無駄な引用は削除してください。

    画面をスクロールするのが大変なだけですから・・・

    よろしくお願いします>ALL

引用返信 [メール受信/OFF] 削除キー/
■13437 / inTopicNo.11)  Re[7]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/30(Sat) 15:40:37)
http://cross_report
    ONnoji様


    そうですね。まずはシンプルに考えれるようにしていみたいと思います。
    桐は奥が深いです。
    ONnoji様の「桐の釣魚大全」もさっそく拝見させていただきます。

    返信引用の件も教えていただきありがとうございます。
    今後も使用させてもらうことがあると思うので、次回より気をつけます。

    ありがとうございました。



引用返信 [メール受信/OFF] 削除キー/
■13439 / inTopicNo.12)  Re[8]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/30(Sat) 17:57:10)
    No13437に返信(yoshiyoshiさんの記事)
    > ONnoji様
    >
    >
    > そうですね。まずはシンプルに考えれるようにしていみたいと思います。
    > 桐は奥が深いです。
    > ONnoji様の「桐の釣魚大全」もさっそく拝見させていただきます。
    >
    > 返信引用の件も教えていただきありがとうございます。
    > 今後も使用させてもらうことがあると思うので、次回より気をつけます。
    >
    > ありがとうございました。
    >
    >
    >
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■13440 / inTopicNo.13)  Re[1]: レポートの動的な項目名について
□投稿者/ hidetake -(2022/07/31(Sun) 08:46:39)
    一つの方法として、転置集計を使う例として

    そのために
    項目の [評価] は整数項目に
    それと [入学年度] と言う項目を追加して
    あります。

    あとは、生徒成績を開き、転置集計をその
    まま実行し、結果を対象に「集計結果.rpx」
    で印刷して下さい。
    印刷する年数は、最初に入力があった年から
    3年間固定にしてあります。

1659224799.zip
/8KB
引用返信 [メール受信/OFF] 削除キー/
■13441 / inTopicNo.14)  Re[2]: レポートの動的な項目名について
□投稿者/ yoshiyoshi -(2022/07/31(Sun) 17:32:30)
http://cross_report
    hidetake 様

    転置集計の方法教えていただきましてありがとうございます。
    サンプルファイルダウンロードさせていただきました。
    こちらも期待値の表記になっています。すごいです。

    「入学年度」と「修得時期」のこの組み合わせ方法にはまったく考えが至っていませんでした。「最小」の使用方法をもう少し詳しく確認させていただいて、自ファイルでも確認させていただきたいと思います。




引用返信 [メール受信/OFF] 削除キー/
■13474 / inTopicNo.15)  Re[9]: レポートの動的な項目名について
□投稿者/ ONnoji -(2022/08/14(Sun) 13:05:37)
    どうも違和感があったので見直して変更しました。

    このパターンは、先頭行からループを始めるのではなくて、

    先頭行のデータを変数に取ってから、2行めへ進み、

    2行めから最終行へループするものでした。

    実は変更前を書いていた時、ちょっと違和感がしていました。

    なので、以下のように変更すると結果は変わりませんが、

    動作の理解がスッキリします。


    【変更前】

     編集表 &hwindow
     多重化
     &multiTblNum = #is表
    ┌if ( &multiTblNum )

    │ *----- begin インデクス作成 -----*
    │ 並べ替え { [生徒氏名] 昇順, [修得時期] 昇順 }

    │ ジャンプ 行番号 = 先頭
    │┌if ( .not #eof )
    ││
    ││ &studentName = [生徒氏名]
    ││ &year = [修得時期]
    ││ &index = 1
    ││
    ││ 行訂正 [インデックス] = &index
    ││ **トレース出力 _#行番号, " ", &studentName, " ", _&year, " ", _&index
    │└end

    │┌繰り返し ( .not #eof )
    ││ ジャンプ 行番号 = 次行
    ││
    ││┌if ( .not #eof )
    │││
    │││┌if ( [生徒氏名] = &studentName )
    ││││
    ││││┌if ( [修得時期] <> &year )
    │││││ &index = &index + 1
    ││││└end
    │││├else
    ││││
    ││││ &index = 1
    │││└end
    │││
    │││ 行訂正 [インデックス] = &index
    │││ **トレース出力 _#行番号, " ", &studentName, " ", _&year, " ", _&index
    │││
    │││ &studentName = [生徒氏名]
    │││ &year = [修得時期]
    ││└end
    ││
    │└繰り返し終了
    │ *----- end インデクス作成 -----*

    │ :
    │ :
    │ :

    └end


    【変更後】

     編集表 &hwindow
     多重化
     &multiTblNum = #is表
    ┌if ( &multiTblNum )

    │ *----- begin インデクス作成 -----*
    │ 並べ替え { [生徒氏名] 昇順, [修得時期] 昇順 }

    │ ジャンプ 行番号 = 先頭
    │┌if ( .not #eof )
    ││
    ││ &studentName = [生徒氏名]
    ││ &year = [修得時期]
    ││ &index = 1
    ││
    ││ 行訂正 [インデックス] = &index
    ││ **トレース出力 _#行番号, " ", &studentName, " ", _&year, " ", _&index
    ││
    ││ ジャンプ 行番号 = 次行
    │└end

    │┌繰り返し ( .not #eof )
    ││ *不要:ジャンプ 行番号 = 次行 [繰り返し終了]コマンドの直前へ移動
    ││
    ││ *不要:if ( .not #eof )
    ││
    ││┌if ( [生徒氏名] = &studentName )
    │││
    │││┌if ( [修得時期] <> &year )
    ││││ &index = &index + 1
    │││└end
    ││├else
    │││
    │││ &index = 1
    ││└end
    ││
    ││ 行訂正 [インデックス] = &index
    ││ **トレース出力 _#行番号, " ", &studentName, " ", _&year, " ", _&index
    ││
    ││ &studentName = [生徒氏名]
    ││ &year = [修得時期]
    ││ *不要:end
    ││
    ││ ジャンプ 行番号 = 次行
    │└繰り返し終了
    │ *----- end インデクス作成 -----*

    │ :
    │ :
    │ :

    └end




引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -