BIツール Tableau 社内での使い道2

社内活動で展開された DATAsaber の研修を通じてTableau学習中です(業務外扱い(TT))

まだ社内に浸透していないTableauを見た反応はどんなものだったのか?を紹介したいと思います。

 

部内で探した題材の一つに毎月報告されている各プロジェクトの予算消費状況のレポートがあります。このVIZの素案をTeamsのチャットに挙げてみました。

・予算消費を集約していった結果が、将来的には過去実績となる

  →過去の実績のデータ探しが必要なくなり、比較表示も容易になる

・予算以外に、開発時間の経過状況やまとめにも同じように使える

・アクセス数がわかるので、レポートが不要な場合はやめられる

・エクセルのアドインはそのほかのツールを使う場合もデータベース化作業に使える

などメリットの説明を添えました。

 

<反応>

・現在のレポートのルーティンがデータベースになっていくのがよい

・〇〇のデータベース化にも参加してほしい

・Tableauを使っているが、使い方がよく分からない

  取り組み中課題の活動に協力してほしい

 

反応は、まぁ薄いかなという印象です。

そして、仕事増えとるやん

 

Tableauが何か知らないし、普段の業務に改善活動もアドオンされた上で、Vizを1,2枚見たところで、自分もTableauやります!とならない方が当然かなと思います。

自分もやってみたいけど、どうしたらいいですか?といった声はなかったですが、実は近いところにTableauユーザー(若手女子!)がいると分かったのが一番収穫かもしれないです。一緒に改善活動をやっていきたいな。

 

この予算消費レポート正式展開し、皆さんにレポートの見方を説明しTableauに触ってもらえたら、エクセルより簡単に可視化とデータ分析できるのかが伝わって、もうちょっといい反応が増えるのかもしれません。

DATAsaver ワークで出現する機能5 (Ord9)

Ordinal 9 HandsOn - Advanced II は自動でできる表計算の機能が多いです。自力でやってみた挙句に動画を見ると自動表計算でできた、といったものもありました。

 

Ord9-Q1

やりたいこと:表計算で増加率を出すとき、基準年を原点(0%)にしたい

 

自動 表計算の編集

 「次との割合」→基準点が100%になってしまうが

「次との差の割合」→基準点が0%にできる

 

Ord9-Q2

やりたいこと(設問)

都道府県を利益合計を多い順に並べ、積みあがっていく状況と総計を表す

 

1)自動 表計算 で合計を使って累計を出すように設定する

 ※これだけでは利益大の順には並ばないので注意

   <合計値の累計>

 

Ord9-Q4

利益トップ10、ワースト10をグループ分けして抽出したのち、TOPの人との差を出したい。特定のデータとの差を出す方法は数字を抜き出さないとだめなのか?と思ったらこれも自動表計算でできました

売上を行に投入 ▼クリック→表計算の編集 次との差、表下

選出した中からTOPとの差を出してくれます

 

試しに1位の人のグラフをクリック→除外すると、2位だった人をTOPとして計算しなおしされます。

 

Ord9-Q5

やりたいこと:その月までの過去最大値でグラフを書きたい

当月データでも、累積でもなく、今までの最大値をその月に表示させるには?

イメージは下記グラフの2、3段目のものですが、これも自動の機能でできます。

 

自動 売上を行に投入→表計算の編集→累計 最大値 に設定

最大値の累計と聞くと、最大値が足されていくのかな?と思いますが、一番上の売上額の棒グラフと比較すると最大値が更新されていっているのがわかります。

 

ちなみにまず自力で問題を解く際はハンド入力で以下のステップでやりました

①当月までの期間を割り出し: [Q5オーダー日までの遡り期間] を計算

  DATEDIFF('day',MIN([オーダー日]),MAX([オーダー日]))

②その期間の最大値を抽出:

  WINDOW_MAX(sum([売上]),-[Q5オーダー日までの遡り期間],0)

この結果が上記の2段目のグラフで、3段目と同じ結果になっていましたが、わざわざ書かなくても自動機能があったということでした。

 

Ord9-Q6

設問:利益率ワースト3のサブカテゴリを除外すると、利益率は何%になるか

やりたいこと:選択したものだけ平均計算から外したい

フィルターの「除外」機能を使う

 

①利益率の棒グラフ

②全サブカテゴリーと利益率のグラフ

を作成し、ダッシュボードに集約

②にフィルターを設定した上で、何かのサブカテゴリを選択する

①のグラフのシートに戻るとフィルタのカードに自動で生成されているフィルタアクションで除外にチェックする

 

①のグラフに比較のためにフィルタをかけていない利益率も固定で出したい場合

[利益率]を列に投入→シェルフでの計算 で{}で囲んで{[利益率]}とする

と、フィルタがかからない値になる

 

Q6まででした。後半を復習したらまた追加します!

 

Datasaber ワークで突然出現する機能4 (Ord8-2)

Ord8-Q10で出てくる、知らないとできない新機能を追記します。

Q10以降は新規で突然出てくるものはもうないと思ってたのですが、復習してたらテキストデータから結合する方法が思い出せなかったので追加

 

Ord8-Q10

やりたいこと:テキストデータの地域/都道府県データをTableau機能で追加したい

問題文に都道府県のテキストデータのリンクが張ってありますが、これをコピーしたものをエクセルに張り付けて文字列分割…など別ファイルで操作せず、Tableau内で結合する方法があります

1)リンク先から地域/都道府県の文字をコピーする

https://qiita.com/zaki_001/items/488970829fda3e8833f9

2) データシートに移動して、注文をWクリックして結合の画面にチェンジ

3) 結合のマークがついている画面に変わったら、空白に貼り付け(CTRL+v)するとテキストデータが出現(画面はもう結合作業終わったものです、一番右がテキストデータ)

 

結合の設定画面

4) 元のデータは一番上の行(北海道/北海道)がデータ名になってしまっている

自動で出てくる結合の設定ウインドウはいったん消し、テキストファイル Clipbord…の枠の右▼をクリック→フィールド名自動で生成 にチェックする→1合目がデータ扱いになり、データ名が[F1]になる

 

5) データ結合する

結合マーク上で右クリックして設定ウインドウをもう一度表示させる

既に前の問題で結合しているCustomer_Master.csv のなかの「都道府県」

新しく張り付けたデータClipbord…側は 結合計算を選択

(地域/県)のテキストを分割した「県」の方と結合させる

結合設定

TRIM( SPLIT( [F1], "/", 2 ) )

の のところは、データを切ったあと前から数える場合は正(+)の数

後ろから数える場合は負(-)の数、この場合後ろから1個目なので -1 にしてもOKです

 このあとのQ10は既知の手法を使ったとんちの世界です

 

やりたいこと:新規購入日だけの累積グラフを作りたい

ハンド  [オーダー日]が新規かどうか真偽分けの計算フィールドを作成

 [オーダー日]=[Q5で作成した初回購入日の計算式]

→フィルターに入れる

 

DATAsaber試験は2日後、日程ないので一発試験です…不安

Datasaber ワークで突然出現する機能3 (Ord8-1)

自力作成のきっかけとして、知らないとできない(答えを見てからでないとできない)という突然出てくる新機能をメモしました

なお、このブログ記事はパブリックポイント用と自分の復習用で作成しています。後日作成なので抜けているかも…。ノートつけながら進めたらよかったです(2回目)

Q10以降は次に続きます

 

Ord8HandsOn - Advanced I-Q1 

やりたいこと:表示グラフを切り替えたいのでパラメータとグラフ表示を連携させたい

 

ダッシュボード上に表示を切り替えたいグラフが3つある状況です

①パラメータをフィルタにしたい

・パラメータ作成(リスト1,2,3 にそれぞれ表示グラフ名割り当て) 

・計算フィールドの作成→計算式記入欄にパラメータをドラッグドロップ

パラメータを作るがフィルターにならない(「フィルター」の欄に入らない)

 →パラメーターから計算フィールドを作るとフィルターとして使えるようになる

 

 

②①で作成したフィルターとグラフの連携方法

・表示したいグラフ1 でパラメータを表示させ、1番目を選んでおく

・ (1)-①でパラメータから作った計算フィールド(表示グラフ切り替え)をフィルタカードに入れる

・次に出てくるウインドウで、リストに1のみがある状態で出てくる

 →1にチェックを付ける

 

これでグラフは『貴様に1番を付与した!本部(ダッシュボード)から番号で呼ばれたら速やかに出頭せよ!』という状態になります

 

Ord8-Q1

やりたいこと2:表示させないグラフの分はスペースを閉じたい

自動  ダッシュボードにグラフを投入する際に、コンテナ機能を使う

 

Ord8-Q2

やりたいこと:日付データ (オーダー日) の中から最終日の情報を取り出したい

ハンド 計算フィールドの作成 MAX( [オーダー日] )

 

※逆に一番古い日(最初に購入した日) は MIN( [オーダー日] ) で出すことができる

 

やりたいこと2:それを顧客別にに出したい

LOD関数を使用する。

これはVIZの軸に表示切り分けの条件となる顧客、サブカテゴリなどを必ずしも表示させなくても、あるいは表示しててもそれを無視してある条件に沿った集計を返してくれる機能です

 

Ord8で出てくるLOD関数と書き方

(1) { FIXED [条件]:集計式} …Q2で使用  

  [条件]にあてはまるもので集計

  例: { FIXED [顧客 Id]:MAX([オーダー日])}

(2) { INCLUDE [条件]:集計式 }…Q3で使用  

  [条件]にあてはまるもので集計

  例: { INCLUDE [オーダー Id]:SUM([売上])}

(3) {EXCLUDE [条件]: 集計式)}…Q8で使用

  VIZに表示された[条件]分けを無視して集計

例:

{   EXCLUDE [カテゴリ1]:
    sum(IF [カテゴリ1]=[Q8ソートカテゴリー] then [売上] end)  }

※[Q8ソートカテゴリー] は作成したパラメータです

 

<それぞれの違い> 

・FIXEDとINCLUDEは[条件]にあてはまるもので集計する

・EXCLUDEは[条件]にあてはまるものを除外して集計する

・FIXEDはVIZ上の切り分け条件を無視して集計する(Q3注意)

・INCLUDEはVIZ上に切り分け条件を追加したとき、それに応じて集計は修正される

INCLUDEで作成した集計値からは分布図のビン(区切り)が作成できない

   (Q4、FIXEDでは可能)

 

Ord8-Q3

やりたいこと:条件=顧客ごと の購入回数を集計したい

(1)自動 行に顧客ID投入→メジャー種類を カウント(個別)に変更

(2)ハンド 顧客ID 横の▼クリック→作成→計算フィールドの作成 

{ FIXED [顧客 Id]:COUNTD([オーダー Id])}

 入力時 COUNTD([オーダー Id]) は行の欄から(1)で作ったものをドラッグして持ってくると自動で記入される

 

FIXEDの条件をcount([オーダー]ID) とし、購入回数が同じ顧客をカウント

→その分布図を作ればいいのではないか?と考えました

結果、「count」はFIXED関数の条件にできにないというエラー発生

よって横軸の購入回数は(1)で作成し、そこに縦軸で(2)で作った集計値を表示させるという方法になるようです

 

Ord8-Q3 オプション問題

やりたいこと:VIZ上のすでに表示された条件分け(購入回数)に加えて、もう一つの条件(オーダーごと)の集計値(平均売り上げ)を出したい

・ハンド INCLUDEを使う(上記のLOD関数まとめ)

 

・注意点:{ FIXED [オーダー Id]:SUM([売上])}とすると、visでは購入回数横軸のグラフになっているにも関わらず、購入回数が異なるオーダーIDの売上も集計されてしまうので結果が変わってしまいます。Q3の答えも間違うので、要注意です。

 

別のシートで元データのクロス集計表で確認しますと(下記)、同じオーダーIDの中に違う日、違う顧客のデータが含まれています

オーダーIDって何なんですかね…という疑問はさておき

このためFIXED [オーダー Id]とした場合は、購入回数が違っていても無視され、オーダーIDでくくって集計してしまうため、意図と違った集計になってしまうということらしいです。

データの確認

Ord8-Q4

売上額の分布図を作成する問題で、新機能ではないですが、つまずいた点

やりたいこと:条件(顧客ID)単位でメジャー(売上)からビンを作りたい

ビンと分布図の作成は Ord5-Q3 で出てきました。

(1) ハンド 計算フィールド作成→”顧客IDごと売上合計” をLOD関数 FIXEDで作成

(2) (1)で作成した計算値の▼→作成→ビン→10万円ごとでビンを作成

 

つまづきポイント:INCLUDEでは作成の選択肢のなかにビンが出てこない

INCLUDEは粒度に応じて計算をし直すから固定のビンが作成できないのではないか…と思われます。

 

Ord8-Q8

やりたいこと

カテゴリごとのパラメータを設定し、計算式を作成したところ、

「パラメータで選択したカテゴリとそうでないもので計算結果の行が2行に分かれてしまい、それぞれにNullの空欄ができてしまう」

状態になるので、計算式は維持して、全部同じ行に表示させたい

 

ハンド 計算式に上記紹介の LOD関数の EXCLUDE をかぶせて カテゴリを無視させる


EXCLUDE [カテゴリ]:
  sum(IF [カテゴリ]=[ソート用カテゴリー] then [売上] end)   
}

sum 以下が個別に計算したい内容

計算式は維持しつつ、行は分かれなくなる…感覚的にはちょっと理解できていません

 

Ord8-Q9

できたつもりが結果が正解と変わってしまう、というポイントがありました

 

やりたいこと:計算した顧客の「購入間隔(月)の平均」を横軸にして分布を作成するため、計算結果を整数にしたい

 

×: 自動 メジャー横の▼クリック→データ形式→整数 にする

   int() の関数が適用され、切り捨てになってしまう

〇:ハンドで 購入間隔を計算する式を round() でくくり、四捨五入する

  round (数値、小数点以下の桁数) これはエクセルにもある関数です

 

切り捨てによる整数化でもいい場合もあると思いますが、切り捨てと四捨五入ではこの設問では正解とVIZの形が違ってきてしまいます。

整数化が「切り捨て」と知らなかったのでなぜグラフの形が違うんだ~としばらく悩んでしまいました。

 

ちょっと不足があるかもしれませんが以上です

Tableau学習中の出来事 計算フィールドが出てこない

QOLをぶん投げてTableau学習中です。

とてもしょうもないことなのですが、2回ほど発生してどうしていいか分からん!となったPC上のトラブルを3度目に遭遇する自分のために覚書しておきます。

 

トラブル内容

・計算フィールドの作成 を選択後、計算フィールドのウインドウが表示されない

計算フィールド作成

計算フィールド作成

 

計算フィールドとは ↓ これ

計算フィールド

計算フィールド

症状

私はラップトップPCにモニターをつないで2画面で作業していますが、そのどちらにも表示が出てきません。

タスクバー上のTableau本体ウインドウのアイコンは色が薄くなるので、計算フィールドウインドウがどこかで開いてそちらがアクティブになっているように見えます。

しかし表示はされない。もう一度計算フィールド作成、を選択の操作をすると、ウインドウは出ませんが、メジャーに「計算1」「!」マーク付き ができています。

中身空っぽの「計算1」ができたということは、やはりウインドウはどこかに開いていたようです。

でもパラメータのウインドウは普通に出てくるんです。

 

エラーの発生条件

サブモニターとメインのPCモニターにTableauソフトのウインドウと計算フィールドをそれぞれ表示させて作業した後…のような気がします。

 

計算フィールド、ウインドウ、表示されない 等のワードで検索をしてみますが、ちょっと違うエラーのようです。下記のようなより高度な問題の解決方法が出てきます。

・win*でウインドウがどこかに行って表示されない場合

・計算フィールド内で文字が重なる場合

Tableauソフトを保存して再起動→解決せず。

 

さて、解決できた方法は

・PCとサブモニターを切り離して1画面表示にもどす

でした。

 

しょうもな。

 

2画面操作あるあるなんでしょうか

なんか…叩いて直すじゃないですけど、昭和の直し方ですね

夜遅くに焦って課題をやっている中、遭遇してパニくったので、しかも同じ目に2回合って前どうやって復活したっけ!!??とかなり思い出せませんでした

(しょうもない方法で治ったからだろう)

この記事がどなたかのお役に立てばと思います

 

おやすみなさい(AM3:00)

 

エクセルのTableauアドイン

Tableauを学んでみたものの、実務に利用するとなると、さて何に着手できそうだろうか?その視点を前回記載しました。

着手するテーマが決まったらVIZ作成、の前に、データソースの整理が必要な場合があります。その時とても助かった「エクセルで横方向に並んでいるデータを列方向に修正してくれるアドイン」と使用例を紹介します。

 

まずアドインの入手先とインストール方法はこちら、過去のQAにありました

(英語面倒な方はページの翻訳機能でだだーっと翻訳してゲットください)

Tableau Community Forums

 

アドインを追加すると下の4つのアイコンが追加されます。ここで取り上げるのは、一番左の Reshape data の機能です

アドイン機能

アドイン機能


これはTableau本体にもついている機能なのですが、初心者の私がTableauの機能じゃなくてアドインにした理由を、作成中の実例にて紹介します。

★やりたいこと

・取り組みテーマは 予算消費状況の毎月報告の自動化

 今は毎回エクセルを作成していますが、VIZを作っておいて、

 データベースの更新だけにしていきたいです

・予算と消費実績はシステムから実績をCSVでダウンロードできる

・データはどちらも日付(月ごとのデータ)が横向きに並んでいる

 

①元の予算データのイメージはこんな感じです

並べ替え前データのイメージ

①並べ替え前データのイメージ

文字列で「4月」「5月」…いろいろダメっぽい。また、差異、計画(支払予定)など、不要な行も消す必要があります。

これを下のように日付け縦に並べ替えたいです

 

②並べ替え後のデータイメージ(出来上がり)

並べ替え後のデータイメージ

②並べ替え後のデータイメージ

もともと予算と実績の2行×12列(12か月)のデータが、年月を縦方向にした2列×12行のデータになって、a~c列では増えた行分の項目名も埋まっている必要があります

①、②を比べてみて、エクセルの行列入れ替えでは1操作ではこの形状にできません


一方、Tableauにも行方向データを列に変更できる(!)ピボット機能が付いていますが…

 

③Tableauでのピボット操作の結果

Tableauのピボット機能並べ替え結果

Tableauのピボット機能並べ替え結果

F4列に 予算 or 実績の区分が入り、その隣の列に日付、金額が入ります。
この形だと予算と実績が別の行に入っているため、Tableau側で 実績-予算 などを計算したくてもうまくできなかったりして、VIZに制約ができます

実はエクセルのアドインで並べ替える場合も、上記の③Tableau並べ替え後と同じようになってしまいます

エクセル Tableau アドインでの並べ替え結果

エクセル Tableau アドインでの並べ替え結果


1) 予算・実績をそれぞれエクセルの別のシートに抜き出してからアドインで並べ替え

1)-2 Tableauで2枚のシートを読み込み、結合

 (両方のシートに共存する「予算名称」と日付を使用)

2) または1)の後に予算の列を実績のシートにコピぺして1枚のシートにする

 

といういくつかのエクセル上での作業がどうしても避けられなさそうでした。

また上述のようにポンコツな文字列日付データも編集が必要です。

どうせエクセルの中でも作業がいるなら、日付列の並べ替えもエクセルの中のアドインでした方が作業効率がいい。(データの大きさにもよるかもしれません)

また、Tableauのデータシートはスクロールバーが小さいなど操作性は残念な感じなのでその点でもエクセル作業の方が早くできるかと思いました。

ちなみに実作業は2)の方法を選択しました。

 

導入にあたりData saberの師匠'sもこのアドインをご損じなく社内でも未導入でした。また、Tableauにもその機能あるよって言われたのですが、上記のように作業性の面を説明してお願いし、自社のIT部門に問い合わせていただき、セキュリティ上問題なしの判断ですぐOKもらえました。(許可が出なかったというQAもありました)

 

ちょっと長くなりましたが、エクセルのTableauアドイン導入(と社内説得)の実例でした。素人ブログがお役に立ちましたら幸いです。

BIツール Tableau 社内での使い道探し方

Tableau のDatasaberに挑戦しています。

開発系の大企業のくせにDX推進が遅れているように思えてならないうちの会社ですが、DX推進部署が一応あり。扱いは業務外、業務内色々ですが研修ネタを撒いてくれています。その中の一つが TableauのDatasaber取得を目指す講座でした。

 

よく分からず始めましたが、組織内ポイントの為に何か社内で活動が必要。

エクセルの使用頻度も減っている自業務(企画関係)では活用できそうなネタが見当たらない…と困ってしいましたが、今は3件ほど使えそうなネタを探し当て、取り組み中ですので、自分で探してみた時の視点、現在の周りの反応などを紹介します。

 

目次

  1. 職場の状況
  2. Tableau の機能でポイントだと思ったもの
  3. Tableauに置き換えできる業務探しの着眼点
  4. Tableauを立ち話レベルで紹介してみた上司や管理職の反応

 

職場の状況

詳しく書けませんが、私の所属部門は、企画部門、と言ってもマーケティング系ではなく開発系の企画なので、お客様アンケートとかはない。開発といっても企画なので、生データの整理、解析している訳じゃない、という所です。

自分自身も開発部門にいた時よりエクセルを使わなくなり、たまに使うと忘れてる機能がたくさんあって焦るくらいです。

自業務ではいいネタが思いつかず(なんで研修始めたんだろう)、部署全体で、違うグループの業務でもいいので、手助けになればいいのでは?と思って探してみました。

 

Tableau の機能でポイントだと思ったもの

(Datasaberの学習では Ord4 あたりまでで掴んだ知識)

  1. 一度Vizを作成してしまえば、中身のデータの定期更新でいい
  2. だから初期段階では担当の方がTableau使い出なくてもViz(ベースの表示)を作成してあげてスタートを切り、データ更新を続ければいい
  3. 見られることでVizは改善されていく(担当者が使い方覚えるいい機会)
  4. 配信される側は自分なりのVizに変更できる
  5. エクセルでは動かなくなりそうな行数のデータでも固まらずに動く
  6. 配信したものが本当に見られているかを確認できる(不要な業務をやめれる)

 

Tableauに置き換えできる業務探しの着眼点

  1. 元データの加工にも時間をかけ、エクセルで作成している
  2. 定期的に報告されている
  3. 更新の度にグラフのメモリなど修正必要(でも見た目の改善はされていない)
  4. 結果をみて分析するべきだが、されていない
  5. または、追加分析のために別のエクセルを作り直している
  6. 惰性で続けていて、使われているかどうかわからない(やめたい)

 

この視点で、総括チームから毎月配信されている経費と開発時間のまとめデータ配信業務が当てはまりそうです

最初担当の方にTableauを紹介してみると

「以前ほかの方からも提案されたが、扱っている元データがごちゃごちゃなので、Tableauでは難しいと思ってあきらめた…」

という答えでした。が、よく聞いてみると、機能を駆使すれば解決できそうなように思います。

 

他社のことは全く知りませんが、こういう反応もありがちなのではないか…と想像します。しかも現在ある程度マクロも使って工夫されてるようなので、ほかの用途の広がりが不明な新しいツールに乗り換える動機にはなりづらいかなと。

 

これをテーマにしたいと思ったのはむしろ視点6にあたる「毎月作れって言われるから作るけど、使ってなさそう」という担当者の所感です。「やめるマネジメント」という単語を時折トップが流行らせますが、全然できないうちの会社です。

VIZ作成工数が無駄になっても、アクセス数を見てやめれるなら、その方がいいです。

もし使われているなら、毎月配信なので、DXに乗り遅れている自部署のグループリーダー層に新しいツールを知ったり触ったりしてもらう効果もあります。

 

Tableauを立ち話レベルで紹介してみた上司や管理職の反応は

・そんなんあるの?出来るの期待してるわ!

・自分が知らないだけで、そんなツール世の中いっぱいあるんだろうなぁ

・よく分からないので取り合えず今回のテーマで使うツールはエクセルで

 

自分では覚える気ないんだろうな…データファクトリー化の予感がスゴイします。

特に50代以上の中間管理職世代は、もうこのまま勝手知ったるMicrosoftエクセル、ワード、パワポで定年まで逃げ切りたい、と思っていそうです。

まぁ、気持ちはとてもよく分かる(笑)

けど、今、90歳でタブレットとかスマホ覚えるおじいちゃん、おばぁちゃんとかスゴイと思うじゃないですか。そういうばーちゃんはきっと50代の時もなんか新しいことやってたと思うんです。今直面しているのはそういうのの布石のようにも思います。

そう思って残業減ればいいいなと思いつつ、QOLを下げながら0時回るまでDatasaberの課題を解いてる日々です。