3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPAAdvent Calendar 2024

Day 14

Power Apps での月初日 / 月末日の取得方法

Last updated at Posted at 2024-12-13

ごきげんよう、百合宮桜です。
このブログは「RPA Advent Calendar 2024」の 14日目 の記事です。
業務改善だったらなんでも良いみたいなので、空気はスルーして、Power Apps の記事を書きます(≧▽≦)

他の皆さんの記事はこちら↓からよめますので、ぜひどうぞ!

皆さん、Power Apps の関数(Power Fx)って実は徐々に増えているのはご存じですか?
そして新しい関数がリリースされたことにより、より短く簡単な式で目的の値を取り出すことができるようになってきています(≧▽≦)
今回はその代表例である月初日 / 月末日の取得方法をお伝えします。

月初日の取得方法

2024年の初め頃に追加された EOMonth 関数を利用した方法です。
EOMonth 関数は指定した日時に、指定した月数を加算し、日にちを月末に移動します。
詳細は以下のドキュメントページをご覧ください。

この EOMonth 関数と DateAdd 関数を利用すると、簡単に月初日が取得できます。

DateAdd(EOMonth(Today(),-1),1,TimeUnit.Days)
  1. Today 関数で今日の日付を取得
  2. EOMonth 関数で先月末(EX: 今日が12月13日なら、先月末は11月30日)の日にちを取得
  3. DateAdd 関数で 2 で取得した日付に+1日追加(EX: 11月30日を取得したら、1日追加で12月1日になる)

ちなみに EOMonth 関数が出る以前はどうやっていたかというと、こんな感じでした↓

DateAdd(
    DateAdd(
        Today(),
        -Day(Today())
    ),
    1,
    TimeUnit.Days
)

先月末の日付を出して、その翌日が今月1日という算出ロジックは今と同じですが、今よりもややこしく長い式でした💦

月末の取得方法

月末の取得方法はとてもシンプルです。

EOMonth(Today(), 0 )

今日の日付に0か月足して、月末の日にちに移動させるだけ!
EOMonth 関数ではデフォルトで月末の日にちに移動するので、引数による指定は不要です。

ちなみにこれも以前の方法はかなり複雑です。

//来月の初日の1日前(つまり今月末日)を取得
DateAdd(
    //来月の初日を取得
    DateAdd(
        //今月の初日を取得
        DateAdd(DateAdd(Today(),-Day(Today())),1,TimeUnit.Days),
        1,
        TimeUnit.Months
    ),
    -1,
    TimeUnit.Days
)

まあ、めんどうですこと!

終わりに

Power Platform はアップデートが速く、追うのは大変かもしれません。
ただ、このように徐々に誰にでも使いやすい方向にアップデートされています。
関数の式が短く簡単になれば、Power Apps を使おうと思う人も増えるかもしれません。
使う人が増えれば、自分が作らなくても誰かが作ってくれる、あるいは分担して作ることができる……かもしれません。
所属組織やご自身のより良い未来のために、ぜひ定期的にアップデート情報の取得やアプリメンテナンスに取り組んでみてくださいね('ω')ノ

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?