DXと言いつつバシバシExcel使ってる企業はDXの本質を理解していない
デジタル化と情報共有
別れましょう私から消えましょうあなたから
嬉しいでしょ明日から自由になれる♪
90年代前半あるある。曲名ちょっと長くなりがち。jimです。ども✋
自分の思ってることをストレートにタイトルにしたので長くなっちゃいました。
ってことで、今回は『DX』について語りたいと思います。
まず一度、わすれましょうDXから。。。
で、考えていきましょう本当に大事なこと。。。
情報共有
どんな仕事も情報共有は大事です。
何処に何があるとか、誰が今なにしてるとか。5W1Hみたいなことは情報共有したいものです。
Who⇒誰が、When⇒いつ、Where⇒どこで、What⇒何を、Why⇒なぜ、How⇒どのように
こやつら、とても大事です。
そして、仕事というのは幾つも工程があって、『今、誰がどこまで進めている。』といった情報を把握することが凄く大事です。
例えば:情報共有できてない状態で、『自分の仕事に関係ある人が新コロで2週間も休み』なんてことがあったら大変ですよね。
『何処に顧客の情報があるの?』とか、『顧客とどこまで話が進んでるの?』とか、『え?そもそも、どうやって顧客と連絡とってたの?』なんて探すだけでも大変。
デジタル化
企業の規模にもよりますが、、
じゃあ、こういった情報共有って。。。
・紙でやります?
面倒。更新するのに不向き。皆で1つの紙を囲む?ダメですよね。
・ホワイトボードでやります?
別フロアや別部署が絡んでたら使えないし。そもそも書ききれないですよね。
・Excelでやります?
先ず、ExcelよりAccessのが情報共有に向いてます。そして、社内で済むことならいいけど、取引先が絡んでたら?運用難しいですよね。
じゃあ、、
じゃあ、、、
じゃあ、どうします?
インターネットを活用して、Webアプリでデータベース管理しましょう。それなら情報共有できる。
何かあれば、皆でその都度データベースを更新していけばいいし、迷ったらデータベースを参照すればいいよね。って感じ。
こういった思考が、DXの本質だと思うのね。
まあ、簡単に言うと『できるだけデータベース管理したらいいよ。』ってこと。
今の日本で言われてるDXはDXじゃない。DXという名の情報商材だ。詐欺だ詐欺。
情報技術で自動化
こうしてデータベース管理にしてしまえば、プログラミングで自動化できますよね。
っていうのが情報技術(IT)だと思うんだよね。
でも実際には、Excelで計算させて計算結果をデータベースに更新している企業が結構あるわけ。それでは遅いし非効率。そもそも順番の間違いに気付いてない可能性もあるね。
それで『DX』なんて言っちゃってるから笑える。
とにかく、手元にある情報は一刻も早くデータベース化する仕組みにした方がいい。
システムでの自動化は後でいい、データベースになっていればSQLぶん投げるだけで効率化できるわけなんだし。
原始人の話
派遣先で実際にあった原始人達の話。
とある業務について、『データベース管理しようか』みたいな話が出たみたいなんだけど、「単価を見直すたびにシステム改修が発生してしまう。」とか何とか言ってデータベース化を諦めてたのですよ。
それって、あなたの感想ですよね?
単価のテーブルを用意すれば改修なんて必要ないはず。
例えばAccessで説明すると。。。
↓のような数量のテーブルがあったとして、『うーん!』の項目が年度や取引先でバラバラ
でも・・・
↓のように『どこの会社のこの期間がいくらだよ』っていう単価のテーブルを用意します
んで、以下のようなSQLを投げてやれば簡単に更新できるわけよ。
UPDATE 数量 LEFT JOIN 単価 ON 数量.取引先=単価.取引先
(数量のテーブルと単価のテーブルの取引先を紐づけて更新します)
SET 数量.うーん!=数量.数量*単価.単価
(数量テーブルのうーん!に数量と単価をかけたもの)
WHERE 数量.売上日 BETWEEN 単価.開始期間 AND 単価.終了期間;
(数量テーブルの売上日が単価テーブルの開始期間から終了期間まで)
VBAでやると⇒
Option Explicit Sub DX() Const dbName As String = ".accdb" Dim adoCn, adoRs As Object Dim sqlStr As String Set adoCn = CreateObject("ADODB.Connection") Set adoRs = CreateObject("ADODB.Recordset") adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & dbName & ";" sqlStr = "UPDATE 数量 LEFT JOIN 単価 ON 数量.取引先=単価.取引先" sqlStr = sqlStr & " SET 数量.うーん!=数量.数量*単価.単価" sqlStr = sqlStr & " WHERE 数量.売上日 BETWEEN 単価.開始期間 AND 単価.終了期間;" adoRs.Open sqlStr, adoCn adoRs.Close adoCn.Close End Sub
こうして数量のテーブル見てやると。。
『A社の21年度の単価100×数量3』が計算されて300に更新されました。
今度は、前年度に変更して。。。
再びSQL投げてやる。。。
270に更新されるわけだ。
わかりやすいように1件で説明したけど、複数あっても一緒。該当するものがあれば全て更新されます。
もう既に『うーん!』に値が入っていたら更新したくないって時はWHEREに『AND うーん! IS NULL』でも追加してやればいいだけのこと。
ね?こんなことで諦めるなんて原始人でしょ?
でも、日本の企業の多くはこういう感じ。知らないか、知ってても面倒だから言い訳して済まそうとする。
本当のDXは本質から目を背けてはいけない。
問題があったら打ち破ろうとしないと駄目なんだ。
やばいぞ日本。。。
はい。ってことでDXについてでした。
単純なことだよ。でも、実際にやろうとすると大変。
直ぐに諦めてしまう人では務まらないかなと思う。
ある程度データベースの知識があって、根気や忍耐力がある人がやらないと失敗するでしょうね。
あ、ちなみにDXとIT・IoTは別なことと思っておいた方がいいかな。って思ってます。
したら、またねぇ✋
ディスカッション
コメント一覧
まだ、コメントがありません