MZPlatformユーザー会

作成した返信

10 件の投稿を閲覧中 - 521 ~ 530 件(全 756 件)
  • 著者
    投稿
  • 返信先: データ分類について #5303
    MZPlatformユーザー会
    サイト管理者

    いただいた情報をもとに、サンプルを作成しましたので添付します。ZIPファイルを展開してビルダーで確認しながら下記の解説をご覧ください。

    実行して「変換」ボタンを押すと、CSVファイルの内容をイメージした元テーブルから、ガントチャート用に変換したテーブルとガントチャートが表示されます。変換方法は、機番ごとに部分テーブルを抽出して緑の列の1と0をそれぞれ「稼働」の開始と終了と考えて、ガントチャート用のテーブルに変換します。

    部分テーブルの抽出にはテーブルサブセットフィルターを使います。その動作確認としては、「機番リスト作成」ボタンを押してから横のコンボボックスで機番を選択すると部分テーブルが下に表示されます。

    「変換」ボタンの方は、すべての機番に対して部分テーブルを作成して、一度でガントチャート用のテーブルを作成します。

    これは処理の一例ですが、今のところご希望の処理を実現するためにはこのような複雑な処理を記述する必要があります。ご不明な点があればお問い合わせください。

    添付ファイル:
    返信先: データ分類について #5302
    MZPlatformユーザー会
    サイト管理者

    後ほど該当箇所に回答を記入しますので少々お待ちください。

    返信先: データ分類について #5300
    MZPlatformユーザー会
    サイト管理者

    「グラフ化.mzax」のアプリでは、画面部品のテーブル上にデータがあります。画面部品のテーブル上のテーブルデータは、明示的に削除しないとデータが残り続け、アプリケーション保存時にもデータが含まれます。

    MZPlatformユーザー会
    サイト管理者

    サンプルのテーブルに特に意味はありませんが、SQL検索結果のテーブルをイメージしています。列幅を指定する対象のテーブルです。それに対応した列幅リストはサンプルの開始イベントで起動されるサブルーチンの中で作成されており、作成後は変数内(PCのメモリ上)にのみ存在します。PCのメモリ上にのみ存在するので、アプリ終了時には消失します。これはマップ固有というより変数全般の話になります。列幅リストの作成処理をアプリ内に埋め込んでいるのが一つ目のサンプルで、列幅リストの情報を文字列としてデータベース側に保存する例が二つ目のサンプルになります。

    ご紹介した内容はあくまでも一例ですから、抽象的ですし完全に理解するには専門的な知識が必要かもしれませんので、ご自身が理解しやすい方法でお考え下さい。

    MZPlatformユーザー会
    サイト管理者

    はい。添付したサンプルはリストですが、ツリーのノード名を用いて同様の取得が実現できると思います。

    下記、追加情報です。テーブル名と列幅リストの組をアプリケーション内で作成せずに、こちらもデータベースのテーブルに保存する場合の方法について検討しました。

    列幅リストはテーブルごとに長さが変わると思いますが、列幅リストをカンマ区切りの文字列として表現して、単一の文字列としてデータベースのテーブルに保存することができます。つまり、データベースのテーブルにはテーブル名と列幅リスト文字列の組が保存されます。そのように表現された文字列は、カンマを用いて分割してリストデータに変換することができます。あとは前回と同様の処理になります。

    この方法で前回のサンプルを修正したものを再度添付します。

    添付ファイル:
    返信先: 複合コンポーネント内のボタン処理について #5289
    MZPlatformユーザー会
    サイト管理者

    下記回答になります。サンプルアプリのZIPファイルを添付しますので、展開してビルダーで開きながら説明をご覧ください。

    複合コンポーネントの中のイベント処理から上の階層に処理を渡すためには、メソッド起動で複合コンポーネントそのものに接続して、「イベントを伝播させる」か「イベント番号を指定してイベントを伝播させる」を起動します。このとき、引数のイベントは取得方法をイベントにします。

    複合コンポーネントの中で上記のようなメソッド起動を作成すると、上の階層で複合コンポーネントのイベント処理追加のメニューにそのイベントが表示されるようになります。あとはそのイベント処理を追加して、必要なメソッド起動を作成します。

    複合コンポーネント内部でボタンを複数作成して処理を分けたい場合には、ボタンのアクションイベント処理の中で複合コンポーネントの「イベント番号を指定してイベントを伝播させる」を起動し、ボタンごとにイベント番号を割り当てます。上位階層では複合コンポーネントにアクションイベント処理を追加し、メソッド起動に対してイベント番号を設定することでボタンごとの処理を実現できます。この場合は、アクションイベントとイベント番号の組み合わせで処理を渡すので、文字列等を渡すことはできません。(サンプル中のテスト用1が対応)

    もし、ボタンの文字列を上位階層に渡したい場合は、ボタンのアクションイベントから直接上位に渡さずに、イベント生成コンポーネント(処理部品>イベント)を使います。イベント生成はすべてのイベントを生成できるので、どのイベントを使うか迷うかもしれませんが、ここではボタンの文字列をデータ生成イベントで上位に渡すことにします。(サンプル中のテスト用2が対応)

    ボタンのアクションイベント処理でイベント生成のメソッド「データ生成イベントの発生」を起動し、引数にボタンの文字列を指定します。上位でイベント番号を用いた分岐が必要であれば、番号も指定します。そして、イベント生成のイベント処理で対応するイベント(ここではデータ生成)を追加して、その中で複合コンポーネントの「イベントを伝播させる」を起動します。メソッド起動で発生させたイベントに対応したイベント処理に接続しないと正常に動作しませんのでご注意ください。あとは上位階層で複合コンポーネントにデータ生成イベント処理を追加して、ご希望のメソッド起動を記述します。イベントに含めたボタン文字列は、メソッド起動の引数でイベント内包のイベント対象データとして利用することが可能です。

    説明が長くて複雑ですので、何かご不明な点があればお問い合わせください。

    添付ファイル:
    MZPlatformユーザー会
    サイト管理者

    実現したい処理については理解できたと思いますので、回答します。実現方法の選択肢が複数ありまして、すべて説明すると逆に難しそうなので、その中の一例としての紹介になります。

    まずは、検索結果のテーブルに対する列幅を指定しようとすると、必要な情報は列幅のリストになります。表示したいテーブルの列数がすべて同じであれば、テーブル名と複数の列幅の値で構成されるテーブルを準備しても良いですが、おそらく各テーブルの列数が異なると思いますので、列幅のリストを複数管理する必要があります。もし、各テーブルと列幅リストの組み合わせを順番で対応して良ければ、列幅リストのリストとして管理しても良いですが、各テーブルの名前と列幅リストの組を管理したければ、マップ格納変数を用いる方法があります。

    また、そのようなテーブル名と列幅リストの組をどこに保存するかも選択肢が複数あります。もし、それらを作成する処理をアプリケーション内に記述しておいてよければ、添付ファイルのような記述で実現可能です。参考にしていただき、ご不明な点があればお問い合わせください。

    添付ファイル:
    返信先: データ分類について #5282
    MZPlatformユーザー会
    サイト管理者

    残念ながら、現在はこの形式のCSVファイルからの簡単な分類機能はありません。MZを用いた実現の方針としては、CSVファイルから手作業で分類している作業を、地道にMZアプリ上の処理で置き換えることになります。

    例えば、手作業ではこのCSVファイルから開始と終了の時刻はどのように抽出するでしょうか。また、機番別の分類とはどのようにするでしょうか。ガントチャート用データを作成するためには、元のCSVデータから項目名・系列名・開始日時・終了日時の列を持つテーブルデータに変換する必要があります。その作業手順を明確化した上で、それをMZアプリ上の処理として実現可能かをご質問ください。

    追加情報としては、エクセル連携のサンプルアプリでは、テーブルデータからガントチャート用データへの変換処理が少々複雑で、ご自身で修正することが難しいと思います。もう少しわかりやすいサンプルとして「グラフ化.mzax」がありますので、こちらもご覧ください。こちらのサンプルでは、テーブルデータからガントチャート用データへの変換に複合コンポーネントを使用して、列名指定での分類をするようになっているので、対象となるテーブルデータと列構成が変わっても、理解と修正がしやすいと思います。

    返信先: csvからの読み込みについて #5278
    MZPlatformユーザー会
    サイト管理者

    CSVファイルを読み込んでガントチャートを表示する場合、CSVファイルを読み込んでテーブルに設定して、その後にガントチャート用のテーブルに変換してからガントチャートに設定します。まずはこの手順で処理を作成してみてください。

    CSVファイルからの読み込みはサンプルのCSV入出力をご覧ください。テーブルからの変換は基本的に派遣管理そのままで大丈夫です。CSVファイルの内容が元のテーブルと異なる構成であれば何らかの操作が必要となりますが、まずはExcel等を用いた手作業でCSVファイルの構成を派遣管理のテーブルに合わせて、それで動作することを確認してから、テーブル構成の操作についてご質問ください。

    MZPlatformユーザー会
    サイト管理者

    以下の手順でスクロールさせることが可能です。

    (1) ガントチャートのバー(タスク)をマウス操作したときに、ガントチャートの「getTaskStart(int,int)」、「getTaskEnd(int,int)」により、操作したタスク(選択したタスク)の開始日時、終了日時を取得。
    (2) タスク開始日時<ガントチャート表示開始日時であれば、ガントチャートの表示開始日時をタスク開始日時に設定。
    (3) ガントチャート表示終了日時(表示開始日時+表示期間)<タスク終了日時であれば、ガントチャートの表示開始日時を(タスク終了日時-表示期間)に設定。

    ご参考までにサンプルを用意しましたので、ご覧ください。なお、サンプルでは、(3)での計算回数を減らすため、「表示開始日時<(タスク終了日時-表示期間)」の判定を行っています。

    添付ファイル:
10 件の投稿を閲覧中 - 521 ~ 530 件(全 756 件)