Jadefum1014
@Jadefum1014

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

任意条件の日付を抽出する(Power BI)

解決したいこと

任意条件での日付を抽出したいのですがうまくきいません。

Power BIで営業実績の日計集計レポートを作成しています。
実績の締め日がその月の最終営業日から二営業日前(最終受注日)であり、その日を基準として集計を行う為に各月の最終受注日を抽出しようとしています。
大変お恥ずかしいのですがまだ初心者でDAX式を十分理解出来ていません。
ChatGPTを使いながらコードを作成してみましたがうまくいきません。
うまく0,1で結果を返せる方法を教えて頂けますと幸いです。

発生している問題・エラー

最終受注日を1、そうでない日を0としたいが全て1になってしまう。

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

受注最終日 = 
VAR LastBusinessDay =
    CALCULATE(
        MAX('日付テーブル'[Date]),
        FILTER(
            '日付テーブル',
            '日付テーブル'[Date] <= EOMONTH(TODAY(), 0) &&
            '日付テーブル'[営業日] = 1
        )
    )
var BusinessDaysBeforeLast = 
FILTER(
    '日付テーブル',
    '日付テーブル'[Date] < LastBusinessDay &&
    '日付テーブル'[営業日] = 1
)
VAR SecondLastBusinessDay =
   MAXX(
    TOPN(2,BusinessDaysBeforeLast,'日付テーブル'[Date],DESC),
    '日付テーブル'[Date]
)
RETURN
IF(ISBLANK(SecondLastBusinessDay), 0, 1)


0

1Answer

現状のソースコードだと、「今日より前の日付の最終受注日が存在するか?」というような意味合いになるので、ほとんどの場合1になるかと。(例えば、今日が日付テーブルの初日ならようやく0になる)

やりたいことは、今日が最終受注日かどうかだと思うので、RETURNを

IF(TODAY() = SecondLastBusinessDay, 1, 0)

とするとよいのではないでしょうか。

0Like

Comments

  1. @Jadefum1014

    Questioner

    ご回答ありがとうございました!
    そのような意味になるんですね
    どうにか先に進めそうです。

  2. 解決したいことの文面から察するに、本当は日付テーブルに受注締め日という列がほしいのではないでしょうか?(違ったらすみません)
    話を簡単にするために、月~金が営業日と仮定すると、

    Date 営業日 受注最終日 受注締め日
    2024-06-26 1 0 2024-06-27
    2024-06-27 1 1 2024-06-27
    2024-06-28 1 0 2024-07-30
    2024-06-29 0 0 2024-07-30
    2024-06-30 0 0 2024-07-30
    2024-07-01 1 0 2024-07-30

    のようなイメージです。

Your answer might help someone💌