[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パワークエリ 生年月日の入力値を変更』(じあ)
パワークエリ初心者です。
パワークエリ内で生年月日に入力されている値を変更したいです。
現在、入力されている値は
3480525
4050114
のように3が昭和、4が平成といった数値+和歴で値が入力されています。
これを
19730525
19930114
のように西暦に変更したいです。
やり方をご教授お願いします。
< 使用 Excel:Office365、使用 OS:Windows10 >
練習問題としてやってみました。 カスタム関数とかにすれば、いいのかもしれませんが。
let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"生年月日", Text.Type}}), 挿入された最初の文字 = Table.AddColumn(変更された型, "最初の文字", each Text.Start(Text.From([生年月日], "ja-JP"), 1), type text), 追加された条件列 = Table.AddColumn(挿入された最初の文字, "和暦文字", each if [最初の文字] = "3" then "S" else if [最初の文字] = "4" then "H" else if [最初の文字] = "5" then "R" else null), 削除された列 = Table.RemoveColumns(追加された条件列,{"最初の文字"}), 挿入された最後の文字 = Table.AddColumn(削除された列, "最後の文字", each Text.End(Text.From([生年月日], "ja-JP"), 6), type text), 位置によって分割された列 = Table.SplitColumn(挿入された最後の文字, "最後の文字", Splitter.SplitTextByRepeatedLengths(2), {"最後の文字.1", "最後の文字.2", "最後の文字.3"}), 変更された型1 = Table.TransformColumnTypes(位置によって分割された列,{{"最後の文字.1", Text.Type}, {"最後の文字.2", Text.Type}, {"最後の文字.3", Text.Type}}), 結合された列 = Table.CombineColumns(変更された型1,{"最後の文字.1", "最後の文字.2", "最後の文字.3"},Combiner.CombineTextByDelimiter("/", QuoteStyle.None),"結合済み"), 結合された列1 = Table.CombineColumns(結合された列,{"和暦文字", "結合済み"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"結合済み.1"), 変更された型2 = Table.TransformColumnTypes(結合された列1,{{"結合済み.1", type date}}), 変更された型3 = Table.TransformColumnTypes(変更された型2,{{"結合済み.1", type text}}), 置き換えられた値 = Table.ReplaceValue(変更された型3,"/","",Replacer.ReplaceText,{"結合済み.1"}) in 置き換えられた値 (´・ω・`) 2021/09/22(水) 10:26
関数を作ってみました どっちがいいのかはわかりません
------- クエリ 日付文字列に変換 ------- let ソース = (数値文字列)=> let 文字列 = Text.From(数値文字列,"ja-JP"), 最初の数字 = Text.Start(文字列,1), 和暦イニシャル={"","M","T","S","H","R"}{Number.FromText(最初の数字)}, 和暦文字列 = 和暦イニシャル & Text.Middle(文字列,1,2) & "/" & Text.Middle(文字列,3,2) & "/" & Text.Middle(文字列,5,2), 西暦文字列 = DateTime.ToText(DateTime.From(和暦文字列,"ja-JP"),"yyyyMMdd") in 西暦文字列 in ソース
------- クエリ テーブル1 ------- let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"生年月日", Text.Type}}), 呼び出されたカスタム関数 = Table.AddColumn(変更された型, "日付文字列に変換", each 日付文字列に変換([生年月日])) in 呼び出されたカスタム関数 (´・ω・`) 2021/09/22(水) 15:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.