質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Power BI

Power BIは、マイクロソフト社が提供しているBIツールです。レポートの作成・共有、エクセルや会計システムなどさまざまなソフトウエアのデータをグラフやチャートに変換。データの分析・解析などにも利用できます。

Q&A

解決済

2回答

4149閲覧

PowerBIで前月累計をカード表示する方法について

syasai

総合スコア5

Power BI

Power BIは、マイクロソフト社が提供しているBIツールです。レポートの作成・共有、エクセルや会計システムなどさまざまなソフトウエアのデータをグラフやチャートに変換。データの分析・解析などにも利用できます。

0グッド

0クリップ

投稿2021/10/01 03:23

編集2021/11/02 10:50

Power BIで前月に機械が設置された台数をカードに表示したいのですが、以下のDAX式だと空白になります。
月末は正しく表示されていたのですが、月初めになると空白になります。
おそらく今日の日付までの累計になるためだと思います(例えば今日が10/3なら、9/1〜9/3までの累計になる )
今日が1日だろうと31日だろうと、前月1日〜月末までの累計を出すにはどうすれば良いのでしょうか?

Power

1 2設置台数合計 = count('設置_info'[機械NO]) 3設置台数月度累計(先月) = CALCULATE('設置_info'[設置台数合計],DATEADD(DATESMTD('Calendar'[Date]),-1,MONTH)) 4

11/2追加 )
11/2時点のエラー画面です。リンク内容

DAXは以下の式にしています。
Calendar(設置) = CALENDAR("2021/7/1", TODAY())
設置台数合計 = COUNTA('MIF_info'[機械NO])
先月設置台数 = CALCULATE('MIF_info'[設置台数合計],PREVIOUSMONTH('Calendar(設置)'[Date]))

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

すみません、コメントに画像が添付できないようなので、こちらで添付します。

イメージ説明

投稿2021/10/04 11:52

mhoby_vt

総合スコア225

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

設置台数月度累計(先月) = CALCULATE('設置_info'[設置台数合計],PREVIOUSMONTH('Calendar'[Date])

こちらではどうでしょうか?

投稿2021/10/01 13:07

編集2021/10/01 13:17
mhoby_vt

総合スコア225

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syasai

2021/10/04 10:52

アドバイスいただき、ありがとうございます。 試してみましたが、空白となりダメでした。 関係あるか分かりませんが、calendarは以下のDAXで作成しています。 Calendar = CALENDAR("2021/7/1", TODAY()) 昨日、今日、明日と日にちが経つにつれて前月設置台数の数値が変わったり、また機械のモデル(Aモデル、Bモデル・・・とあります )のスライサーを作って前月設置0台のモデルを未選択にしただけでも変わることがあります。 データを見ているのが10/4でも、明日の10/5でも関係なく9/1〜9/30の合計が出せれば良いのですが…。 よろしくお願いします。
mhoby_vt

2021/10/04 11:50

簡単ですが、2021/9/1~2021/10/31までの日付と、台数を記載したテストテーブルを作成し、回答のメジャーを作成し実装してみましたが、10月のどの日を選んでも、9月の累計が表示されます。 メジャーではなく、他に要因があるのではないか(データの構造など)と思います。 もし可能であれば、どのようなデータなのか簡単にサンプルを頂きたいです。 ![イメージ説明](fb9188e9e5fc6bbd1fe414e6727002dc.png)
syasai

2021/10/05 03:17

サンプルデータのCSVを下記にコピペします。 実際には他にもカラムがありますが、今回のDAXに使っていないためカットしてます。 一つ説明漏れていたことがありますので、このあとのコメントで補足させて頂きます。 機械NO,設置日,モデル 990008,'210913,Type-A 990009,'210831,Type-A 990016,'210827,Type-A 990003,'210715,Type-B 990004,'210927,Type-B 990006,'210923,Type-C 990007,'210918,Type-D 990008,'210922,Type-E 990010,'210922,Type-C 990012,'210922,Type-C 990013,'210903,Type-E 990015,'210806,Type-B 990018,'210720,Type-B 990019,'210923,Type-C 990020,'210721,Type-B 990021,'210909,Type-B 990024,'210922,Type-D 990025,'210830,Type-B 990026,'210929,Type-C 990027,'210929,Type-D 990032,'210929,Type-D 990034,'210921,Type-C 990040,'210924,Type-D 990042,'210929,Type-C 990002,'210715,Type-B 990006,'210929,Type-C 990009,'210925,Type-C 990014,'210925,Type-C 990019,'210914,Type-C 990027,'210922,Type-C
syasai

2021/10/05 03:27

設置日はPower Query エディタで以下の処理をしています。 ・値の置換で'を20に置換しています。 ・データ形式を日付に変更しています。 例えば、モデルをスライサーにしてtype-Bを未選択にすると、前月設置台数のカードは1となります。が正しくは20になるはずだと思います。 よろしくお願いします。
mhoby_vt

2021/10/08 12:40

日付スライサー,モデルスライサー以外にスライサーがあったりしますでしょうか? 恐らくですが、Type-B以外を選択後、日付スライサーで日付選択をしているのだと思われますが、例えば10/3を選択した際に、10/3が設置日のモデルがType-Eのみであるため、Type-Eの前月台数が表示されてしまっているような状態なのではないでしょうか? 私の方で試したところ、モデルスライサーでモデルを選択後、日付スライサーで日付を10月のどの日を選択しても、問題なく前月台数が表示されました。 他に存在しているスライサーが邪魔している可能性はないですかね?
syasai

2021/10/18 09:44

ありがとうございます。 スライサーはモデル以外にはありません。 ただ、怪しいところが見つかりました。 設置データベースとは別に設置後メンテナンスの訪問履歴のデータベースも読み込ませており、設置データベースの設置日と訪問履歴データベースの訪問日の両方をDAXで作成したcalendarとリレーション設定しています。 訪問日用のcalendarをDAXで新たに作って、リレーションを移し替えたら表示は上手くされているような気がします。 一応毎日の更新によって表示が問題ないか確認しています。 元々問い合わせさせていただいたCALUCULATEの式には訪問履歴データベースのデータを一切使っていないため問題ないかと思っており、前提の説明からも割愛してしまっていました。 やはり、これがダメだったのでしょうか? いずれにしても最初の前提の説明が不十分でお手数をおかけしてしまい申し訳ございません。 このまま問題がなければベストアンサーつけさせていただき解決済みにするようにします。
syasai

2021/11/02 10:57

ご報告が遅くなり申し訳ございません。 スライサーを使った時に正しい表示がされないことは解消しましたが、月初めに空白になる事象は直りませんでした。 しかし、本文に写真のリンクを付けましたが、先月設置台数を表で表示すると正しく計算されているように思います。この場合はなぜカードだと空白と表示されてしまうのでしょうか?
mhoby_vt

2021/11/02 12:54

「月初めに空白」というのは、頂いた画面で言うと、スライサーで11/1を選択時ということでしょうか? 画像を見たところ、日付のスライサーで何も選択していないように見えるのですが、もし選択していない場合、いつの前月分を表示するかが指定されていないため、カードでは空白となります。 表では、日付の項目があるため、各日付の前月分が表示されます。
syasai

2021/11/04 03:28

日付は指定していませんでした。 常に今日の日付に対して先月の設置台数を表示したかったため、カードに対してフィルターで"現在の月"と指定することで正しく表示されるようになりました。 カードの使い方についても大変勉強になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問