もりたひろあき

はじめまして。もりたひろあき です。BI Engineer です。noteを始めること…

もりたひろあき

はじめまして。もりたひろあき です。BI Engineer です。noteを始めることにしました。Tableau (BIツール)の Tipsや Knowladgeをまとめたくてスタートしました。Tableauの便利な機能や工夫した事を書いていきます。当面は不定期更新です。

最近の記事

オープンデータはなぜ利用するのが大変なのか? ~格闘の記録~

今年一年を振り返ってみると、Tableau Prep とオープンデータの一年でした。オープンデータと Tableau Prep は極めて相性が良いです。Tableau Desktopからサーバーとかのデータに直接接続するわけでなく、Excel や CSVファイルをダウンロードして使うことが圧倒的に多いので。データも適度にキタナいです (笑) Tableau Prep の練習にはもってこいですよーーー。 オープンデータの中で「人口」は利用頻度が高いです。 人口の変化を知ること

    • 行をスマートに並べ替える

      ラスベガスで行われた Tableau Conference 2023 VIZZIES Award で "PREPSTAR" の称号を頂きました! 身に余る光栄に Tableau User の皆様に感謝しかありません。ありがとうございました。 という割には、Tableau Prep Builder の記事を全く書いてません! なので、少し書いていこうと思います。 「Tableau Prep Builder を使ってフローを作った。でも出力する時、並び順がグチャグチャでなんだ

      • Tableau のリレーションシップ機能 その10 ~ 参照整合って何?② ~

        参照整合について、SQLの観点から何が行われているかを見ていきたいと思います。参照整合が何かについては前回記事を参照下さい。 前回調査した4つのケースについて一つずつ見ていきます。 ① 一部のレコードが一致 対 一部のレコードが一致 の場合 前回テストでは、CST_CD でリレーションを行い、CST_CD を使用しない集計を行いました。この場合、クエリーは3つ走ります。え!2つじゃないの? 中身を見ていきましょう。 1つ目の SQL がなぜ実行されたのか? Table

        • Tableau のリレーションシップ機能 その9 ~ 参照整合って何?① ~

          リレーションシップにあるもう一つのパフォーマンスオプション「参照整合」。これは何だろう? 言葉からして難しい。 イメージが沸かない。英語で言うと、"Referential Integrity" integrity には完全性といった意味もあるので、データが完全に揃ってる状態か否か?、みたいなほうが解りやすいかもしれません。 このオプションの選択肢は、「一部のレコードが一致」(some records match) と「すべてのレコードが一致」(all records

        オープンデータはなぜ利用するのが大変なのか? ~格闘の記録~

          Tableau のリレーションシップ機能 その8 ~ カーディナリティって何?② ~

          前回記事で、カーディナリティはテーブルの関係の一意性を示すものだということを説明しました。今回は、それによって Tableauが発行するクエリーがどう変わるか?を見ていきましょう。 話を解りやすくするために、今回もサンプルデータにある TRAN_01.CSV と CST_01.CSV を使っていきます。 CST_CD でリレーションを行い、カーディナリティを変えると Tableau が発行するSQL がどう変化するを見ていきます。先ず、以下のように "リレーション" 結び

          Tableau のリレーションシップ機能 その8 ~ カーディナリティって何?② ~

          Tableau のリレーションシップ機能 その7 ~ カーディナリティって何?① ~

          Tableau のリレーションシップの設定画面を見ると、パフォーマンスオプション というものがあります。「分析中にクエリーを最適化します」と書きつつも「わからない場合は既定の設定をお勧めします」と書かれています。そして "カーディナリティ" と "参照整合" というオプションがあり、既定では、カーディナリティが "多数" 、参照整合が "一部のレコードが一致" になっています。これはいったい何ぞや??? 私は、"リレーションシップ" の登場で久しぶりに "カーディナリティ"

          Tableau のリレーションシップ機能 その7 ~ カーディナリティって何?① ~

          Tableau のリレーションシップ機能 その6 ~ 結合キーが複数行ある場合② ~

          前回は、テーブル: TRAN_02 を使い、リレーション・キーに使用している項目が複数行ある場合の集計について説明しました。今度は、CST テーブル側が複数の場合についてみていきましょう。 これは、データベースの正規化の原則からすると、あまり好ましい状態ではありません。しかしながら、実務では(何故か)こんなことも起こります。何かの間違いか? データ・モデリングが間違っているのか? 本来はデータ元を正すべきですが、"リレーション" の動作検証を行うためにこれでやってみます。

          Tableau のリレーションシップ機能 その6 ~ 結合キーが複数行ある場合② ~

          Tableau のリレーションシップ機能 その5 ~ 結合キーが複数行ある場合① ~

          一旦まとめようと思いましたが、もう少しリレーションシップの特徴を見ていくことにします。前回使用したテーブルは、CST_CDで見るとどちらも単一の行になっています。では、複数行ある場合はどうなるでしょうか? 実験していきたいと思います。 テーブル: TRN_02 と テーブル: CST_01 を使用します。このブログで使用するサンプルデータは Google Drive で共有しますので、次のリンク先からダウンロードしてご使用下さい。 Google Drive フォルダー 各

          Tableau のリレーションシップ機能 その5 ~ 結合キーが複数行ある場合① ~

          Tableau のリレーションシップ機能 その4 ~ 内部結合・外部結合 TIPS ~

          リレーションシップの仕組みについての説明に入る前に、二つほど TIPSのご紹介しときます。 集計を行わない内部結合の状態で、全てのディメンション・メンバーを表示したい。 既定では内部結合のメンバーだけが表示されますが、全てのメンバーを表示することも可能です。その場合は、Tableau の [分析] メニューにある [空の行の表示] を行って下さい。 完全外部結合の状態で、内部結合のメンバーだけ表示したい。 計算式を作ってフィルターします。次の動画の例を参考にして下さい

          Tableau のリレーションシップ機能 その4 ~ 内部結合・外部結合 TIPS ~

          Tableau のリレーションシップ機能 その3~ 完全外部結合 ~

          前回は、リレーションシップは、ワークシートのフィールドの配置によって、結合の種類が変わること、集計が行われない場合は内部結合 (INNER JOIN) が行われ、集計が行われた場合は左結合 (LEFT JOIN) が行われていことを説明しました。(右結合 (RIGHT JOIN) がないのは、主テーブルが入れ替わるので、右結合と同じことを左結合で行っているということです)。では、集計する値が両方のテーブルにある場合はどうなのでしょう? 実験を続けます。 前回の最後の結果 (

          Tableau のリレーションシップ機能 その3~ 完全外部結合 ~

          Tableau のリレーションシップ機能 その2 ~ リレーションシップ ~

          前回記事では、復習を兼ねて "結合" について説明しました。いよいよ "リレーションシップ" に入っていきます。 Tableau で最初にやることは "データ接続" です。Tableau 自身は何もデータを持っていませんので、Tableauで分析やデータの可視化を行うには、先ず、外部にあるデータに接続しなければなりません。接続するデータの表 (テーブル) が一つなら簡単です。画面左にあるテーブルリストからテーブルを選んで、画面中央にドラッグ&ドロップするだけ。ところが前回も

          Tableau のリレーションシップ機能 その2 ~ リレーションシップ ~

          Tableau のリレーションシップ機能 その1 ~ 復習: 結合(JOIN) ~

          予告通り、Tableauのリレーションシップについて書いていきます。 リレーションシップは、Tableauのデータ接続のところにある機能です。Tableauを使う方なら誰もが通る道です。何回も登場する言葉なので、このブログの中では断り書きがない限り "リレーション" と略していきます。また、これに対する「結合 (JOIN) 」は "結合" とし、一般的なデータの結び付きを示す場合は "突合" と表現していきます。 "リレーション" は、Tableau の 2020.2 から

          Tableau のリレーションシップ機能 その1 ~ 復習: 結合(JOIN) ~

          Tableau のリレーションシップ機能  ~プロローグ~

          数回、いや数十回に渡ってシリーズで Tableauのリレーションシップ機能について書いていきたいと思います。今回はプロローグとして、なぜ書くに至ったか?をお話ししておきます。 データベースのクラウド化が進み、データの世界は大きな変革を迎えています。お伝えしたいことは、それに伴って BIシステムを使いデータを利用する人も大きく変革しなくてはいけない! そのためには Tableau のリレーションシップ機能は不可欠だ! ということです。 私は仕事柄、自分自身の会社や、様々なお

          Tableau のリレーションシップ機能  ~プロローグ~

          BACK TO THE FUTURE 歴史から学ぶ

          私がデータの世界に足を踏み入れてしまったのは40年前(1983)のこと。社会人になって最初に配属されたのは物流部でした。業務は全て手作業。手書きの伝票を在庫台帳に転記し、電卓で在庫を計算したり、入出庫集計をしたり。毎日が電卓と集計表との戦いでした。当時もパソコンはありましたが、まだ高価でマニアの世界の道具。一般人はおろか会社にパソコンなんてない時代でした(表計算ソフト Lotus1-2-3 が日本で発売されたのは 1986年、Windows版Excelが発売されたのは1987

          BACK TO THE FUTURE 歴史から学ぶ

          JTUG インフォグラフィックス作品解説 #3

          前回は、棒をグラデーションにするところまで書かせて頂きました。#3 今回は、二色分化の方法について解説していきます。 前回の完成形でお判りの通り、色には INDEX() という計算式が入っています。このフィールドは連続データなので Tableauは既定で連続データのカラーパレットを選択してくれてる訳です。ちなみに不連続にするとこうなっちゃいます。 さて、INDEX() を連続データとしてマークカードの色に入れた状態で、[色]のアイコンをクリックすると [色]を編集すること

          JTUG インフォグラフィックス作品解説 #3

          JTUG インフォグラフィックス作品解説 #2

          前回記事 https://note.com/hiroakimo/n/n544e9c1db4eb の続きです。 前回こんなことを書きました。 ・グラフの高さは、顧客毎の売上の大きさになっているので幅がまちまち ・サンプルスーパーストアは顧客名がたくさんあるけど利用するデータによってはデータ数が少なくて細かく分けるディメンションがない 今回は、その解決方法についての記事です。 これを解決するには二個のデータ(数値)が必要です。 え?たった二個?と思う方もいらっしゃるかもし

          JTUG インフォグラフィックス作品解説 #2