IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-28682データ解析支援装置及びデータ解析支援方法
<>
  • 特開-データ解析支援装置及びデータ解析支援方法 図1
  • 特開-データ解析支援装置及びデータ解析支援方法 図2
  • 特開-データ解析支援装置及びデータ解析支援方法 図3
  • 特開-データ解析支援装置及びデータ解析支援方法 図4
  • 特開-データ解析支援装置及びデータ解析支援方法 図5
  • 特開-データ解析支援装置及びデータ解析支援方法 図6
  • 特開-データ解析支援装置及びデータ解析支援方法 図7
  • 特開-データ解析支援装置及びデータ解析支援方法 図8
  • 特開-データ解析支援装置及びデータ解析支援方法 図9
  • 特開-データ解析支援装置及びデータ解析支援方法 図10
  • 特開-データ解析支援装置及びデータ解析支援方法 図11
  • 特開-データ解析支援装置及びデータ解析支援方法 図12
  • 特開-データ解析支援装置及びデータ解析支援方法 図13
  • 特開-データ解析支援装置及びデータ解析支援方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023028682
(43)【公開日】2023-03-03
(54)【発明の名称】データ解析支援装置及びデータ解析支援方法
(51)【国際特許分類】
   G06F 16/28 20190101AFI20230224BHJP
   G06F 11/36 20060101ALI20230224BHJP
   G06F 3/14 20060101ALI20230224BHJP
   G06F 3/048 20130101ALI20230224BHJP
【FI】
G06F16/28
G06F11/36 164
G06F3/14 310D
G06F3/048
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021134537
(22)【出願日】2021-08-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】狩野 遥
【テーマコード(参考)】
5B042
5B069
5B175
5E555
【Fターム(参考)】
5B042HH38
5B069AA15
5B069DB00
5B069DD05
5B069FA03
5B069FA04
5B175FB04
5B175JA02
5E555AA13
5E555BA01
5E555BA63
5E555BA65
5E555BB01
5E555BC19
5E555BD01
5E555CA24
5E555CB02
5E555CB46
5E555CC19
5E555DB41
5E555DB56
5E555DB58
5E555DC13
5E555FA00
(57)【要約】
【課題】テンプレートを予め蓄積しておかなくても、適切なダッシュボードを提示することが可能なデータ解析支援装置を提供する。
【解決手段】CSVファイル入力部111は、CSVファイルを取り込む。解析データ生成部112は、CSVファイルを解析した解析データを生成し、解析データを複数の形式のそれぞれに整形した複数の整形データを生成する。テンプレート処理部114は、複数の整形データに基づいて、データを所定の表示形式で表示するダッシュボードのテンプレートを複数生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
データを所定の表示形式で表示するダッシュボードのテンプレートを生成するデータ解析支援装置であって、
処理対象データを取り込む取込部と、
前記処理対象データを解析した解析データを生成し、前記解析データを複数の形式のそれぞれに整形した複数の整形データを生成する生成部と、
前記複数の整形データに基づいて、複数の前記テンプレートを生成するテンプレート処理部と、を有するデータ解析支援装置。
【請求項2】
前記処理対象データは、行列構造を有し、
前記生成部は、前記処理対象データの各列から、値として数値を格納する列である数値列と、値として数値以外のデータ値を格納する列である他列とで構成されるグループを作成し、各グループにおける前記他列の値ごとの前記数値列の値に基づいて、前記解析データを生成する、請求項1に記載のデータ解析支援装置。
【請求項3】
前記生成部は、前記数値列の値にさらに基づいて、前記解析データを生成する、請求項2に記載のデータ解析支援装置。
【請求項4】
前記生成部は、前記他列の値ごとの前記数値列の値の統計値を前記解析データとして生成し、前記統計値と、前記統計値に応じたグラフとを前記整形データとして生成し、
前記テンプレート処理部は、前記統計値を含む前記テンプレートと、前記統計値及び前記グラフを含む前記テンプレートとを生成する、請求項2に記載のデータ解析支援装置。
【請求項5】
前記他列は、前記値として文字を格納する文字列を含み、
前記生成部は、前記グラフとして、円グラフを生成する、請求項4に記載のデータ解析支援装置。
【請求項6】
前記他列は、前記値として日付を格納する日付列を含み、
前記生成部は、前記グラフとして、棒グラフを生成する、請求項4に記載のデータ解析支援装置。
【請求項7】
前記数値列に数値以外の値が格納されている場合、当該値を所定の数値に変更するエラー処理部をさらに有する、請求項2に記載のデータ解析支援装置。
【請求項8】
前記生成部は、前記処理対象データに空白行が存在する場合、前記データから前記空白行を削除する、請求項2に記載のデータ解析支援装置。
【請求項9】
前記処理対象データに不備がある場合、当該不備の内容を通知する出力部をさらに有する、請求項1に記載のデータ解析支援装置。
【請求項10】
前記処理対象データは、日付を示す日付データを含み、
前記生成部は、前記日付データの形式が規定の形式でない場合、前記日付データの形式を前記規定の形式に変更する、請求項1に記載のデータ解析支援装置。
【請求項11】
データを所定の表示形式で表示するダッシュボードのテンプレートを生成するデータ解析支援装置によるデータ解析支援方法であって、
処理対象データを取り込み、
前記処理対象データを解析した解析データを生成し、前記解析データを複数の形式のそれぞれに整形した複数の整形データを生成し、
前記複数の整形データに基づいて、複数の前記テンプレートを生成する、データ解析支援装置。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ解析支援装置及びデータ解析支援方法に関する。
【背景技術】
【0002】
ITサービスの運用業務などにおいては、稼働している機器のキャパシティ状態及びシステムの利用状況などを監視する監視システムが必要とされている。
【0003】
従来、監視システムの監視結果は、CSV(Comma Separated Value)データなどの形式で出力され、表計算ソフトウェアなどにより台帳に記載されてきた。これに対して近年では、運用コストの削減などを図るために、表計算ソフトウェアなどで作成する台帳を廃止する傾向にあり、その代わりに、複数の情報を整理して表示するダッシュボードを用いた監視結果の可視化及び解析が進んでいる。そのため、ダッシュボードを実装したソフトウェアの需要が増加している。
【0004】
ダッシュボードの表示内容は、解析対象のデータの内容及び顧客の要望などにより異なるため、通常、ダッシュボードを実装したソフトウェアを開発する際には、作成者が顧客からの依頼を受けてソフトウェアを作成する。しかしながら、顧客自身がダッシュボードの理想的な表示内容を理解していない場合も多く、完成したダッシュボードに顧客が満足せず、ソフトウェアの開発に手戻りが発生し、ソフトウェアの提供までに要する時間が長くなるという問題があった。
【0005】
これに対して特許文献1には、ダッシュボードのテンプレートを蓄積したテンプレートデータベースから、解析対象のデータに応じたテンプレートを抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2014/010071号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の技術では、ダッシュボードのテンプレートを蓄積したテンプレートデータベースを使用しているため、処理対象のデータに適したテンプレートが存在しない場合などでは、適切なダッシュボードを提示することができず、ソフトウェアの提供までに要する時間が長くなるという問題を解決することができないことがある。
【0008】
なお、特許文献1には、処理対象のデータに不備があった場合の処理については何ら記載がないため、解析対象のデータに不備があった場合に適切なダッシュボードを提示することができない恐れがある。また、CSVファイルなどでは、日付データを記述する形式として複数種類の形式が存在するが、解析対象のデータに規定の形式以外の形式が存在する場合、日付データを適切に取り込めず、適切なダッシュボードを提示することができない恐れもある。
【0009】
本開示の目的は、テンプレートを予め蓄積しておかなくても、適切なダッシュボードを提示することが可能なデータ解析支援装置及びデータ解析支援方法を提供することにある。
【課題を解決するための手段】
【0010】
本開示の一態様に従うデータ解析支援装置は、データを所定の表示形式で表示するダッシュボードのテンプレートを生成するデータ解析支援装置であって、処理対象データを取り込む取込部と、前記処理対象データを解析した解析データを生成し、前記解析データを複数の形式のそれぞれに整形した複数の整形データを生成する生成部と、前記複数の整形データに基づいて、複数の前記テンプレートを生成するテンプレート処理部と、を有する。
【発明の効果】
【0011】
本発明によれば、テンプレートを予め蓄積しておかなくても、適切なダッシュボードを提示することが可能になる。
【図面の簡単な説明】
【0012】
図1】本開示の実施形態に係るダッシュボード提案システムの構成を示す図である。
図2】メイン処理の一例を説明するためのフローチャートである。
図3】テンプレート処理の一例を説明するためのフローチャートである。
図4】数値列処理の一例を説明するためのフローチャートである。
図5】文字列処理の一例を説明するためのフローチャートである。
図6】日付列処理の一例を説明するためのフローチャートである。
図7】棒グラフ作成処理の一例を説明するためのフローチャートである。
図8】テンプレート表示処理の一例を説明するためのフローチャートである。
図9】第1エラー処理の一例を説明するためのフローチャートである。
図10】第2エラー処理の一例を説明するためのフローチャートである。
図11】解析出力処理の一例を説明するためのフローチャートである。
図12】結果ファイルの一例を示す図である。
図13】テンプレートの一例を示す図である。
図14】データの遷移の一例を説明するための図である。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態について図面を参照して説明する。
【0014】
図1は、本開示の実施形態に係るダッシュボード提案システムの構成を示す図である。図1に示すダッシュボード提案システム1は、データを所定の表示形式で表示するダッシュボードのテンプレートを生成して提示するデータ解析支援システムであり、ネットワーク3を介してユーザ端末2と通信可能に接続される。
【0015】
ユーザ端末2は、ダッシュボード提案システム1を利用するユーザにて用いられる端末装置であり、操作実行部21と、出力画面22とを有する。操作実行部21は、ユーザから種々の操作を受け付ける。出力画面22は、ダッシュボード提案システム1からの種々の情報を表示する。
【0016】
ダッシュボード提案システム1は、WEB/AP(Application)サーバ11と、記憶装置12とを有する。
【0017】
WEB/APサーバ11は、ダッシュボードのテンプレートを生成して提示するデータ解析支援装置であり、CSVファイル入力部111と、解析データ生成部112と、演算処理部113と、テンプレート処理部114と、エラー処理部115と、結果ファイル出力部116とを有する。なお、WEB/APサーバ11は、例えば、プロセッサ(コンピュータ)及びメモリ(共に図示せず)を備えたコンピュータシステムにより構成される。この場合、以下で説明するWEB/APサーバ11の各構成要素及び各機能は、例えば、プロセッサがコンピュータプログラムを読み取り、その読み取ったコンピュータプログラムを実行することで実現される。コンピュータプログラムは、コンピュータにて読み取り可能な記録媒体に記録可能である。記録媒体は、例えば、半導体メモリ、磁気ディスク、光ディスク、磁気テープ及び光磁気ディスクなどである。
【0018】
記憶装置12は、WEB/APサーバ11にて使用又は生成されるデータを記憶するデバイスであり、テンプレート情報格納部121と、エラーデータ格納部122と、処理結果データ格納部123と、解析データ格納部124とを有する。また、解析データ格納部124は、数値データ格納部131と、数値文字データ格納部132と、円グラフデータ格納部133と、棒グラフデータ格納部134と、ヘッダ情報格納部135と、日付データ格納部136とを有する。
【0019】
CSVファイル入力部111は、ダッシュボードのテンプレートを作成するためのデータである処理対象データを取り込む取込部である。処理対象データは、本実施形態では、行列構造を有するデータであり、より具体的には、CSVファイルである。しかしながら、処理対象データは、CSVファイルに限らず、所定の表計算ソフトウェアなどに対応したファイルなどでもよい。
【0020】
解析データ生成部112は、CSVファイル入力部111にて取り込まれたCSVファイルを解析した解析データを生成し、その解析データを複数の形式のそれぞれに整形した複数の整形データを生成する生成部である。なお、整形データには、解析データそのものも含む。また、解析データ生成部112は、CSVファイルの不備(エラー)を検出する。
【0021】
演算処理部113は、計数処理などの演算処理を行う。テンプレート処理部114は、解析データ生成部112にて生成された整形データに基づいて、ダッシュボードのテンプレートを複数生成する。
【0022】
エラー処理部115は、解析データ生成部112にて検出されたエラーに応じたエラー処理を行う処理部である。結果ファイル出力部116は、解析データ生成部112にて検出されたエラーの内容を示すエラー通知データを結果ファイルとして出力して、エラーの内容をユーザに通知する出力部である。
【0023】
テンプレート情報格納部121は、テンプレート処理部114にて生成されたテンプレートを示すテンプレート情報を格納する。エラーデータ格納部122は、エラー処理部115によるエラー処理の処理結果を示すエラーデータを格納する。処理結果データ格納部123は、解析データ生成部112にて検出されたエラーに関する処理結果データを格納する。
【0024】
解析データ格納部124は、解析データ生成部112にて生成された解析データを格納する。具体的には、数値データ格納部131は、CSVファイルの数値列に関する数値データを格納する。数値文字データ格納部132は、CSVファイルの数値列と文字列のペアに関する数値文字データを格納する。円グラフデータ格納部133は、CSVファイルに関する円グラフを示す円グラフデータを格納する。棒グラフデータ格納部134は、CSVファイルに関する棒グラフを示す棒グラフデータを格納する。ヘッダ情報格納部135は、CSVファイルから抽出されたヘッダ情報を格納する。日付データ格納部136は、CSVファイルの日付列に関する日付データを格納する。
【0025】
図2は、ダッシュボード提案システム1におけるメイン処理の一例を説明するためのフローチャートである。
【0026】
メイン処理では、ユーザ端末2は、操作実行部21に対するユーザの操作に従ってダッシュボード提案システム1にログインする(ステップS1)。ユーザ端末2は、操作実行部21に対するユーザの操作に従って解析対象のデータであるCSVファイルをダッシュボード提案システム1にアップロードする(ステップS2)。
【0027】
ダッシュボード提案システム1は、アップロードされたCSVファイルの数値列と、数値列と数値列とは異なる他列とで構成されるグループにおける他列の値ごとの数値列の値とに基づいて、CSVファイルのダッシュボードのテンプレートを複数生成して表示するテンプレート処理(図3参照)を実行する(ステップS3)。他列は、値が数値とは異なるデータ値を有する列である。
【0028】
その後、ユーザ端末がユーザの操作実行部21に対する操作に従って、表示されたテンプレートのいずれかを選択する。ダッシュボード提案システム1は、選択されたテンプレートを指定テンプレートとして特定する(ステップS4)。
【0029】
そして、ダッシュボード提案システム1は、アップロードされたCSVファイルのエラーの内容を示す結果ファイルを生成して出力する結果出力処理(図11参照)を実行し(ステップS5)、処理を終了する。
【0030】
図3は、図2のステップS3のテンプレート処理の一例を説明するためのフローチャートである。
【0031】
テンプレート処理では、先ず、CSVファイル入力部111は、図2のステップS2でアップロードされたCSVファイルを取り込む(ステップS111)。
【0032】
解析データ生成部112は、CSVファイル入力部111にて取り込まれたCSVファイルのヘッダ情報を取得し、解析データ格納部124のヘッダ情報格納部135に格納する(ステップS112)。ヘッダ情報は、CSVファイルの各列に関する管理情報であり、例えば、CSVファイルの一行目であるヘッダ行に記載された情報を含む。ヘッダ情報は、例えば、CSVファイルの各列の項目名を示す情報、及び、各列のデータ形式を規定する情報などを含んでもよい。
【0033】
解析データ生成部112は、CSVファイルにヘッダ行以外で空白行が存在するか否かを判定する(ステップS113)。空白行は、値が1つも格納されていない行である。
【0034】
空白行が存在する場合、解析データ生成部112は、空白行を特定し、その空白行を示す空白行データを、処理結果データとして処理結果データ格納部123へ格納する(ステップS114)。解析データ生成部112は、CSVファイルから空白行を削除する(ステップS115)。なお、空白行が存在しない場合、解析データ生成部112は、ステップS114及び115の処理をスキップする。
【0035】
そして、解析データ生成部112は、CSVファイルに数値列が存在するか否かを判定する(ステップS116)。数値列は、データ形式が数値の列である。
【0036】
数値列が存在しない場合、エラー処理部115は、数値列が存在しない旨をユーザに通知する第1のエラー処理(図9参照)を実行し(ステップS117)、メイン処理を終了する。一方、数値列が存在する場合、解析データ生成部112は、数値列を解析する数値列処理(図4参照)を実行する(ステップS118)。
【0037】
数値列処理が終了すると、解析データ生成部112は、CSVファイルに文字列が存在するか否かを判定する(ステップS119)。文字列は、数値列以外の他列であって、データ形式が文字の列である。
【0038】
文字列が存在する場合、解析データ生成部112は、文字列を解析する文字列処理(図5参照)を実行し(ステップS120)、その後、日付列を解析する日付列処理(図6参照)を実行する(ステップS121)。一方、文字列が存在しない場合、解析データ生成部112は、ステップS120及びS121の処理をスキップする。
【0039】
ステップS121の日付列処理が終了すると、テンプレート処理部114は、ダッシュボードのテンプレートを生成して表示するテンプレート表示処理(図8参照)を実行し(ステップS122)、処理を終了する。
【0040】
図4は、図3のステップS118の数値列処理の一例を説明するためのフローチャートである。
【0041】
数値列処理では、先ず、解析データ生成部112は、CSVファイルから数値列を全て取得する(ステップS211)。解析データ生成部112は、各数値列のうち値が全ての零の数値列である零列が存在するか否かを判定する(ステップS212)。
【0042】
零列が存在する場合、解析データ生成部112は、零列を示す零列データを、処理結果データとして処理結果データ格納部123に格納し、零列を解析対象から除外する(ステップS213)。零列が存在しない場合、解析データ生成部112は、ステップS213の処理をスキップする。
【0043】
解析データ生成部112は、各数値列に数値以外の値が存在するか否かを判定する(ステップS214)。
【0044】
数値以外の値が存在する場合、エラー処理部115は、数値列から数値以外の値を取り除く第2エラー処理(図10参照)に移行する(ステップS215)。数値以外のデータが存在しない場合、解析データ生成部112は、ステップS215の処理をスキップする。
【0045】
その後、演算処理部113は、数値列の数を対象列数Nとしてカウントする(ステップS216)。演算処理部113は、対象列数Nが0よりも大きいか否かを判定する(ステップS217)。
【0046】
対象列数Nが0よりも大きい場合、解析データ生成部112は、数値列のうちまだ選択していない数値列のいずれかを対象列として選択し、その対象列に含まれる各値の合計値を算出する(ステップS218)。解析データ生成部112は、対象列に含まれる各値の平均値を算出する(ステップS219)。そして、解析データ生成部112は、対象列に関する数値データとして、対象列の合計値及び平均値を、解析データ格納部124内の数値データ格納部131に格納する(ステップS220)。
【0047】
その後、演算処理部113は、対象列数Nをデクリメントして(ステップS221)、ステップS217の処理に戻る。これにより、各数値列の値の統計値として合計値及び平均値が数値データ格納部131に格納されることとなる。そして、ステップS217において対象列数Nが0と判定されると、解析データ生成部112は、数値列処理を終了する。なお、数値列の値の統計値は、数値列の値を解析した解析データであり、合計値及び平均値に限らず、他の値でもよい。
【0048】
図5は、図3のステップS120の文字列処理の一例を説明するためのフローチャートである。
【0049】
解析データ生成部112は、CSVファイルに含まれる文字列と数値列とを1つずつ含むグループ(ペア)である文字数値ペアを全て作成する(ステップS311)。これにより、例えば、文字列がm個、数値列がn個存在する場合、m×n個のペアが作成される。
【0050】
演算処理部113は、文字数値ペアの数をペア数Lとしてカウントする(ステップS312)。演算処理部113は、ペア数Lが0よりも大きいか否かを判定する(ステップS313)。
【0051】
ペア数Lが0よりも大きい場合、解析データ生成部112は、まだ選択していない文字数値ペアのいずれかを対象ペアとして選択し、対象ペアに含まれる各行(レコード)を、対象列に含まれる文字列の値(文字)が同じ行でグループに分ける(ステップS314)。
【0052】
演算処理部113は、グループの数をグループ数Mとしてカウントする(ステップS315)。演算処理部113は、グループ数Mが0よりも大きいか否かを判定する(ステップS316)。
【0053】
グループ数Mが0よりも大きい場合、解析データ生成部112は、まだ選択していないグループを対象グループとして選択し、その対象グループに含まれる文字列の各行の値(つまり、同じ文字)の重複排除を行い、対象グループ内の文字列を1つの文字データに置き換える(ステップS317)。
【0054】
解析データ生成部112は、対象グループがその対象グループの数値列の値が全て0である零グループか否かを判定する(ステップS318)。
【0055】
対象グループが零グループの場合、解析データ生成部112は、対象グループを特定する零グループデータを、処理結果データとして記憶装置12内の処理結果データ格納部123に格納して、零グループを解析対象から除外する(ステップS319)。
【0056】
対象グループが零グループでない場合、解析データ生成部112は、対象グループ内の数値列の各値の合計値をグループ合計値として算出する(ステップS320)。解析データ生成部112は、グループ合計値を、解析データ格納部124内の数値文字データ格納部132へ格納する(ステップS321)。これにより、文字数値ペアにおける文字列の値ごとに、数値列の値の統計値としてグループ合計値が格納されることとなる。なお、この統計値は、CSVファイルを解析した解析データである。また、統計値は、合計値に限らず、平均値などでもよい。
【0057】
ステップS319又はS321が終了すると、演算処理部113は、グループ数Mをデクリメントして(ステップS322)、ステップS316の処理に戻る。
【0058】
そして、ステップS316においてグループ数Mが0と判定されると、演算処理部113は、ペア数Nをデクリメントして(ステップS323)、ステップS313の処理に戻る。
【0059】
そして、ステップS313においてペア数Nが0と判定されると、解析データ生成部112は、解析データ格納部124内の数値文字データ格納部132から、文字数値ペアの各グループのグループ合計値を取得する(ステップS324)。
【0060】
演算処理部113は、文字数値ペアの数をペア数Eとしてカウントする(ステップS325)。演算処理部113は、ペア数Eが0よりも大きいか否かを判定する(ステップS326)。
【0061】
ペア数Eが0よりも大きい場合、解析データ生成部112は、まだ選択していない文字数値ペアのいずれかを対象ペアとして選択し、対象ペアの各グループのグループ合計値に応じた円グラフを示す円グラフデータを生成する(ステップS327)。解析データ生成部112は、その対象ペアの円グラフデータを、解析データ格納部124内の円グラフデータ格納部133へ格納する(ステップS328)。
【0062】
その後、演算処理部113は、ペア数Eをデクリメントして(ステップS329)、ステップS316の処理に戻る。ステップS316においてペア数Eが0と判定されると、解析データ生成部112は、処理を終了する。
【0063】
図6は、図3のステップS121の日付列処理の一例を説明するためのフローチャートである。なお、本実施形態では、CSVファイルに含まれる日付列は最大で1つであると仮定している。日付列が複数存在する場合、日付列ごとに日付列処理が行われる。
【0064】
日付列処理では、先ず、解析データ生成部112は、CSVファイルに規定の形式の値を有する日付列が存在するか否かを判定する(ステップS411)。日付列は、データ形式が日付の列であり、規定の形式は、本実施形態では、「yyyy-mm-dd」であるとする。なお、「yyyy」は西暦で表された年、「mm」は月、「dd」は日にちを示す。また、月及び日にちは、二桁に満たない場合、十の位は0となる。また、各数字(y、m、d)は全て半角である。
【0065】
規定の形式の日付列が存在する場合、解析データ生成部112は、CSVファイルに含まれる日付列、文字列及び数値列をそれぞれ1つずつ含むグループである日付列グループを全て作成する(ステップS412)。解析データ生成部112は、各日付列グループを示す日付列グループデータを生成して、解析データ格納部124内の日付データ格納部136に格納する(ステップS413)。解析データ生成部112は、日付列グループデータに基づいて棒フラグを作成する棒グラフ作成処理(図7参照)に移行する(ステップS500)。
【0066】
規定の形式の日付列が存在しない場合、解析データ生成部112は、CSVファイルに値が規定の形式ではない第1の規定外形式の日付列が存在するか否かを判定する(ステップS414)。第1の規定外形式は、本実施形態では、「yyyymmdd」であるとする。
【0067】
第1の規定外形式の日付列が存在する場合、解析データ生成部112は、その日付列の各値の左から4桁目と5桁目の間に「‐(半角ハイフン)」を挿入し(ステップS415)、さらに、その日付列の各値の左から7桁目と8桁目の間に「‐」を挿入することで、日付データの値を規定の形式に変換する(ステップS416)。
【0068】
そして、解析データ生成部112は、CSVファイルに含まれる日付列、文字列及び数値列をそれぞれ1つずつ含むグループである日付列グループを全て作成する(ステップS417)。解析データ生成部112は、各日付列グループを示す日付列グループデータを生成して、解析データ格納部124内の日付データ格納部136に格納する(ステップS418)。解析データ生成部112は、棒グラフ作成処理(図7参照)に移行する(ステップS500)。
【0069】
第1の規定外形式の日付列が存在しない場合、解析データ生成部112は、CSVファイに値が規定の形式ではない第2の規定外形式の日付列が存在するか否かを判定する(ステップS419)。第2の規定外形式は、本実施形態では、「yyyy/mm/dd」であるとする。
【0070】
第2の規定外形式の日付列が存在する場合、解析データ生成部112は、その日付データの「/(半角スラッシュ)」を「-(半角ハイフン)」に変換して、日付データを規定の形式に変換する(ステップS420)。
【0071】
そして、解析データ生成部112は、CSVファイルに含まれる日付列、文字列及び数値列をそれぞれ1つずつ含むグループである日付列グループを全て作成する(ステップS421)。解析データ生成部112は、各日付列グループを示す日付列グループデータを生成して、解析データ格納部124内の日付データ格納部136に格納する(ステップS422)。解析データ生成部112は、棒グラフ作成処理(図7参照)に移行する(ステップS500)。
【0072】
一方、第2の規定外形式の日付データが存在しない場合、解析データ生成部112は、日付列処理を終了して、ダッシュボードのテンプレートを生成して表示するテンプレート表示処理(図8参照)に移行する(ステップS122)。
【0073】
図7は、図6のステップS500の棒グラフ作成処理の一例を説明するためのフローチャートである。なお、棒グラフ作成処理は、図3のステップS121の日付列処理に含まれる。
【0074】
棒グラフ作成処理では、解析データ生成部112は、解析データ格納部124内の日付データ格納部136から日付列グループデータを取得する(ステップS511)。
【0075】
演算処理部113は、日付列グループデータにて示される日付列グループの数をグループHとしてカウントする(ステップS512)。演算処理部113は、グループ数Hが0よりも大きいか否かを判定する(ステップS513)。
【0076】
グループ数Hが0よりも大きい場合、解析データ生成部112は、日付列グループのうちまだ選択していない日付列グループのいずれかを対象日付列グループとして選択し、その対象日付列グループに含まれる文字列に対応する棒グラフとして、対象日付列グループに含まれる日付列を横軸(X軸)、数値列を縦軸(Y軸)とする棒グラフを示す棒グラフデータを生成する(ステップS514)。解析データ生成部112は、その文字列(日付列グループ)の棒グラフデータを、解析データ格納部124内の棒グラフデータ格納部134に格納する(ステップS515)。
【0077】
その後、演算処理部113は、グループ数Hをデクリメントして(ステップS516)、ステップS513の処理に戻る。そして、ステップS513においてグループ数Hが0と判定されると、解析データ生成部112は、テンプレート表示処理(図8参照)に移行する(ステップS122)。
【0078】
図8は、図3のステップS122のテンプレート表示処理の一例を説明するためのフローチャートである。
【0079】
テンプレート表示処理では、先ず、テンプレート処理部114は、解析データ格納部124の数値データ格納部131から、各数値列の合計値及び平均値を取得し、その各数値列の合計値及び平均値を含むダッシュボードを生成する(ステップS611)。
【0080】
続いて、テンプレート処理部114は、解析データ格納部124の数値文字データ格納部132から、各文字数値ペアの各グループのグループ合計値を取得し、それらのグループ合計値をステップS611で生成したダッシュボードに追加する(ステップS612)。
【0081】
テンプレート処理部114は、グループ合計値を追加したダッシュボードを示すダッシュボード情報を、ダッシュボードの第1のテンプレートを示す第1のテンプレート情報として、テンプレート情報格納部121に格納する(ステップS613)。
【0082】
テンプレート処理部114は、解析データ格納部124の円グラフデータ格納部133から円グラフデータを取得し、取得した円グラフデータが示す円グラフを第1のテンプレートに追加する(ステップS614)。
【0083】
テンプレート処理部114は、円グラフを追加した第1のテンプレートを示すダッシュボード情報を、ダッシュボードの第2のテンプレートを示す第2のテンプレート情報として、テンプレート情報格納部121に格納する(ステップS615)。
【0084】
テンプレート処理部114は、解析データ格納部124の棒グラフデータ格納部134から棒グラフデータを取得し、取得した棒グラフデータが示す棒グラフを第2のテンプレートに追加する(ステップS616)。
【0085】
テンプレート処理部114は、棒グラフを追加した第2のテンプレートを示すダッシュボード情報を、ダッシュボードの第3のテンプレートを示す第3のテンプレート情報として、テンプレート情報格納部121に格納する(ステップS617)。
【0086】
テンプレート処理部114は、第1~第3のテンプレート画像が示す第1~第3のテンプレートを、ユーザ端末2の出力画面22を表示し(ステップS618)、テンプレート表示処理を終了する。
【0087】
図9は、図3のステップS117の第1エラー処理の一例を説明するためのフローチャートである。
【0088】
第1エラー処理では、エラー処理部115は、数値列が存在しない旨のエラーメッセージをユーザ端末2の出力画面22に表示する(ステップS711)。エラー処理部115は、エラーメッセージを解析データ格納部124内のエラーデータ格納部122へ格納し(ステップS712)、処理を終了する。
【0089】
図10は、図4のステップS215の第2エラー処理の一例を説明するためのフローチャートである。
【0090】
エラー処理部115は、数値列において数値以外のデータが格納されているセル(フィールド)であるエラーセルを特定し、そのエラーセルの列番号及び行番号を取得する(ステップS811)。エラー処理部115は、特定したエラーセルの数をエラー数としてカウントする(ステップS812)。
【0091】
エラー処理部115は、数値列に数値以外のデータが存在する旨のエラーメッセージをユーザ端末2の出力画面22に表示する(ステップS813)。エラー処理部115は、エラーセルの列番号及び行番号とエラー数とを示すエラーセル情報と、エラーメッセージとを、解析データ格納部124のエラーデータ格納部122へ格納する(ステップS814)。
【0092】
エラー処理部115は、エラーセルに格納されている数値以外のデータを特定の数値(ここでは、「0」とする)に変換し(ステップS815)、処理を終了する。
【0093】
図11は、図1のステップS5の解析出力処理の一例を説明するためのフローチャートである。
【0094】
結果ファイル出力部116は、解析データ格納部124内のヘッダ情報格納部135からヘッダ情報を取得する(ステップS911)。
【0095】
結果ファイル出力部116は、記憶装置12のエラーデータ格納部122からエラーセル情報及びエラーメッセージを取得する(ステップS912)。
【0096】
結果ファイル出力部116は、処理結果データ格納部123から、処理結果データ(空白行データ、零列データ及び零グループデータ)を取得する(ステップS913)。
【0097】
結果ファイル出力部116は、CSVファイルのエラー内容を示すエラー通知データとして、CSVファイルの列番号と、CSVファイルの項目名と、CSVファイルにおけるエラーが生じているセル(フィールド)を示す対象セルと、エラー内容を記述するエラーメッセージと、エラーの有無を示す判定結果とを格納するフィールドを有するテーブルデータを作成する。そして、結果ファイル出力部116は、エラーセル情報、エラーメッセージ及び処理結果データに基づいて、エラー通知データにエラー内容を追加する(ステップS914)。
【0098】
例えば、結果ファイル出力部116は、エラーセル情報及び処理結果データが示す列番号をエラー通知データに追加する。結果ファイル出力部116は、追加した列番号に対応する対象セルとして、エラーセル情報及び処理結果データが示す列番号及び行番号に対応したセルを示す情報を追加し、さらに、追加した列番号に対応するエラーメッセージとしてエラーの内容を追加する。エラーの内容は、エラーデータ格納部122から取得したエラーメッセージ、及び、処理結果データの内容に応じたメッセージなどである。
【0099】
結果ファイル出力部116は、追加した列番号に対応する判定結果に、エラーであることを示す「NG」を追加する(ステップS915)。
【0100】
結果ファイル出力部116は、ヘッダ情報に基づいて、CSVファイルの各列の列番号のうち、まだ追加されていない列番号をエラー通知データに格納し、さらに各列番号に対応する項目名を格納する(ステップS916)。そして、結果ファイル出力部116は、ステップS916で格納した列番号に対応する判定結果に、エラーでないことを示す「OK」を格納する(ステップS917)。
【0101】
結果ファイル出力部116は、エラー通知データを列番号でソートし(ステップS918)、そのソートしたエラー通知データを結果ファイルとして出力し(ステップS919)、処理を終了する。
【0102】
図12は、結果ファイルの一例を示す図である。図12に示す結果ファイル1200は、フィールド1201~1205を含む。
【0103】
フィールド1201は、列番号を格納する。フィールド1202は、項目名を格納する。フィールド1203は、対象セルを格納する。フィールド1204は、エラーメッセージを格納する。フィールド1205は、判定結果を格納する。
【0104】
図13は、ダッシュボードのテンプレートの一例を示す図である。図13では、テンプレートA~Cが示されている。
【0105】
テンプレートAは、第1のテンプレートの一例であり、CSVファイルの各数値列の合計値1301と、CSVファイルの各数値列の平均値1302と、CSVファイルの各文字数値ペアの各グループのグループ合計値1303とを含む。テンプレートBは、合計値1301、平均値1302及びグループ合計値1303に加えて、各グループ合計値1303に対応した円グラフ1304をさらに含む。テンプレートCは、合計値1301、平均値1302及びグループ合計値1303に加えて、CSVファイルの各日付列グループに対応した棒グラフ1305を含む。
【0106】
なお、本実施形態では、グラフとして円グラフと棒グラフを生成していたが、グラフは円グラフと棒グラフに限らず、CSVファイルから作成可能なグラフであれば、特に限定されない。また、テンプレートは、図13で示した例に限らない。例えば、テンプレートには、円グラフ1304及び棒グラフ1305の両方を含むものがあってもよいし、合計値1301、平均値1302及びグループ合計値1303のいずれかを含まないものがあってもよい。
【0107】
図14は、CSVファイルに対する処理の一例を示す図である。図14(a)に示すCSVファイル1400が図3のステップS111で取り込まれたとする。
【0108】
この場合、図14(b)に示すように、ステップS115にてCSVファイル1400から空白行1401が削除される。その後、図14(c)に示すように、ステップS815にてCSVファイル140のエラーセル1402の値(つまり、数値列にある数値以外のデータ)が「0」に変換される。さらに、図14(d)に示すように、ステップS419で日付列1403の値が規定の形式「yyyy-mm-dd」に変換される。また、値が全て0の零列1404は、ステップS213にて解析対象から除外される。
【0109】
以上説明したように本実施形態では、CSVファイル入力部111は、CSVファイルを取り込む。解析データ生成部112は、CSVファイルを解析した解析データを生成し、解析データを複数の形式のそれぞれに整形した複数の整形データを生成する。テンプレート処理部114は、複数の整形データに基づいて、データを所定の表示形式で表示するダッシュボードのテンプレートを複数生成する。したがって、取り込んだデータに基づいてダッシュボードのテンプレートが生成されるため、テンプレートを予め蓄積しておかなくても、適切なダッシュボードを提示することが可能になる。
【0110】
また、本実施形態では、解析データ生成部112は、CSVファイルデータに基づいて、値として数値を有する列項目である数値列と値として数値以外の値を格納する列項目である他列とで構成されるグループを作成し、各グループにおける他列の値ごとの数値列の値に基づいて、CSVファイルを解析した解析データを生成する。したがって、CSVファイルに対してテンプレートの作成に適した解析を行うことが可能となる。
【0111】
また、本実施形態では、解析データ生成部112は、数値列の値の統計値にさらに基づいて、解析結果を生成する。したがって、CSVファイルに対してテンプレートの作成に適した解析を行うことが可能となる。
【0112】
また、本実施形態では、テンプレートとして、列の値の統計値を含むテンプレートと、統計値と統計値に応じたグラフと含むテンプレートとが生成されるため、妥当性の高いテンプレートを生成することが可能になる。
【0113】
また、本実施形態では、グラフとして、文字列と数値列に応じた円グラフと、日付列と数値列に応じた棒グラフが生成されるため、妥当性の高いテンプレートを生成することが可能になる。
【0114】
また、本実施形態では、エラー処理部115は、数値列に数値以外の値が格納されている場合、その値を所定の数値である「0」に変更する。このため、数値以外のデータに対して合計値及び平均値などを算出しようとしてエラーになることを防ぐことが可能となる。
【0115】
また、本実施形態では、エラー処理部115は、CSVファイルに空白行が存在する場合、CSVファイルから空白行を削除する。このため、CSVファイルを適切に解析することが可能となる。
【0116】
また、本実施形態では、結果ファイル出力部116は、CSVファイルに不備がある場合、その不備の内容が通知されるため、ユーザの利便性を向上させることが可能となる。
【0117】
また、本実施形態では、解析データ生成部112は、日付列の形式が規定の形式でない場合、日付列の形式を規定の形式に変更する。このため、日付列が規定の形式とは異なるためにCSVファイルを正常に解析することができなくなることを抑制することが可能になる。
【0118】
上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本開示の範囲を逸脱することなしに、他の様々な態様で本開示を実施することができる。
【符号の説明】
【0119】
1:ダッシュボード提案システム 2:ユーザ端末 11:サーバ 12:記憶装置 111:CSVファイル入力部 112:解析データ生成部 113:演算処理部 114:テンプレート処理部 115:エラー処理部 116:結果ファイル出力部 121:テンプレート情報格納部 122:エラーデータ格納部 123:処理結果データ格納部 124:Inputデータ格納部 131:数値データ格納部 132:数値文字データ格納部 133:円グラフデータ格納部 134:棒グラフデータ格納部 135:ヘッダ情報格納部 136:日付データ格納部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14