その他お問い合わせ先

lodestar@truestar.co.jp

運営会社

株式会社truestar
truestar activation株式会社

マリメッコチャート(Marimekko chart)を作成してみる

Tableau10.0で実装された「連続軸マークのサイズ変更」の機能を使って、マリメッコチャートと呼ばれる図を作ってみました。 マリメッコチャートを使うと、全体の量と内訳を視覚的に捉えることができます。 2軸を1つのグラフでまとめて見られる点が積上げ棒グラフとの違いです。 今回はスーパーストアのデータを使用しました。 横軸がセグメント(地域ごとの売上の大きさに合わせた幅を持つ)、縦軸が地域内のカテゴリシェアを表しています。

var divElement = document.getElementById(‘viz1491279699115’); var vizElement = divElement.getElementsByTagName(‘object’)[0]; vizElement.style.width=’804px’;vizElement.style.height=’669px’; var scriptElement = document.createElement(‘script’); scriptElement.src = ‘https://public.tableau.com/javascripts/api/viz_v1.js’; vizElement.parentNode.insertBefore(scriptElement, Nike Hydro Slide Sandals vizElement); 作成方法を順を追って説明します。 1.「売上」を行に配置し、地域、カテゴリで色分け

2.計算フィールドの作成

3.列に作成した「積上売上」を配置し、以下の設定で計算

4.「売上」の計算を合計に対する割合に変更、「カテゴリ」を使用して計算に変更

5.「列ごとの売上」をサイズに指定、サイズを固定、軸の単位の幅を「列ごとの売上」、配置を右に変更

6.ラベルなど細部を整えて完成   連続軸マークのサイズ変更ができるようになることで何ができるようになるのかな、 と調べてみてたところ、マリメッコチャートが作れそうとのことだったので作ってみました。

使いどころは難しそうですがこんなこともできるようになりましたよ、ということで。

続きを読む マリメッコチャート(Marimekko chart)を作成してみる

Alteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第五弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

16日目のエントリとして14日目のエントリのPart 2として、大量の調査データをAlteryxでTableau用データに加工してみたいと思います。

ちなみに14日目のPart 1エントリは以下です。

 

様々な国の調査データを比較したかったり、調査データをトラッキングしたいとなると大量の調査データを取り扱うことになります。

Part 1の形のデータベースとなると、データ粒度が回答者IDごとであり、尚且つTableau上では、表計算で回答率を算出するため、データが大きいとTableauのスピードが著しく悪くなります。

そのため、以下のAlteryxワークフローで大量の調査データにも対応できるTableau用データベースを作成してみました。

 

以下でPart 2で追加したツールの詳細を説明します。

 

このSummarizeを入れるだけで、25003行だったデータが、9008行まで収縮できました。約40%の収縮です。

完成したデータはこれです。

 

明日17日目はクラスメソッドさんの『Communityの使い方 』です。乞うご期待!

Kazuki Koebisawa

続きを読む Alteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016

時系列を付与した散布図の作り方

稀に使用される「時間を軸においていない散布図に折れ線で時系列を追加したグラフ」を作成してみます。

一見して判りにくいグラフとなる為汎用性は低いですが、2軸の指標に対して年を追った傾向を見る際に役立ちます。

 

サンプルデータソースの「世界指標」を使用して生産人口割合とGDPの関係をあらわしたダッシュボードを作成して見ました。 ポイントは折れ線のパスに「年」を入れる部分です。 素直に実装すると年の進行方向が判りにくかったため、矢印を入れています。 if last()=0 then “終点” elseif  lookup(AVG([人口(15~64歳)]),1)-AVG([人口(15~64歳)]) > 0  and lookup(AVG([GDP]),1)-AVG([GDP]) > 0 then “右上” elseif lookup(AVG([人口(15~64歳)]),1)-AVG([人口(15~64歳)]) > 0 then “右下” elseif lookup(AVG([GDP]),1)-AVG([GDP]) > 0 then “左上” else “左下” END

非常にシンプルな実装となっていますので興味がある方はダウンロードして確認してみてください。

var divElement = document.getElementById(‘viz1480306039280’); var vizElement = divElement.getElementsByTagName(‘object’)[0]; vizElement.style.width=’1004px’;vizElement.style.height=’869px’; var scriptElement = document.createElement(‘script’); scriptElement.src = ‘https://public.tableau.com/javascripts/api/viz_v1.js’; vizElement.parentNode.insertBefore(scriptElement, vizElement);

続きを読む 時系列を付与した散布図の作り方

フィルタを使用する際のシェアの算出方法について

製品やブランドのシェアを算出するケースは非常に多いと思います。

今回はフィルタを使用する際のシェアの算出方法についてお話します。

使用するデータソースは「スーパーストア」です。

 

シェアを算出する際は「sum([売上])/WINDOW_SUM(sum(売上))」といった形で「対象/全体」を計算しますね。

全ての対象を表示している場合は問題ないですが、表示するメーカーは絞る(or一つにする)際のシェア算出方法が課題となります。

素直にフィルタで絞ってしまうと、絞った中でのシェアを表示してしまいます。

カテゴリごとのシェアを表示するといった際はいいのですが、メーカーを絞る際は問題となります。

これはディメンションフィルタでフィルタされた後に表計算が行われるため発生します。

(Tableau online Helpより)

詳しい内容はTableau online Helpを参照してください。(https://onlinehelp.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_lod_filters.html)

解決策は以下の3種類が考えられます。

・個々のレコードにトータルの値を持たせる

・フィルタを表計算フィルタにする

・トータル計算にFixedを使用する

各々について見ていきましょう

 

・個々のレコードにトータルの値を持たせる

予めデータ側にトータルの値を持たせてしまって、フィルタが掛かっても算出できるようにします。

「sum([売上])/avg(トータル売上)」

メリット

・表計算なしで算出できる為、軽い

デメリット

・フィルタを掛けても一切トータルの値が動かない為、どの単位でトータルを持たせるかが問題となる

・単純にAVGで計算できなくなるケースもあり、データの準備、扱い共に難易度が高い

 

・フィルタを表計算フィルタにする

表計算フィルタは表計算が行われた後に実行されるため、フィルタを表計算を使用したものに変更すれば正しく表示されます。

lookup(min([メーカー]),0)

といった計算式を作成しフィルタに入れます。

メーカーをビューに入れないと動作しない点に注意が必要です。

メリット

・手軽

デメリット

・アクションフィルタには適用できない

・表計算フィルタは実際には非表示にしているだけであるため、重い

・表計算フィルタである為、フィルタを表示する為にも表計算が行われる(重くなる)

・フィルタ対象をビューに使用しなければならない

・複数ワークシートへの適用が出来ない

 

・トータル計算にFixedを使用する

Fixedはディメンションフィルタの前に計算される為、トータル計算にFixedを使用すれば正しく表示されます。

「sum([売上])/sum({fixed:sum(売上)})」

メリット

・Fixedの計算を調整することで要件に柔軟に対応可能

デメリット

・Fixedはビュー表示とは別に計算が行われるため、重い

・Fixedの計算の調整が必要

 

続きを読む フィルタを使用する際のシェアの算出方法について

表計算の詳細について:レベルと再開間隔

表計算の詳細について第二段ということで、レベルと再開間隔についてです。この二つを理解しているかどうかで表計算の利便性は格段に変わると思います。ただ再開間隔は字面を見ればどんなものか想像がつきますが、レベルは字面を見ても想像がつき難いです。本投稿ではレベルと再開間隔を簡単な例とともになるべく分かりやすく紹介していきたいと思います。 今回の投稿は前回の 表計算の詳細について:区分の指定と場所の指定 からの続きになります。前回は表計算の詳細で指定する区分と場所について簡単な例とともに紹介いたしました。前回を読まなくても問題無い内容となっていますが、細かいデータの設定等については省略させていただきます。今回も使用するデータはサンプル「スーパーマーケット」、表計算にはINDEX関数を使用しております。 実際に中身を見る前に、レベルと再開間隔とは何ぞやという問題がありますので簡潔にまとめます。 レベル:指定した場所の水準(Level)以上で計算を実行する。 new balance 373 bleu orange 再開間隔:指定した場所の単位で区切って計算を一から始める。 場所と書いてあるようにレベルと再開間隔では場所の指定で設定したものしか使えません。 実際に中身を見ていきましょう。まずは行に地域と都道府県を列に年 オーダー日とオーダー日の月を配置します。前回のおさらいもかねて、区分の指定に年 オーダー日とオーダー日の月を、場所の指定に地域と都道府県を入れて、レベルと再開間隔は初期状態のまま(レベル:最も深い、再開間隔:なし)で適用してみます。   年と月の範囲で都道府県、地域方向に計算します。 上の例を使ってレベルと再開間隔を設定すると挙動がどのように変化するかを見ていきます。先にも書いた通りレベルと再開間隔には場所で指定した内容しか選択できません。上の例のとき初期状態のままだとレベルの中には、 ・最も深い・地域・都道府県 の三つが選択できるようになっています。 Chaussure Adidas 同様に初期状態のままだと再開間隔には、 ・なし・地域 の二つが選択できるようになっています。 なぜ再開間隔の選択肢がレベルより一つ少ないのか疑問に思う方もいるかもしれません。再開間隔はレベルより浅い場所しか選択できないためレベルよりも選択肢が一つ少なくなります。理由は後述してあります。興味のある方は読んでみてください*1。 Brandon Bolden 今回は場所の指定に地域と都道府県を指定したので、レベルも地域と都道府県を選択できます。デフォルトで選択されている「最も深い」は選択肢の一番下を選択したのと同様です。まずレベルを一番下にある都道府県で実行してみます。 sac fjallraven kanken 結果は初期状態のときと変わりません。 上でも書いたとおり初期状態で選択されている「最も深い」は選択肢の一番下を選択したのと同様です。今回の例ですと一番下は都道府県になっていますので「最も深い」を選択したのと変わりません。 またレベルを地域に設定します。都道府県の水準では計算せず、地域水準で計算を行います。年と月の範囲で都道府県を考慮せず地域方向にのみ計算していることが分かります。 次に再開間隔を設定してみます。 現在の設定では再開間隔は地域しか選択できません。 nike air max 2017 dames Groen 再開間隔はレベルの設定より浅い場所しか指定できないためです。今の設定でレベルを地域に指定すると再開間隔は設定できません。レベルを都道府県、再開間隔を地域に設定します。 年と月の範囲で地域と都道府県方向(下方向)に計算を行い、地域の単位が関西地方から関東地方に切り替わった際に計算が初めから行われているのがわかります。 以上でレベルと再開間隔に関して、例が簡単すぎた気がしますが一通り紹介いたしました。   今回のまとめ レベルは計算の水準を設定できる。レベルで設定した場所より深い場所は計算に反映されない。 再開間隔は計算を一から再開する場所を設定できる。 Fjallraven Kanken Big 再開間隔で設定できる場所はレベルより浅い場所。

続きを読む 表計算の詳細について:レベルと再開間隔

表計算の詳細について:応用編

表計算の詳細シリーズのおそらく最後になります。一回目 「表計算の詳細について:区分の指定と場所の指定」二回目 「表計算の詳細について:レベルと再開間隔」過去二回で簡単にではありますが表計算の詳細について紹介しました。三回目は今まで紹介していたことを交えて表計算をいろいろと使っていきます。 さすがに表計算だけで全てをまかなうのには限界があるためパラメータやフィルターも使っています。今回は今までのようなINDEX関数を使った例ではなく「スーパーストア」の売上を使います。 Nike Air Max 2017 schoenen 今回やることは以下になります。 『サブカテゴリの最新月時点での売上と前年同月までの累計売上増減比率を増減比率の順位で示す。 nike air huarache dames rood 』下図が完成形となります。 nike air max 1 donna 全データを使用するとサイズが大きくなるのでカテゴリを家具で絞っております。 Iowa State Cyclones ステップとしては下の①から⑤の順番で行います。 ①年月の累計売上の算出 ②前年同月の累計売上の算出 ③前年と当年の累計売上増減比率の算出 ④最新月のみ表示 ⑤売上増減比率の順位で並び替え お時間が取れる方は回答を見る前に自前でどこまで出来るか挑戦してみるのも良いかと思います。 asics schoenen 挑戦する際は上のステップの通りにやる必要はありません。 Nike Air Max 90 Women 出来るところからやっていただいて構いません。 ヒント:今回の表計算の詳細画面には下記の図のように計算フィールドが複数の物もあります。 Indiana Pacers   今回の内容はかなり長くなってしまいましたのでストーリーにさせていただきました。

<a href=’#’><img alt=’表計算の詳細について:ちょっと複雑にしてみた ‘ src=’https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;_6&#47;_6381&#47;1&#47;1_rss.png’ style=’border: none’

続きを読む 表計算の詳細について:応用編

データの集計、非集計について

Tableauでは既定ではディメンションをビューに入れると非集計として、メジャーを入れると集計として扱います。 nike femme 2017 集計と非集計とは何なのか、計算式を書く際の注意点について書いてみたいと思います。使用するデータソースは「サンプルストア」です。 New Orleans Pelicans 集計とは データの区分となるセルに対して、一つの値になるように集計します。 AJ McCarron Alabama Jersey 平均、合計、中央値、最大値、最小値等様々な集計方法があります。 Nike Air Max 2017 blanche Homme ポイントは、一つの値になるように集計するということです。 nike chaussures 文字列を集計として扱わなければならないときに壁となります。 非集計とは データを集計せず、一行ずつ別のものとして扱います。ビューに追加する場合はデータを区分する単位となります。 VCU Rams   計算式を作る際の注意点 以下の2点が挙げられます。 Adidas Superstar Homme いずれも重要となりますので、確認してみてください。 ・かけ算と割算 初級者がつまずきやすい点です。かけ算と割算する際に非集計データを使用するとレコードごとにかけ算、割算し、その結果に対して更に集計を行うことになります。 合計に対してかけ算割算を行う場合は以下のように明示的に行います。 ・集計と非集計の比較は出来ない よく計算式がエラーになる原因になるやつです。 等号でつなぐ際や、IF文の内部等に集計データと非集計データは混在できません。「1対多」、「多対1」ではつなぐことができず、必ず「1対1」の関係になっていないといけない為です。 A.J. Green UGA Jersey 数値データを非集計扱いにしても問題が無い場合は非集計に揃えます。数値を集計しなければならない場合は、文字列も集計が必要です。よく使用する集計はATTRです。 ATTRはデータが一意となる場合にその値を表示し、そうでない場合はNULL(*)を返します。一意になっていない場合NULLになる点は注意が必要です。

続きを読む データの集計、非集計について

Alteryxで調査データをTableau用データに加工してみた-Part 1 #Alteryx #14 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第四弾です。 Alteryx Advent Calendar 2016 | シリーズ | Developers.IO Alteryx Advent Calendar 2016 – Qiita   14日目のエントリとしてクラスメソッドの川崎さんが以下のエントリでもご説明してくださっていますが、調査データをAlteryxで実際に加工してみようかと思います。 Solde adidas zx flux Tableau Conference 2016 at Austin [レポート]調査データを可視化する 2.0 – Data Revelations #data16   活用するデータは以下になります。 Compra Zapatillas Nike まずは、数値形式で格納されているデータです。   次に、文字形式で格納されているデータです。 上記、データがない場合もあるかもしれません。 Marcus Mariota Titans Jerseys その場合は、以下のようなマスターを作成することをおすすめします。 AIR MAX 2017   最後に、質問の補足情報が格納されたデータです。 Yeezy

続きを読む Alteryxで調査データをTableau用データに加工してみた-Part 1 #Alteryx #14 | Alteryx Advent Calendar 2016

表計算の詳細について:区分の指定と場所の指定

表計算は使いこなせれば便利なツールになりますが、なんとなく使っていると盛大に躓くツールでもあります。特に表計算の詳細では説明を読んでも区分やら場所やら何のことを表しているのかよく分かりません。 本投稿では表計算の中でも表計算の詳細の挙動について簡単な例を示しながら紹介していきます。内容が多いため二回か三回に分割して投稿します。 表計算の表とペインについては、 「よくわかる表計算の『表』と『ペイン』」 「表計算の細かい挙動について」 に書いてありますのでご参照ください。 本編に入る前に今回使用したデータについて簡単に説明します。飛ばしてしまっても問題ありません。 もし、Tableauを使える環境にいましたら実際に動かしながら読んでいただければより理解しやすいかと思います。 データはtableauに入っているサンプル「スーパーストア」の注文を使用します。列に年と月、行に都道府県を配置します。そのままだと少々見にくいので年と地域をフィルターにかけています。 free run 5.0 grigio uomo 表計算にはINDEX関数を使用します。 INDEX関数は現在いる場所の番号を返す関数です。これを使用することで計算の挙動を追うことが出来ます。 nike air max 95 donna ためしにINDEX関数の計算結果を表(横)で入れて見ます。そうすると単純に横方向に現在いる場所の番号を返しているのがわかります。 前置きが長くなりましたが、以下からINDEX関数を使った表計算の詳細についての説明になります。 表計算を使用しているメジャーを右クリックしてメニューから表計算の編集画面を表示します。   表計算の編集では計算の定義から「次を使用して計算」、「レベル」、「再開間隔」の三つを指定することが出来ます。 詳細を指定するには「次を使用して計算」のドロップダウンの一番下、詳細を選択します。詳細のメニューには・区分の指定・場所の指定・並び替えの三つがあります。 adidas nmd donna 今回は区分の指定と場所の指定について説明していきます。   詳細のメニューを開いた初期の状態では行、列、詳細に置いてあるディメンションが区分の指定に入っています。 区分の指定に入っている物をダブルクリックか鏃形(>・<)のボタンで場所の指定に移動できます。 Authentic College Jerseys 場所の指定に入れた物を区分の指定に戻す場合も同様です。 また、場所の指定に入っている物は上へ・下へボタンで順番を入れ替えることが出来ます。 まずは区分の指定にオーダー日の月と 都道府県、場所の指定に年 オーダー日を入れてみます。 下図のように2013年には1、2014年には2が入っただけの結果が表示されます。これは緑で囲まれた範囲(1月の茨城)を年方向(2013年と2014年)に計算しています。 次に区分の指定に都道府県、場所の指定に年 オーダー日とオーダー日の月を入れてみます。 すると、緑の範囲(茨城県)を月方向(1月から12月)かつ年方向(2013年から2014年)で計算しています。これは、表(横)と同じ結果になります。 場所の指定では入れる順番も重要になります。 Mens Air Jordan 1 計算の順番は場所の指定の下から上へ順に計算を行います。一つ上の例の区分の指定を変えず、場所の指定をオーダー日の月、年 オーダー日という順番に変えてみます。 KOBE 11

続きを読む 表計算の詳細について:区分の指定と場所の指定

データブレンドを使用して別のデータソースから静的に情報を付与する方法

今回はTableau社のTutorial映像(英語)からの受け売りです。 Nick Marshall – Auburn Tigers Jerseys http://www.tableau.com/ja-jp/learn/tutorials/on-demand/cleaning-data-bulk-re-aliasing 内容はタイトルどおりですが、実際に見てみないと?という感じだと思いますので日本語で読みたい方向けに説明いたします。 今回はサンプルストアの注文シートと関係者シートを使用します。注文データソースに地域マネージャー情報を付与してみましょう。通常思いつく方法は ①データソースの結合 ②データブレンドの2点だと思います。 Nike Air Max 2016 Dames wit ざっとやってみましょう。 nike internationalist hombre ①データソースの結合図のようにデータソース画面から結合をおこないます。 NIKE ROSHE ONE 通常のディメンションと同様に地域マネージャーを使用できます。 adidas zx 750 mujer メリット ・(データブレンドより)一般的に高速 デメリット ・複数の異なるデータソースから結合できない(10.0で解消) ②データブレンド 先に注文データソースから「売上」を入れ、次に関係者データソースから「地域マネージャー」を入れます。リンクが適切に設定されていれば結合と同様の結果が得られます。 ADIDAS ULTRA BOOST メリット ・異なるデータソースからブレンド可能・手軽 デメリット ・低速 それでは、今回の本題の「データブレンドを使用して別のデータソースから静的に情報を付与する方法」を行います。データブレンドを使用するところまでは②と同様です。 Fjallraven Kanken Classic プライマリデータソースから「地域」をセカンダリデータソースから「地域マネージャー」を行に入れます。行に追加した地域マネージャーをクリックすると「プライマリグループの作成」「プライマリ別名の編集」が表示されます。 Canotte Orlando Magic 2パターンとも説明します。 まずは「プライマリグループの作成」から。グループの編集画面が表示されるのでOKを押します。プライマリデータソースに名前を地域マネージャーでくくったグループディメンションが作成されます。セカンダリデータソースとの接続を解除しても、そのまま使用できます。 メリット

続きを読む データブレンドを使用して別のデータソースから静的に情報を付与する方法