ホーム › フォーラム › Power BI › Power BI Desktop › テーブル内から人物が同一かつ前月の項目を別列として作成したい…
タグ: #PowerBI
-
投稿者投稿
-
2019-08-23 22:06 #4605tsk参加者::
お世話になります。
以下のようなデータテーブルを所有しております。
お客様id,売上年月,月次の売上金額
xxxx1,201902,10000
xxxx1,201903,5000
yyyy2,201901,8000
zzzz3,201902,10000
…
※お客様idと売上年月でレコードは一意になっている前提このテーブルに対し、以下のような列を追加したいとき、どのようなdax式を組めば追加可能でしょうか。
お客様id,売上年月,月次の売上金額,前月,前月売上
xxxx1,201902,10000,201901,0※該当お客様の前月売上がないため
xxxx1,201903,5000,201902,10000
yyyy2,201901,8000,201812,0
zzzz3,201902,10000,201901,0
…同一のお客様idであり、なおかつ売上年月の1ヶ月前のレコードがある場合、前月レコードの月次の売上金額を列項目として挿入したいです。
なかなか関数を使いこなせず、良い方法や他のアプローチがありましたら、ご教示いただけますと幸いです。
- このトピックはtskが4年、 8ヶ月前に変更しました。
2019-08-24 12:51 #4617Takeshi Kagataメンバー2019-08-24 17:34 #4618tsk参加者::Takeshi Kagataさん
ありがとうございます。
テーブルビジュアルのイメージは
https://road2cloudoffice.blogspot.com/2017/04/power-bi-desktop.html?m=1
が近いでしょうか。試してみます。懸念点としては
後出しの話で大変失礼しますが、
行見出しとなるお客様idの数が実際はかなりの数ありますので、
売上年月とのかけ合わせで
テーブルビジュアルにした際に行数がかなり大量になってしまうのではないか、ということと、この質問をさせていただいた最終目的として
お客様id毎の前月の売上→当月の売上規模をランク化
(例月50万円以上→7、10万以上→6…)
し、ランク上昇/下降/維持を当月ランクと前月ランクを比較し算出し、
月毎の推移を見たい、というものがあり
そのif比較が難しそうだと思いました。テーブルビジュアルでも実現可能なものでしょうか。
2019-08-25 00:54 #4619Takeshi Kagataメンバー2019-08-26 08:47 #4620tsk参加者::Takeshi Kagataさん
私の説明が度々不足している中、お付き合いいただきありがとうございます。
浅学で誤りがあったら申し訳ありませんが
メジャーの定義をすると、ビジュアル内で、軸や凡例としては利用できない、という認識です。追加情報含め、ゴールイメージを振り返りますと
お客様id,売上年月,月次の売上金額,前月,前月売上,ランク増減
xxxx1,201902,10000,201901,0,維持
xxxx1,201903,5000,201902,10000,上昇
yyyy2,201901,8000,201812,0,維持
zzzz3,201902,10000,201901,0,維持
…
のようなテーブルの状態で横軸:売上年月 & ランク増減
値:お客様idのカウントを棒グラフのビジュアルでとりたいのですが、
となると、やはり列としての定義が必要な気もしております。2019-08-26 15:49 #4621Takeshi Kagataメンバー::> 私の説明が度々不足している中、お付き合いいただきありがとうございます。
> 浅学で誤りがあったら申し訳ありませんが
お気持ちは大事ですよね。でも、申し訳なく思う必要はないと思います。> メジャーの定義をすると、ビジュアル内で、軸や凡例としては利用できない、という認識です。
ビジュアル次第です。メジャーで集計される“値” が見出し/凡例に使えないだけで、凡例をセットせず複数のメジャーを値フィールドにセットするとメジャー名を凡例として利用できるでしょう。・ランクというと別の意味にも取れてしまうからクラス分け/ビニングですが、これは計算列でよいかと。データソース側でも集計できる可能性もありますし。
・”売上年月” は 日付/時刻型 の方が前月とか計算が安易になる可能性が高いかなと
・カウントを返す関数は 列を指定する COUNT / DISTINCTCOUNT などや テーブル および テーブル式 を指定できる COUNTROWS などいろいろです。2019-08-26 20:33 #4622Ume参加者::コメント失礼します。
SUMMARIZECOLUMNS関数でやってみました。要件には合致していますでしょうか?
この方法だと年月を選べば動的に起点を切り替えることが可能ですし、X軸に年月を置けば時系列の推移も把握可能です。
要件を拝見した際、Powerqueryで集計する方法が浮かびましたが、DAXでなんとなからないかと考えていたら、
以前に似たようなレポートを作っていたのをすっかり失念しておりました。忘れていた記憶を呼び戻す良い機会になりありがたかったです。データはkagataさんのテンプレートファイルを早速使わせていただきました。こちらもありがとうございました。
- この返信は4年、 8ヶ月前にUmeが編集しました。
2019-08-27 15:36 #4629Takeshi Kagataメンバー::そう、Excel ワークシートのようにセルを参照ということはできないから、”集計” して結果を得るという考え方が大事です。
メジャーで定義してならの方針としては、
・仮想テーブルに対し列(前月)を追加する。
・仮想テーブルの列(当月と前月)を評価した結果を用いて仮想テーブルにフィルタを適用する。
・で、行数をカウント
という感じでしょう。データモデルの変更などができないこともあるから、メジャーを定義するということも選択肢としてあった方がよいかと。
“どっちがいいんですか🤔どっちを勉強したらいいんですか💢”
って質問が必ずといっていいほどでてくるんですけど、
“どっちも大事です💢どっちも勉強してください💢”
だと思ってます。2019-08-31 18:02 #4634 -
投稿者投稿
- このトピックに返信するにはログインが必要です。