データマーケティングコラム
データ構造はどうあるべきか?~「縦持ち」と「横持ち」の使い分け~
公開日:
数々のデータをデータベース上で管理し、BIツールなどを通じて分析した結果をビジネスへと活かすことは昨今の企業活動において一般的になってきました。データは行と列からなる表形式で管理されることが多く、その設計方法には大きくわけて「縦持ち」と「横持ち」が存在します。この2つの設計方法について、どのように使い分ければよいか良くわかっていないという方も多いのではないでしょうか。今回はそのような方に向けて、データの縦持ち・横持ちの使い分けについて、お伝えしていきます。
横持ちデータの特徴
横持ちデータとは行と列にそれぞれ異なる項目を配置し、行と列の対応で情報を表すデータ構造です。例えばとあるスーパーの売上データを横持ちで表した以下の例をみると、行には「売上」「粗利」「粗利率」といった集計対象となる項目が入っており、列には年月を表す項目が入っています。これらを対応させ、2行目の「売上」×2列目の「2022年1月」=「2022年1月における売上」といった形でデータが格納されています。
縦持ちデータの特徴
一方、縦持ちデータは列に配置された項目に対し、対応するデータが縦に追加されていく形式となっています。例えば先ほどのスーパーの売上データを縦持ちで表した例をみると、列に「年月」「売上」「粗利」「粗利率」といった項目が並んでおり、2行目からは各列に対応する情報が格納されています。縦持ちと横持ちの特徴比較
縦持ち形式と横持ち形式の特徴を項目ごとに比較すると、以下のようになります。データを扱うシチュエーションをイメージした上でどちらの構造で蓄積・管理していくか決定するとよいでしょう。
RDBを構成する際もデータを縦持ちにすると効率的
RDBとは、Relational Database(リレーショナルデータベース)の略語で関係データベースと訳されます。データを複数の表として管理し、表と表の関係を定義することで、複雑なデータの関連性を扱えるようにしたデータベース管理方式です。昨今の業務用に扱われているデータベースソフトでは、一般的にRDBが用いられています。こうしたRDBを構成する際も、基本的には縦持ちのデータの方が適しています。
例えば学校の成績管理をする場合、属性は「生徒番号」「氏名」「学年」「英語」「数学」「理科」「社会」などとなりますが、横持ちの場合だと新しく「体育」の点数を加えたいというときには、テーブル設計を変更する必要があります。対して縦持ちは、単純に「生徒番号、氏名、体育、体育の点数」を挿入するだけで済むため、縦持ちの方が管理はスムーズです。
またRDBの一番多い使い方は、条件を指定してその条件に合ったデータのみを検索することです。横持ちでは条件指定に複数の列名を指定する必要がありますが、縦持ちでは列名1個に条件を指定すれば容易に検索ができます。
「横持ち」アンケートデータの変換・BI搭載はクロス・マーケティングにお任せ!
これまで「縦持ち」形式と「横持ち」形式の違いを見てきましたが、データベース上やBIツール上で管理・集計を行う際には、縦持ちの方が適していることは理解いただけたかと思います。それを踏まえた際に課題となりがちなのが、アンケートデータのデータベース化・BIツール化です。以下に示したように、一般的なアンケートデータは行に回答者のサンプル番号、列に回答した設問番号を配置し、行列の対応で回答値を格納していく横持ち形式のデータです。これまで解説してきたように、このデータ形式をデータベース上やBツール上で扱うのはやや難しく、縦持ち形式へ変換することが望ましいです。
■参考サイト:
https://newssdx.kcme.jp/tableau_beginner_data_vertical_horizon/
https://mathwords.net/yokomotitatemoti
https://qol-kk.com/wp2/blog/2021/08/02/post-2981/
http://navi.wingarc.com/drsum/post-97.html
https://manamina.valuesccg.com/articles/740
https://octopus.nehan.io/manual/3340
https://zenn.dev/mkz/articles/7420f168c35550