Q16-1:クロス集計で、工程名毎にソートして集計したのですが、NC旋盤、材料手配、マシニングというふうに集計されます。順序よく工程名毎にクロス集計表を出したいと思いますが、(材料手配、NC旋盤、マシニングというふうに集計したい)どこをいじっていいかわかりません。
A16-1:
クロス集計用の系列グラフデータ(分類テーブル)作成時に列の順序が自動的にソートされてしまい、思い通りにならないということと理解いたしました。
この点につきましては「グラフデータ作成」複合コンポーネントの仕様となっております。
今回お送りいただいたアプリケーションでは、おそらく「工程No」に対応する順に列を並べたいということであると思います。
もしそうであるならば、いくつか方法はあるかと存じますが、系列グラフデータ生成時に指定する列方向列に「工程No」列を指定し、分類テーブル生成後に列名を入れ替えるという方法ではいかがでしょうか。
「グラフデータ作成」複合コンポーネント内で系列グラフデータ生成時に使用している「分類テーブル生成」コンポーネントにおいて、あらかじめメソッド「setUnsorted(true)」を実行することにより、ソートしないようにすることもできます。
ただし、この場合も列の順序、行の順序が思い通りいにならないかもしれません。
Q16-2:
系列グラフデータ生成時に指定する列方向列に「工程No」列を指定し、分類テーブル生成後に列名を入れ替えるという方法?の場合、例えば1 と10の場合は 文字列でのソートになるので、隣に並んで出てきます。
分類テーブル生成の場所も、系列グラフデータ作成の処までは判るのですが、探したところ「分類テーブル生成」はないようです。どこの部分か教えていただくとありがたいです。
A16-2:
「クロス集計」を実現なさるのに、[グラフデータ作成]複合コンポーネントを使っていらっしゃいますが、この複合コンポーネントの中に[分類テーブル作成]コンポーネントが含まれています。
[グラフデータ作成]複合コンポーネントは『エクセル連携チュートリアル』で行っているような、元データからグラフ用のデータへの並び替えをスムーズに行うことを目的としています。
[分類テーブル作成]コンポーネントはデフォルトではグラフ用のデータへの並び替えの際に項目をソートするようになっています。
前回の返信
> > 「グラフデータ作成」複合コンポーネント内で系列グラフデータ生成時に使用している「分類テーブル生成」コンポーネントにおいて、あらかじめメソッド「setUnsorted(true)」を実行することにより、ソートしないようにすることもできます.
の方法の一例を書きます。
@[グラフデータ作成]―[系列グラフデータ作成]―[分類テーブル作成]コンポーネントを探してください。階層は3層になっています。
探す[分類テーブル作成]のIDは8-8-16です。
A現在の階層は[系列グラフデータ作成]複合コンポーネント(ID:8-8)内です。
[分類テーブル作成(ID8-8-16)]のメソッド「setUnsorted(boolean)」を公開します。一つ上位の階層に上がります。
B現在の階層は[グラフデータ作成]複合コンポーネント(ID:8)内です。
(Aで公開設定済みの)[系列グラフデータ作成(ID:8-8)]のメソッド「setUnsorted(boolean)」を公開します。
Cこれで最上位の階層でも[グラフデータ作成]複合コンポーネントを接続先として、メソッド「setUnsorted(boolean)」を設定できます。引数は「固定値、true」としてください。どこかタイミングの良い箇所で実行します。
メソッドの公開については『チュートリアルLesson12』でご説明していますが、判り難いところがありましたら、どうぞ再度ご連絡下さい。
なお「setUnsorted(boolean)」=trueとすると、全てソートされなくなりますので、管理番号列も今度は数字順に並ばないという現象が起こります。もし、これで不都合な場合は、後から管理番号列をソートすることになるかと存じます。
> 系列グラフデータ生成時に指定する列方向列に「工程No」列を指定し、分類テーブル生成後に列名を入れ替えるという方法?の場合、例えば1 と10の場合は 文字列でのソートになるので 隣に並んで出てきます。
工程Noの列型が数値型であれば、数字順に並ぶかと思います。
「クロス集計」を比較的簡単にということで、[グラフデータ作成]複合コンポーネントを使う例をご紹介していますが、もう少し複雑なことをしたいということになれば、[分類テーブル作成]コンポーネントをそのまま使った方が早い場合もあるかも知れません。