データベースソフトとしてのAccess

Accessってどんなソフト?

Accessで何が便利になるの?

こんな感じのことをよく訊かれますが、結構答えに行き詰ります。

「マイクロソフトが提供するデータベースソフトですよ」と答えることは簡単ですが、 そもそもデータベースソフトにピンときません。

私がメインで使ってきたツールを順番に挙げると

Excel → Access → BIツール → Analytics という順番になります。

ある意味、順調にデータベースや解析のキャリアを積んで、徐々に高度な処理を行うようになっていると言えます。

そんな立場から見た、データベースソフトとしてのAccessを述べてみたいと思います。

データベースソフトとは?

主に大規模なデータを保管・蓄積・処理をするソフトになります。

例えばExcelは馴染み深い人が多いと思いますが、処理できるデータに上限があります。 100万行超える程度までしか表示などができない等です。

また、関数を使いまくると表示までにすごく時間が掛かったりします。

そこで、もっと大きなデータを扱う時に、別の専用のソフトが必要になるわけです。

つまり、求められる役割としては

  • 大規模なデータを保管・保持する機能
  • データを選択して処理できる機能

の2つになります。

ただし、こういった処理を行うにあたって、大規模ですので1つ1つ地道に処理するわけにはいかないため、処理はプログラムで自動的に処理する必要があります。

見てから処理するのではなく、理論を用いて正しく処理する能力が必要となります。

このため、データベースソフトは専門性が高くて敷居も高いと認識されています。

営業や事務方が使えるようになることのメリット

基本的には、データベースソフトは専門のエンジニアが処理することがほとんどだと思いますが、エンジニアは事業に対しては素人であることが多く、やや視野狭窄に陥りがちです。

例えば

  • 営業に必要な資料として顧客のデータを要望したのに、頼んでもいない詳細な解析の資料を付けてくる(しかも何書いてあるか分からない)
  • 余計な項目が挟まっていて資料が見づらい
  • 項目が順序だっていないので理解がしにくい

など、なかなかすぐに役に立つ資料が上がってきません。

はっきり言ってしまえば、そういった”使える資料”は、やはり現場で対応した方が早いのです。

例えば「こんな資料が作れるんじゃないか」とか「こんな仕様だから資料がこうなっているのか」などの判断がつけられることで、自分たちの考える理想に近い資料が作成できます。

基本的には、専門のエンジニアが処理することがほとんどだと思いますが、エンジニアは事業に対しては素人であることが多く、やや視野狭窄に陥りがちです。

逆に専門知識は低くとも、実際にデータを見て判断したり利用したりする現場管理職や事務職がある程度使えると利便性がとても高いものになります。

例えば「こんな資料が作れるんじゃないか」とか「こんな仕様だから資料がこうなっているのか」などの判断がつけられるなどです。

Accessのデータベースソフトとしての位置づけ

さて、データベースソフトが「現場で使えると便利ですよー」と述べてきましたが、 一方でそういうソフトって「敷居が高いよね」とも述べてきました。

できるだけ簡単に扱えるデータベースソフトが欲しいですよね。

それがAccessになります。

Accessは、みなさん馴染みの深いExcelの上位互換のような位置づけで扱える、データベースの入門向けソフトということが出来ます。

特徴1.Excelの延長線上で理解できる

Accessは特にテーブル、クエリ、マクロを中心に作成している場合(SQLを用いず、フォームを使わない場合)に於いては、基本的にビジュアル重視で分かりやすいものです。

関数などもExcelに近いものがあり、Excelの延長線上としてデータベースソフトと考えると敷居の低いソフトになります。

参考: IIF関数の作り方

特徴2.テーブル・クエリ・グループ化の概念が理解できる

関数などの処理がExcelと似ていると言いましたが、逆にExcelとは違う点としては、「テーブルとクエリ」あとは「グループ化」という概念になります。

データをテーブルとして扱い、処理をクエリとして扱います。

Excelに置き換えると、数字を直書きするのと関数(特にvlookup関数やindex関数など)で処理するものの違いに近いですが、概念をきちんと分けて処理することはあまり無いと思います。

そこをきっちりと分けて、データベース同士を紐づけて処理する部分はExcelとは異なり、Accessから入った人は分かりやすく理解できる点になります。

参考: クエリのグループ化を理解しよう

あとはグループ化。データベース同士の紐づけの仕方に関して、肝と言える部分です。

この考え方が理解できると、他のデータベースソフトやETLツール、BIツールなども理解しやすくなります。

よくやりがちなのは、紐づけする項目が本当にユニークなのかを確認せずに繋げてしまい、データが2倍、3倍に増えてしまうミスなどです。

3.トランザクションベースで理解することができる

Accessが他のデータベースソフトと違うのは、比較的小規模なデータをクエリで細かく回す関係で、トランザクションを確認する機会がある点ではないでしょうか。

自分たちが使っているデータについて、ユニークコードがどれかやイレギュラーな処理の頻度と処理方法などを見ることが多く、感覚的にどういう時にミスが起こりやすいのかを体験することになります。

例えば、Google Analyticsを使った分析では、分析担当者はトランザクションレベルでデータをいじることはほとんどありません。

ツールの使い方を勉強して、GAIQを取得して、現場で実践してみるのが王道だと思いますが、Analyticsから始めてみる人はエラーや誤差に対する感度があまりよくありません。

「トランザクション」という概念で考えた経験が無いため、エラーや誤差があっても勘所が無いのです。

Accessをきちんと使った経験を持つと、こういった「トランザクションベースでの理解」が出来ますので、分析ツールへの親和性も自然と高くなります。

まとめ

Accessをデータベースソフトとして見た時、初心者向けで敷居が低く、かつ基本的な概念を身に着けることが出来る、というお話でした。

これは、事務方のスキルアップという点でも非常に有効に働きます。

現場の生きた考え方を経験しつつ、将来的に高度なツールを担当できるようなキャリアアップを想定することができます。

そのための最初の一歩にAccessは最適であると、私はオススメします。