############END#################################
【下記は部分的に改良したパターンです:論理値のリストからダミー変数行列を作成する部分をより単純化しています:結果は同じです】
-----------------------------------------------------------------------------
【下記のコードで「1」を選択肢の文字列に置き換えることができます。結果は下図のようになります。】
Power BIのカスタムビジュアルであるインフォグラフィックデザイナーの折れ線グラフなどで、最初と最後のデータポイントにラベルをつける方法です。
まず、下記のように、データの日付の最初と最後で値を計算するメジャーを作成します。
この場合の注意点ですが、データを「 FORMAT([OrderQ],"General Number")」のような形にしないと、最初と最後以外のラベルが「0」となってしまうようです。なお、普通の折れ線グラフの場合は、FORMATがなくても最初と最後のみにラベル表示ができます。
なお、数値データの代わりにカテゴリー列を指定すれば、カテゴリーラベルを表示させることができます。
Label_Measure =
VAR min_label = CALCULATE(MIN('SalesData'[OrderDate]), ALLSELECTED('SalesData'))
VAR max_label = CALCULATE(MAX('SalesData'[OrderDate]), ALLSELECTED('SalesData'))
VAR LABEL = FORMAT([OrderQ],"General Number")
RETURN
IF( OR(
MIN('Calendar'[Date]) = min_label,
MAX('Calendar'[Date]) = max_label)
,LABEL)
Power BIで、図表のカテゴリー軸をスライサーで切り替えたい場合があります。
異なるカテゴリーの軸をスライサーで切り替えて利用すると、1つのグラフで2つのグラフの情報を表示できるようになります。
いわゆる「動的な軸」「動的な凡例」というものです。
ネット上には、「リレーションシップのないカテゴリーテーブル」を利用する方法などが紹介されていたりしますが、他にも図表がある場合には、他の図表との相互作用ができなくて困ることになるでしょう。
ネット上の情報は、限定された環境での例であることが多く、あまり役立たないことがあります。
では、どうすればいいのでしょうか。
まず、Power Queryを使ってカテゴリー列があるファクトテーブルに「インデックス列」を作成します。
次に、スライサーの切り替え用のテーブルを作成します。UNION関数、DISTINCT関数、SELECTEDCOLUMNS関数を使って、複数のカテゴリー列を縦方向に結合します。インデックス列も新しいテーブルに取り込んでおきます。インデックス列でファクトテーブルとリレーションシップを作成して、縦に結合したカテゴリー列をスライサーに設定すれば完了です。
新しく作成したテーブルのカテゴリー列をグラフのカテゴリー軸に設定し、スライサーでカテゴリーを選ぶとグラフの軸を切り替えることができます。カテゴリー切り替え用のテーブルとファクトテーブルはインデックス列でリレーションしているので、動的な軸のグラフとファクトテーブルのデータを用いた他のグラフとの相互作用が可能です。
Power BIで、国/地域や製品分類、製品型番などのカテゴリーを使って図表を作成する際に、カテゴリーを意図した順番で並べたい場合があります。
カテゴリーの列は、別の「列」によって並べ替えを行うことができますが、並び順の列がない場合は、並べ替え用の順序の列を作成する必要があります。
並べ替え用の順序の列を作成するには以下のような方法があります。
・新たに「カテゴリー」と「並び順」の2列のテーブルを作成し、「カテゴリー」によってファクトテーブルとリレーションを作成するという方法があります。そして、ファクトテーブルに「RELATED関数」を使って並べ替え順の列を作成することができます。
・SWITCH関数を使って、カテゴリーに対応した順序の数字の列を直接ファクトテーブルに作成するという方法があります。
いずれの場合も、「カテゴリー」の文字列は手入力しない方がいいでしょう。
DISTINCT([カテゴリー])でカテゴリーのテーブルを作成し、テキストをコピーして、新しいテーブル作成やSWITCH関数を使って作成するDAXにテキストをコピペするのがよさそうです。
テーブル作成が不要なので、SWITCH関数を使って並べ替え用の列を作成する方法がいいのではないかと思います。
新しい列の作成:
Sort_By = SWITCH (TRUE (),
Table[Category] = "Category A", 2,
Table[Category] = "Category B", 1,
Table[Category] = "Category C", 3,
BLANK ()
)
「Power BIで選択した月から、過去Nカ月分のデータを表示する方法」をネットで検索すると、「切断された日付テーブル(リレーションシップのない日付テーブル)」をスライサーに利用する方法がよく紹介されています。
「リレーションシップのない日付テーブル」で選択した「月」の数字によって、図表の軸の「月」の数字をフィルターするという方法です。
しかし、「リレーションシップのない日付テーブル」を使わなくても、DATESINPERIOD関数を使えば「選択した月から、過去Nカ月分のデータを表示する」ことが可能です。
ただし、図表の日付軸にファクトテーブルの日付列を設定する必要があったりします。
DAXもDATESINPERIOD関数を使った場合は、下記のような簡単な内容です。
Measure (last n months) =
CALCULATE (
SUM ( Table[Sales] ),
DATESINPERIOD ( ‘Date'[Date], MAX ( ‘Date'[Date] ), – [N Value], MONTH )
)
「リレーションシップのない日付テーブル」など作成せずに済むので、ファクトテーブルの日付列と日付テーブルの日付を利用して試してみる価値はあります。
ネット上には、「ベストプラクティス」ではない事例が数多くあるようです。
Power BIは日本語の情報が少なく、ネット上の「ベストでない情報」に翻弄されることがよくあるようです。
私もDATESINPERIOD関数が役立つことに気づくのにかなり時間がかかりました。
Power BIで時系列データを扱う場合は、日付テーブルをDAX関数で作成すると便利になるようです。
一意で、連続している日付列を持ったテーブルがあると、タイムインテリジェンス関数の利用などが可能になるようです。
ネット上でいろいろな日付テーブル作成のDAX関数が紹介されているので参考にしていきたいと思います。
下記は、ネット上にあるDAX関数です。変数やCALENDARAUTO()を使うもの、使わないものなどがあります。
MAX([データが持っている日付列])とMIN([データが持っている日付列])のデータを使って日付テーブルを作成するのがいいかもしれません。この場合は下記のような形になるようです。
CalendarTable = CALENDAR(MIN([データが持っている日付列]),MAX([データが持っている日付列]))
この場合、範囲の終わりの方を「EOMONTH(MAX([データが持っている日付列]), 0))」とすれば、該当月の月末までの日付が生成されます。
作成した日付テーブルは、ファクトテーブルとの間にリレーションシップを作成して利用します。この場合、日付テーブルを「日付テーブルとしてマークする」という設定にするといいようです。
「日付テーブルとしてマークする」の設定をしていないとタイムインテリジェンス関数がうまく機能しないことがあるようです。ただし、日付型の日付列でリレーションしていれば「日付テーブルとしてマークする」は必須でもないようです。
--------------------------------------------------
CalendarTable =
var BaseCalendar = CALENDARAUTO()
RETURN
GENERATE(
BaseCalendar,
var BaseDate = [Date]
var YearNumber = YEAR(BaseDate)
var MonthNumber = MONTH(BaseDate)
var DateNumber = DAY(BaseDate)
var DayNumber = WEEKDAY(BaseDate, 1)
RETURN
ROW(
"年_番号", YearNumber,
"年", FORMAT(BaseDate, "yyyy年"),
"月_番号", MonthNumber,
"月", FORMAT(BaseDate, "mm月"),
"年月_番号", FORMAT(BaseDate, "yyyymm"),
"年月", FORMAT(BaseDate, "yyyy年mm月"),
"日_番号", DateNumber,
"日", FORMAT(BaseDate, "dd日"),
"曜日_番号", DayNumber,
"曜日", SWITCH(DayNumber, 1, "日", 2, "月", 3, "火", 4, "水", 5, "木", 6, "金", 7, "土",""),
"相対月数", DATEDIFF(TODAY(), BaseDate, MONTH)
)
)
---------------------------------------------------
Calendar =
ADDCOLUMNS (
CALENDAR (DATE(2000,1,1), DATE(2025,12,31)),
"DateAsInteger", FORMAT ( [Date], "YYYYMMDD" ),
"Year", YEAR ( [Date] ),
"Monthnumber", FORMAT ( [Date], "MM" ),
"YearMonthnumber", FORMAT ( [Date], "YYYY/MM" ),
"YearMonthShort", FORMAT ( [Date], "YYYY/mmm" ),
"MonthNameShort", FORMAT ( [Date], "mmm" ),
"MonthNameLong", FORMAT ( [Date], "mmmm" ),
"DayOfWeekNumber", WEEKDAY ( [Date] ),
"DayOfWeek", FORMAT ( [Date], "dddd" ),
"DayOfWeekShort", FORMAT ( [Date], "ddd" ),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"YearQuarter", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" )
)
---------------------------------------------------
---------------------------------------------------
日付テーブル =
VAR StartDate="2016/04/01"
VAR EndDate="2020/3/31"
VAR Today=UTCTODAY()+9/24
VAR ThisFY=if(MONTH(Today)>3,YEAR(Today),YEAR(Today)-1)
VAR BaseCalendar =CALENDAR (StartDate,EndDate)
RETURN
ADDCOLUMNS(
BaseCalendar,
"年_数値", YEAR ( [Date] ),
"年_yyyy年",FORMAT([Date],"yyyy年"),
"月_数値", MONTH ([Date]),
"月_MM月", FORMAT ([Date], "MM月" ),
"日_数値", DAY ([Date]),
"日_DD日", FORMAT([Date],"DD日"),
"年月_数値", VALUE(FORMAT([Date], "yyyyMM" )),
"年月_yy年MM月", FORMAT ( [Date], "yy年MM月" ),
"年度_数値",if(MONTH([Date])>3,YEAR([Date]),YEAR([Date])-1),
"年度_0年度",FORMAT(if(MONTH([Date])>3,YEAR([Date]),YEAR([Date])-1),"0年度"),
"年度四半期_数値", if(MONTH([Date])<4,4,if(MONTH([Date])<7,1,if(MONTH([Date])<10,2,3))),
"年度四半期_0Q", if(MONTH([Date])<4,"4Q",if(MONTH([Date])<7,"1Q",if(MONTH([Date])<10,"2Q","3Q"))),
"週_数値", WEEKNUM ( [Date], 1 ),
"週_第00週", FORMAT ( WEEKNUM ( [Date], 1 ), "第00週" ),
"曜日番号月曜から_数値", WEEKDAY ( [Date], 2 ),
"曜日_aaa", FORMAT([Date],"aaa"),
"日と曜日", FORMAT ( [Date], "DDaaa" ),
"相対日付",DATEDIFF(Today,[Date],DAY),
"相対月",DATEDIFF(Today,[Date],MONTH),
"相対年度",if(MONTH([Date])>3,YEAR([Date])-ThisFY,YEAR([Date])-1-ThisFY)
)
---------------------------------------------------
https://docs.microsoft.com/ja-jp/learn/modules/dax-power-bi-add-calculated-tables/1-introduction
Google アナリティクスの「すべてのページ」別にコンバージョン率を見ることができなかったので、「すべてのページ」と「ランディング ページ」の違いを調べてみました。
この違いについて解説しているサイトがあまり多くなかったので、備忘録としてまとめてみました。
Google アナリティクスの標準の分析メニューで、「ランディング ページ」別に「コンバージョン率」や「目標の完了数」を見ることができますが、「すべてのページ」別に「コンバージョン率」や「目標の完了数」を見ることはできません。
また、 Google アナリティクスの標準の分析メニューで、「すべてのページ」別に「ページビュー数」を見ることができますが、「ランディング ページ」別に「ページビュー数」を見ることはできません。
同じ「ページ」という単語が使われているものの、「すべてのページ」と「ランディング ページ」ではデータの種類(レベル)が異なっています。
「すべてのページ」はヒットレベル、「ランディング ページ」はセッションレベルでデータをカウントしています。
「コンバージョン率」や「目標の完了数」は、セッションレベルのデータなので、「ランディング ページ」と組み合わせて見ることができます。
一方、ヒットレベルのデータである「すべてのページ」の「ページ」と「コンバージョン率」「目標の完了数」を組み合わせてデータを見ることはできません。
なお、カスタムレポートを作成すれば、「ランディング ページ」別の「ページビュー数」を見ることもできますが、その「ページビュー数」の数字は、「すべてのページ」での「ページビュー数」とは異なる場合があります。
セッションレベルの「ランディング ページ」別の「ページビュー数」は、ランディングページを見たセッションでの「ページビュー数」が含まれるので、多くの場合、「ランディング ページ」別の「ページビュー数」の方が多くなっているはずです。
例えば、「Page a → Page b → Page c」というアクセスがあった場合に、Page aの「ページビュー数」は1ですが、「ランディング ページ」別に見た「Page a」の「ページビュー数」は3になります。つまり、「ランディング ページ」別の場合は、「Page a」にアクセスしたセッションでのページビュー数がカウントされていることになります。
なお、上記の例の場合、トータルのページビュー数は、「ランディングページ」から見た場合も、「すべてのページ」から見た場合も「3」ということになります。
「ランディング ページ」というデータ格納場所と、「ページ」というデータ格納場所には異なるデータが保管されている、といったことになるのだと思います。
以上のような例は、GAの標準の分析メニューにないデイメンションと指標の組み合わせでデータを見ようとする場合には注意が必要だということを示しています。
マイナンバーカードを利用して、コンビニで住民票の交付サービスを受けられる自治体のデータポータルの地図でのプロットです。2020年9月26日現在のデータを基にしています。
KW1 <- "ノート パソコン"
KW2 <- "テレワーク"
KW <- c(KW1,KW2)
GO <- "JP"
TM <- "2020-01-01 2020-07-09"
TREND <- gtrends(keyword = KW, geo = GO,time = TM)
plot(TREND)
TRENDEQ_1 <- TREND$related_queries[c(1:50),c(1:4)]
TRENDEQ_2 <- TREND$related_queries[c(51:100),c(1:4)]
TRENDEQ_1$value <- removeWords(TRENDEQ_1$value, c(KW1))
TRENDEQ_2$value <- removeWords(TRENDEQ_2$value, c(KW2))
TRENDEQ_1
## subject related_queries value geo
## 1 100 top おすすめ JP
## 2 97 top パソコン おすすめ JP
## 3 73 top hp JP
## 4 73 top hp パソコン JP
## 5 69 top hp JP
## 6 66 top pc JP
## 7 65 top ノート pc JP
## 8 49 top dell JP
## 9 49 top dell JP
## 10 49 top dell パソコン JP
## 11 42 top 価格 JP
## 12 38 top 中古 JP
## 13 38 top 中古 パソコン JP
## 14 37 top 富士通 JP
## 15 37 top 富士通 パソコン ノート JP
## 16 35 top 富士通 パソコン JP
## 17 35 top nec JP
## 18 34 top nec パソコン JP
## 19 34 top nec JP
## 20 30 top キーボード JP
## 21 29 top マウス JP
## 22 29 top キーボード JP
## 23 27 top 安い JP
## 24 26 top パソコン 安い JP
## 25 21 top windows10 JP
## 26 Breakout rising カメラ 付き JP
## 27 +3,650% rising nec lavie direct ns JP
## 28 +2,900% rising hp スクリーン ショット JP
## 29 +450% rising apex JP
## 30 +300% rising クローム ブック JP
## 31 +200% rising マイク JP
## 32 +200% rising 大学生 おすすめ JP
## 33 +200% rising 大学生 JP
## 34 +170% rising cad JP
## 35 +160% rising 古い JP
## 36 +160% rising 大 画面 JP
## 37 +150% rising 有線 lan JP
## 38 +150% rising モニター 接続 JP
## 39 +140% rising gpu JP
## 40 +120% rising プリント スクリーン JP
## 41 +120% rising google JP
## 42 +110% rising カメラ JP
## 43 +110% rising フォート ナイト JP
## 44 +110% rising ヒューレット パッカード JP
## 45 +100% rising 14 インチ JP
## 46 +80% rising 掃除 JP
## 47 +80% rising ipad pro JP
## 48 +80% rising ドンキホーテ JP
## 49 +80% rising キーボード 修理 JP
## 50 +80% rising マック ブック JP
TRENDEQ_2
## subject related_queries value geo
## 51 100 top コロナ JP
## 52 77 top 助成 金 JP
## 53 48 top 在宅 JP
## 54 46 top リモート JP
## 55 43 top 意味 JP
## 56 39 top 東京 JP
## 57 34 top リモート ワーク JP
## 58 32 top リモート ワーク JP
## 59 32 top 在宅 勤務 JP
## 60 30 top 在宅 勤務 JP
## 61 25 top 導入 JP
## 62 23 top 企業 JP
## 63 19 top 求人 JP
## 64 19 top システム JP
## 65 18 top 補助 金 JP
## 66 18 top パソコン JP
## 67 17 top 日本 JP
## 68 17 top 会議 JP
## 69 17 top コロナ ウイルス JP
## 70 17 top 英語 JP
## 71 17 top 東京 都 JP
## 72 16 top ホテル JP
## 73 14 top の 意味 JP
## 74 14 top 東京 助成 金 JP
## 75 13 top シン JP
## 76 Breakout rising コロナ JP
## 77 Breakout rising コロナ ウイルス JP
## 78 Breakout rising の 意味 JP
## 79 Breakout rising コロナ 助成 金 JP
## 80 Breakout rising zoom JP
## 81 Breakout rising zoom JP
## 82 Breakout rising カメラ JP
## 83 Breakout rising vpn JP
## 84 Breakout rising デスク JP
## 85 Breakout rising 椅子 JP
## 86 Breakout rising シン システム JP
## 87 Breakout rising 背景 JP
## 88 Breakout rising イヤホン JP
## 89 Breakout rising グッズ JP
## 90 Breakout rising 銘柄 JP
## 91 Breakout rising アパホテル JP
## 92 Breakout rising 解除 JP
## 93 Breakout rising リモート ワーク 違い JP
## 94 Breakout rising wifi JP
## 95 Breakout rising 語源 JP
## 96 Breakout rising 支援 金 JP
## 97 Breakout rising リモート ワーク と は JP
## 98 Breakout rising 必要 な もの JP
## 99 Breakout rising ストレス JP
## 100 Breakout rising 公務員 JP
TREND$interest_by_region
## location hits keyword geo gprop
## 1 Yamanashi Prefecture 100 ノート パソコン JP web
## 2 Kanagawa Prefecture 98 ノート パソコン JP web
## 3 Chiba Prefecture 98 ノート パソコン JP web
## 4 Nara Prefecture 97 ノート パソコン JP web
## 5 Saitama Prefecture 96 ノート パソコン JP web
## 6 Hyogo Prefecture 95 ノート パソコン JP web
## 7 Tokyo 95 ノート パソコン JP web
## 8 Ishikawa Prefecture 94 ノート パソコン JP web
## 9 Shimane Prefecture 92 ノート パソコン JP web
## 10 Tokushima Prefecture 92 ノート パソコン JP web
## 11 Shiga Prefecture 92 ノート パソコン JP web
## 12 Toyama Prefecture 92 ノート パソコン JP web
## 13 Ibaraki Prefecture 91 ノート パソコン JP web
## 14 Gunma Prefecture 91 ノート パソコン JP web
## 15 Okinawa Prefecture 91 ノート パソコン JP web
## 16 Gifu Prefecture 90 ノート パソコン JP web
## 17 Aichi Prefecture 90 ノート パソコン JP web
## 18 Yamaguchi Prefecture 90 ノート パソコン JP web
## 19 Nagano Prefecture 90 ノート パソコン JP web
## 20 Osaka Prefecture 89 ノート パソコン JP web
## 21 Kyoto Prefecture 89 ノート パソコン JP web
## 22 Niigata Prefecture 89 ノート パソコン JP web
## 23 Wakayama Prefecture 89 ノート パソコン JP web
## 24 Okayama Prefecture 89 ノート パソコン JP web
## 25 Kagawa Prefecture 88 ノート パソコン JP web
## 26 Kochi Prefecture 88 ノート パソコン JP web
## 27 Fukuoka Prefecture 88 ノート パソコン JP web
## 28 Kumamoto Prefecture 87 ノート パソコン JP web
## 29 Yamagata Prefecture 87 ノート パソコン JP web
## 30 Fukui Prefecture 87 ノート パソコン JP web
## 31 Iwate Prefecture 86 ノート パソコン JP web
## 32 Tottori Prefecture 86 ノート パソコン JP web
## 33 Hokkaido Prefecture 85 ノート パソコン JP web
## 34 Tochigi Prefecture 85 ノート パソコン JP web
## 35 Kagoshima Prefecture 85 ノート パソコン JP web
## 36 Hiroshima Prefecture 85 ノート パソコン JP web
## 37 Ehime Prefecture 82 ノート パソコン JP web
## 38 Miyazaki Prefecture 82 ノート パソコン JP web
## 39 Nagasaki Prefecture 82 ノート パソコン JP web
## 40 Shizuoka Prefecture 81 ノート パソコン JP web
## 41 Mie Prefecture 81 ノート パソコン JP web
## 42 Akita Prefecture 80 ノート パソコン JP web
## 43 Saga Prefecture 80 ノート パソコン JP web
## 44 Fukushima Prefecture 80 ノート パソコン JP web
## 45 Oita Prefecture 77 ノート パソコン JP web
## 46 Aomori Prefecture 77 ノート パソコン JP web
## 47 Miyagi Prefecture 77 ノート パソコン JP web
## 48 Tokyo 100 テレワーク JP web
## 49 Kanagawa Prefecture 71 テレワーク JP web
## 50 Chiba Prefecture 58 テレワーク JP web
## 51 Saitama Prefecture 56 テレワーク JP web
## 52 Osaka Prefecture 53 テレワーク JP web
## 53 Hyogo Prefecture 47 テレワーク JP web
## 54 Aichi Prefecture 47 テレワーク JP web
## 55 Kyoto Prefecture 47 テレワーク JP web
## 56 Fukuoka Prefecture 46 テレワーク JP web
## 57 Nara Prefecture 46 テレワーク JP web
## 58 Ishikawa Prefecture 45 テレワーク JP web
## 59 Fukui Prefecture 45 テレワーク JP web
## 60 Miyagi Prefecture 44 テレワーク JP web
## 61 Ibaraki Prefecture 42 テレワーク JP web
## 62 Toyama Prefecture 42 テレワーク JP web
## 63 Shiga Prefecture 42 テレワーク JP web
## 64 Hiroshima Prefecture 41 テレワーク JP web
## 65 Hokkaido Prefecture 40 テレワーク JP web
## 66 Nagano Prefecture 39 テレワーク JP web
## 67 Kagawa Prefecture 39 テレワーク JP web
## 68 Shizuoka Prefecture 38 テレワーク JP web
## 69 Wakayama Prefecture 38 テレワーク JP web
## 70 Okinawa Prefecture 37 テレワーク JP web
## 71 Yamanashi Prefecture 36 テレワーク JP web
## 72 Gunma Prefecture 36 テレワーク JP web
## 73 Tochigi Prefecture 36 テレワーク JP web
## 74 Tokushima Prefecture 35 テレワーク JP web
## 75 Gifu Prefecture 35 テレワーク JP web
## 76 Niigata Prefecture 35 テレワーク JP web
## 77 Kumamoto Prefecture 35 テレワーク JP web
## 78 Okayama Prefecture 35 テレワーク JP web
## 79 Mie Prefecture 34 テレワーク JP web
## 80 Ehime Prefecture 33 テレワーク JP web
## 81 Iwate Prefecture 33 テレワーク JP web
## 82 Akita Prefecture 32 テレワーク JP web
## 83 Saga Prefecture 32 テレワーク JP web
## 84 Yamagata Prefecture 31 テレワーク JP web
## 85 Nagasaki Prefecture 31 テレワーク JP web
## 86 Fukushima Prefecture 30 テレワーク JP web
## 87 Yamaguchi Prefecture 30 テレワーク JP web
## 88 Oita Prefecture 30 テレワーク JP web
## 89 Shimane Prefecture 29 テレワーク JP web
## 90 Kochi Prefecture 29 テレワーク JP web
## 91 Miyazaki Prefecture 29 テレワーク JP web
## 92 Aomori Prefecture 27 テレワーク JP web
## 93 Kagoshima Prefecture 26 テレワーク JP web
## 94 Tottori Prefecture 24 テレワーク JP web
## png
## 2
## png
## 2