Excel ダッシュボードのご紹介 株式会社アイエルアイ総合研究所内藤慶一
情報系システム開発 メンテナンス 開発イノベーション ビジネスダッシュボード by Excel 概要 実務業務 マネジメントの知識 技術 経験のノウハウ + 業務データ分析 の見える化 共有化 シミュレーションを可能とし ビジネスソリューションを推進する BI システムを実現します! Excel と StiLL + Xcelsius で開発するビジネスダッシュボードはコーディングをしないでそのプログラムを作成します よって短期間 低コスト 作り 直しやすいプログラムが開発可能です 技術者でも エンドユーザーでもプログラム作成が可能です ( 勉強要 )
情報系システム開発 メンテナンス 開発イノベーション ビジネスダッシュボード by Excel 特 1 短期間 低コストでユーザーの望むダッシュボードが開発可能です 従来の 1/2 1/5 の工数となります 2 DB Excel ファイル CSV TXT 等のデータを取り込み Excel ブック内にて処理するためデータの準備や整備が簡便になり準備 開発がスムーズです 3 開発は要件定義から開発 修正までユーザーと技術者両者がそれぞれの役割を発揮して開発可能のためスムーズに開発できます
基幹サーバー本番 DBサーバー 情報分析 DB ダッシュボードネットワーク ERP MW CSV CSV リポジトリ DB 制御 情報分析 DB データ連携ミドルウェア クライアント PC 事業部共有サーバー インターネット ファイル EXE O D B C 事業部外部 DB Excel ダッシュボード
ビジネスダッシュボード by Excel のご紹介 Excel で実現しています!( 事業部編 )
事業部ダッシュボード
事業部ダッシュボード
事業部ダッシュボード
事業計画書
事業計画書
分析レポート
達成状況集計表
前年対比集計表
損益集計表
Excel ダッシュボード情報リンケージ例 Excel 書類システムブック
リンク事例数字も言葉も 上からでも下からでも DB でもファイルでも情報リンク自由自在!! 元を直せばすべてのファイルが直ります その逆も大丈夫!! この構造が簡単!!
情報系システム開発 メンテナンス 開発イノベーション StiLL とは! StiLL はオブジェクト志向のプログラムです コーディングをしないでプログラムを作成します よって短期間 低コスト 作り 直しやすいプログラムが開発可能です 技術者でも エンドユーザーでもプログラム作成が可能です ( 勉強要 ) Excel のいいところを活かして StiLL で補完 Excel プラットフォームにした時の問題点解消 1 処理速度 読み込み 書き込み 再計算処理時間 2 集計アプリケーション事例と Excel の画面制御 3Excel と入力アプリケーション事例と Excel 分離独立 4 作り 直しやすいプログラム & 上位互換 5LAN WAN Web クラウド環境システム構築 OK!
情報系プログラムツールに新開発手法 Excel+ StiLL 活用について 本格開発ツール StiLL-Ⅹ 新開発手法! スパイラル型実現!! 納得のシステム 使えるシステム実現!! インフラネットワークセキュリティデータベース IT ポリシー様々な技術 開発コラボレーションを実現 Excelと StiLL がそれをコネクトします 技術者 責任者 責任者 ユーザーユーザーと技術者技術者の連携 Excel 中級必須です! ユーザー Excel 中級まで来てください! 方針知識技術経験ノウハウビジネスポリシー 業務ノウハウ入りプログラム完成 成果を生むシステム Excel で 責任者 ユーザーと技術者がコラボレーション
1 開発工数比較 検索プログラム StiLL 作成サンプル ステップ短く 文法 英語なし 作りやすく 直しやすい 2 プログラム比較 ' VBA 検索プログラム Public Sub SampleProgramDAO1() Dim SheetName As String Dim strname As String SheetName = "Sheet2" ' コンボボックスの値から商品名を取得します With ThisWorkbook.Worksheets(SheetName).DropDowns(1) 検索プログラム VBA 作成サンプル strname =.List(.Value) メンテナンス 18 End With If SampleProgramDAOFunc(SheetName, 7, 2, _ "SELECT * FROM 商品テーブル WHERE 商品名 ='" & strname & "'", 0) = True Then ' 最後にメッセージボックスを表示します MsgBox strname & " のデータを抽出しました ", vbexclamation, " メッセージ " End If End Sub ' VBA 全抽出プログラム Public Sub SampleProgramDAO2() SampleProgramDAOFunc "Sheet2", 7, 2, "SELECT * FROM 商品テーブル ", 0 End Sub ' DAO 取得処理 Function SampleProgramDAOFunc(SheetName As String, Y As Long, X As Integer, _ SQL As String, Limit As Long) As Boolean Dim strname As String ' 商品名 Dim rngcell As Range, lngrow As Long, lngcol As Long Dim wrkodbc As DAO.Workspace Dim dbspubs As DAO.Database Dim rstpubs As DAO.Recordset Dim DataCount As Long ' On Error GoTo Sub_Err ' ゲージダイアログを0にして消去 ResetGuage UserForm1.Show DoEvents Application.ScreenUpdating = False データベースからデータを抽出します 'ODBCDirect Workspace オブジェクトを作成します Set wrkodbc = DAO.CreateWorkspace(" サンフ ルテ ータ ", "admin", "", dbuseodbc) 'Database オブジェクトを開きます Set dbspubs = wrkodbc.opendatabase(" サンフ ルテ ータ ", dbdrivercomplete, True) 'Recordset にデータを取得します Set rstpubs = dbspubs.openrecordset(sql, dbopensnapshot, dbrunasync) ' Set rstpubs = dbspubs.openrecordset(sql, dbopendynaset, dbrunasync) 'Set NewQRY = db.createquerydef("", QString) ' 件数を取得 rstpubs.movelast DataCount = rstpubs.recordcount rstpubs.movefirst ' 件数が多いときは RecordCountがうまくかえってこないため再カウントしてみる If DataCount = -1 Then DataCount = 0 Do While Not rstpubs.eof DataCount = DataCount + 1 rstpubs.movenext Loop rstpubs.movefirst End If ' Limitをこえる場合はLimit 件数のみを取得 (Limit =0 のときは全部 ) If Limit > 0 And DataCount > Limit Then DataCount = Limi VBAの場合 137 ステップとなります ' If DataCount > 0 Then ' セルに書き込みます With ThisWorkbook.Worksheets(SheetName) ' 既存データ消去.Range(.Cells(Y, X),.Cells(65535, X + rstpubs.fields.count - 1)).Value = "" With.Cells(Y, X) For lngcol = 0 To rstpubs.fields.count - 1.Offset(0, lngcol).value = rstpubs.fields(lngcol).name Next lngrow = 1 Do While (Not rstpubs.eof) And (lngrow <= DataCount) For lngcol = 0 To rstpubs.fields.count - 1.Offset(lngRow, lngcol).value = rstpubs.fields(lngcol).value Next SetGuage lngrow / DataCount * 15 lngrow = lngrow + 1 rstpubs.movenext Loop End With End With End If ' 各オブジェクトを開放します rstpubs.close dbspubs.close wrkodbc.close Set rstpubs = Nothing Set dbspubs = Nothing Set wrkodbc = Nothing ' ゲージダイアログを0にして消去 ResetGuage UserForm1.Hide Application.ScreenUpdating = True SampleProgramDAOFunc = True Exit Function Sub_Err: ' ゲージダイアログを0にして消去 ResetGuage UserForm1.Hide Application.ScreenUpdating = True MsgBox " データ取得中にエラーが発生しました " End Function ' ゲージ設定処理 Private Sub SetGuage(n As Integer) Dim i As Integer For i = 1 To n UserForm1.Controls("D" & Trim(i)).BackColor = &H800000 DoEvents Next i End Sub ' ゲージリセット処理 Public Sub ResetGuage() Dim i As Integer For i = 1 To 15 UserForm1.Controls("D" & Trim(i)).BackColor = &HE0E0E0 お ステップ 以内 SQL 文もすべて記述可能です パラメータ設定型変数処理順次処理例 可視化されたプログラム 仕様書不要
ソリューション実現!! システムの提案納得のシステム 使えるシステム提案!! 新機軸 ソリューション提案実現!! Excelと StiLL がリンケージします インフラネットワークセキュリティデータベース 技術者 お客様 お客様 営業営業と技術者技術者の連携 お客様も頑張ってください 方針知識技術経験ノウハウビジネスポリシー 営業 IT ポリシー様々な技術 Excel 中級必須です! Excel 中級まで来てください! 業務ノウハウ入りプログラム完成 成果を生むシステム Excel で お客様 営業と技術者がコラボレーション