Q6:エクセルから取得したテーブルデータを棒グラフで表示するために、大項目取得メソッドで日付データを取得すると変換されていきます。
Q6-1:
エクセル連携導入チュートリアルで、ガントチャート用のテーブル形式に変換した分類テーブルを作成する方法が載っています。
これを利用して、エクセルから取得したテーブルデータを棒グラフで表示するために、大項目取得メソッドで日付データを取得すると例えば、
2005/04/25→2005/04/25 00:00:00→Mon Apr 25 00:00:00 JST 2005
のように変換されていきます。
できれば最初のデータのまま使用したいのですが、どのように対処すればよいのでしょうか?エクセルをSQLで取得する時に前もって日付データを、例えば指定した月の日だけのデータにしてしまう方がいいのでしょうか?
A6-1:
2005/04/25→2005/04/25 00:00:00→Mon Apr 25 00:00:00 JST 2005というようにデータの表示が変換されていくということですが、これは一つの「日付型のデータ」が
・エクセル上での表示
・MZPlatformのテーブル上(列は日付型)での表示
・日付型データ(書式なし)
という違った形式で見えているだけで、データが変化した訳ではありません。
日付型のエクセルデータを[データベースアクセス]コンポーネントを使って取得するとMZPlatformのテーブル上でも基本的に列型は日付型となりますが、ご指摘の通り『select Format(開始日,'YYYY/MM/DD') from "plan$"』などとして頂くと「2005/04/25」という文字列型のデータとして取得できます。
この方法が一番簡便かと存じます。
テーブルの日付型の列の表示形式は「実行(設定可)」ボタンで実行し「列の上で右クリック」>「列」>「表示属性(日付)」>「表示形式」から日付のみ表示したり、表示パターンを指定することができます。
またMZPlatform2.0の「エクセル連携導入チュートリアル」の後半応用編部分には[カレンダー]コンポーネントを使って、日付型データの書式を指定する処理を紹介しています。
さらに「グラフデータ作成」複合コンポーネントを使って、[分類テーブル作成]コンポーネントでガントチャートデータを作成していたのと同様の処理を行っています。「グラフデータ作成」複合コンポーネントの中に[分類テーブル作成]コンポーネントを含んでいますので、細かく分類する必要がなければ、棒グラフ用データを作成するのにお使い頂けると存じます。
詳しくは「エクセル連携導入チュートリアル」応用編をご覧ください。