見出し画像

Power BI- レポートを作るためのテーブルの分類(取り込んだデータをどう位置付けながら整理するか)

今日は立て続けにPower BIに慣れた人や、データベース系のプログラマーから見たら「何を当たり前なことを…」といわれそうな、ことばかり投稿している。

備忘録的な位置づけで書いているから、好きにしてもいいよね。

今回は様々なEUC(End User Computing。会社のみんなが自分用に更新し続けているExcel ファイルとか)や、社内データベース、外部情報を一手に引き受けて見やすく、自動更新をしてくれるPower BIだからこそ、
データを取り込みすぎて、取り込んだデータの位置づけがわけわからん、
となってしまう人向けに、

何を考えながらデータを取り込んで、

分類していけば、各テーブル同士の位置づけ・繋がりがこんがらがらないのかについて書く。


結論から言うと、データの種類は次の三種類になる。

1. マスターテーブル

2. データテーブル(ファクトテーブル)

3. フィルターテーブル


1. 「マスターテーブル」について
これは、カレンダーテーブルや、商品テーブル、勘定科目テーブルのようにMECEなテーブル。


例えば、日々の(カレンダーテーブル)、売上(商品テーブル)を帳簿に記録(勘定科目テーブル)した、仕訳データ(←データテーブル)があったとする。

この仕訳データは、毎日の取引を記録するためにあるわけだが、仕訳帳にどのように記録するか(商品名や商品コード)はあらかじめルールを決めておく必要がある。

そうしないと、例えば同じリンゴを販売したときに、Aさんは「りんご」と商品名を入力し、Bさんは「リンゴ」、また、別の日にAさんは「Apple」、Bさんは「apple」とそれぞれバラバラに仕訳入力したらどうなるだろうか。

出力した仕訳データを分析しようとした際に、果たして一体、「りんご(リンゴ、Apple、apple)」はいくら売れたのか、分からなくなる。

なので、商品を販売する前に、りんごが売れたときは、必ず「りんご」と入れるように、マスターテーブル(商品マスタ)を用意しておかなければならない。当然、同じものを別のものとコンピューターが認識しないように、りんごについては、「りんご」1種類しか、登録してはいけない。

カレンダーテーブルも同様に、仕訳データを作るための「元情報」の塊として、2020年3月28日(今日)は、後にも先にも1日しかないようなカレンダーとしてテーブルを用意しておかなければならない(これは説明すると逆に分かりづらくなる?要するに、マスターテーブルはデータテーブルがぐちゃぐちゃにならないために、漏れやダブリのない(MECEな)テーブルとして用意しておかなければならない)。


2. データテーブル(ファクトテーブル)について

既に上に書いたが、これが分析対象のテーブル(情報の塊)であり、マスターテーブルに乗っていない金額的、時間的な不確定な定量の実績情報(ファクト)を記録するテーブルである(もっとちゃんとした定義は調べればあると思うので、ちゃんとしたやつが希望の人は、Googleに聞いてください)。

たとえば、1.毎日の売上情報や、2.受注残の積み上がり情報、3.従業員のログイン・ログオフ時間の情報、などなど。

1. 売上情報は、カレンダーテーブルと商品マスタを引用して、固有の金額データを蓄積していく。

2. 受注残情報は、カレンダーテーブルと、取引先マスタ、商品マスタを引用して、固有の金額データを蓄積していく。

3. 従業員のログイン・ログオフ情報は、カレンダーテーブルと、従業員マスタ、PCのIDマスタを引用して、ログイン・ログオフ時間データを蓄積していく。

要するに、予め決まっていること(マスタ情報)の、変化を記録するテーブル。


3. フィルターテーブル

Power BIをやり始めてから、リレーションシップを作成しない独立したテーブルを意識するようになった。それがこれ。

例えば、
試算表をPower BI上に作成して、YTDとMTDを並列するのではなく、ボタンで切り替えられるようにしたいとか、
一つのグラフに対して、男女別、年齢別、所得水準別などのように、ボタンで即座に分析軸を切り替えられるようにしたいとか、ってときは、(Web検索すれば、そのようなPower BIのサンプルレポートは沢山公開されている。日本のサイトにはあまりないが。)フィルターテーブルを用意する。

これは、追って、SWITCH関数についての投稿でまた詳しく書く予定。


でわ。





この記事が気に入ったらサポートをしてみませんか?