実現したいこと
PowerQueryで、「現在日付を起点とした、前下半期~今年度末」(今ですと2022/10~2024/3)をフィルターして取得したいのですが、苦戦しております。
どなたかご存じの方教えて頂けますと助かります。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
「現在日付を起点とした、前下半期~今年度末」(今ですと2022/10~2024/3)をフィルターして取得したい
とりあえず、Excel上でPowerQueryを使用する場合。
PowerQuery
1let 2 //現在のシステム日時を取得 3 CurrentDateTime = DateTime.FixedLocalNow(), 4 //その年を取得 5 CurrentYear = Date.Year(CurrentDateTime), 6 //その月が4月より前である場合は -1 を、4月以降である場合は 0 を年に加えた結果を今期会計年度とする 7 FiscalYear = CurrentYear + (if Date.Month(CurrentDateTime) < 4 then -1 else 0), 8 //前期会計年度の下半期の期首日を抽出範囲の開始値として取得 9 StartDate = #date(FiscalYear - 1, 10, 1), 10 //今期会計年度の期末日を抽出範囲の終了値として取得 11 EndDate = #date(FiscalYear + 1, 3, 31), 12 //現在のブックから任意のテーブルを参照する 13 Source = Excel.CurrentWorkbook(){[Name="テーブル名"]}[Content], 14 //テーブルに含まれる[日付]列を date 型に型変換する 15 ChangedType = Table.TransformColumnTypes(Source,{{"日付", type date}}), 16 //[日付]列の値が上記の範囲に含まれるレコードを抽出する 17 FilteredRows = Table.SelectRows(ChangedType, each ([日付] >= StartDate and [日付] <= EndDate)) 18in 19 FilteredRows
投稿2023/06/02 06:42
総合スコア1070
0
ベストアンサー
当方の環境ではこんな感じでできそうでした。
m
1 cd = DateTime.LocalNow(), 2 フィルターされた行 = Table.SelectRows(変更された型, each [対象列] >= Date.StartOfQuarter(Date.AddQuarters(cd,Number.Mod(5-Date.QuarterOfYear(cd),4)-5)) and [対象列] <= Date.EndOfQuarter(Date.AddQuarters(cd,Number.Mod(5-Date.QuarterOfYear(cd),4))))
投稿2023/06/02 05:43
総合スコア37413
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。