[[20220627113135]] 『パワークエリ Date.ToText のフォーマットなどで』(まっち) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パワークエリ Date.ToText のフォーマットなどで和暦表示可能ですか』(まっち)

西暦で日付データが入っているものを
和暦で変換・表示したいのです。

2022/4/1 → R4/4/1 みたいにしたいのです。

Date.ToText([日付],"gyy/M/d")とやると
西暦22/4/1 と表示されたので、もしかして和暦で
表示する機能があるのではと、様々なサイトや掲示板を
放浪したのですが、見当たりません。

年を抽出してifで引き算みたくするしかないのでしょうか。

よい方法をご存じの方、教えてください。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


"gyy/M/d" → "ge/M/d" ?
(ufj) 2022/06/27(月) 14:05

どういう場面でクエリの中で日付型を文字列の和暦に変換しないといけない
処理が必要になるんですか?

単純に考えて日付型のまま計算し続けて読み込んだテーブル上で和暦に変換
すればいいように思いますが。
(d-q-t-p) 2022/06/27(月) 14:31


ご連絡ありがとうございます。
おっしゃるとおり、日付型のまま計算し続けて読み込んだテーブル上で和暦に変換すればOKなのです。

しかしながら、マクロ禁止が禁止され、パワークエリで対応しているところです。
引継ぎやパソコン得意でないアルバイトさんのために、CSVファイルをダウンロードだけすれば、結果が自動で出力するものを作成しています。

マクロで、ファイルの当日がR4.6と一致している場合という訳のわかない条件が設定しており、和暦の年と月だけを抽出して、ファイルを開けた日の年月と対査するという流れを再現させたいのです。
(なんでそんな面倒なことを!と言われてしまうとそのとおりですとしか・・・)

ちなみに今は以下のような感じで条件訳の引き算でなんとか対応してます。
(条件付きでコードを残すと引継ぎ後が不安なので、何かもともとの機能でできないか探しているのです。)

追加されたカスタム = Table.AddColumn(今月1日, "和暦計算", each Date.Year([今月1日])),
変更された型1 = Table.TransformColumnTypes(追加されたカスタム,{{"和暦計算", type number}}),
追加されたカスタム1 = Table.AddColumn(変更された型1, "令和", each [和暦計算]-2018),
(まっち) 2022/06/27(月) 15:35


Date.IsInCurrentMonthが利用できませんか。

(マナ) 2022/06/27(月) 16:00


> ファイルの当日がR4.6と一致している場合
比較できればいいんだから逆に「R4.6」を日付型に変換したらどうですか?
「Date.From("R4.6" & ".1")」で簡単に西暦にできますけど。
(d-q-t-p) 2022/06/27(月) 16:06

解決策が提示されたようですので、余談です。

| Date.ToText([日付],"gyy/M/d")とやると
| 西暦22/4/1 と表示されたので
確かにこうなりますね。
しかし、これは日本人に「西暦を使いなよ」と言っている気がします。

Culture="jp-JP"としていくつか実験してみましたが、
localisation(現地対応)をMS社が本気でやっている気がしません。

ですから、R4.6をむしろ西暦に直して対応するのが本筋かもしれません。

しかし、それも迂遠な気がして、マナさんのDate.IsInCurrentMonthでできるなら、
それがベストな気がします。

(γ) 2022/06/27(月) 16:28


御礼!!

Date.IsInCurrentMonth
「システム上の現在の日時によって決定される現在の月にこの日付が含まれるかどうかを示します。」

正にこれです。
ありがとうございます。

助かりました。
(まっち) 2022/06/28(火) 10:30


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.