[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パワークエリで時間列と日付列を足したい』(びき)
お世話になります
CSVデータで日付列と時間列を足すのはいったん数値にする必要があるのでしょうか?
下記のようなデータを日時にしたくて、エディタで[始日付]+[始時間]としたらエラーになりました。
始日付 始時間
2023/5/21 0:36:34
よろしくお願いします
< 使用 Excel:Excel2010、使用 OS:Windows10 >
(?) 2023/07/16(日) 21:28:12
[始日付]と[始時間]の型がどうなっているかによります。
日付型と時刻型は加算できないようです
[始日付]を日付/時刻型、[始時間]を期間型に変換してしまえば加算できます (´・ω・`) 2023/07/16(日) 23:25:31
(びき) 2023/07/17(月) 00:24:27
先に書いたように、日付時刻型と期間型でないと加算はうまくいきません
CSVから読むときに最初に型を変更してもよいし let ソース = Csv.Document(File.Contents("test.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None]), 昇格されたヘッダー数 = Table.PromoteHeaders(ソース, [PromoteAllScalars=true]), 変更された型 = Table.TransformColumnTypes(昇格されたヘッダー数,{{"始日付", type datetime}, {"始時間", type duration}}), 追加されたカスタム = Table.AddColumn(変更された型, "カスタム", each [始日付]+[始時間]) in 追加されたカスタム
日付型、時刻型で読んでおいて変換してもよいし let ソース = Csv.Document(File.Contents("D:\test.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None]), 昇格されたヘッダー数 = Table.PromoteHeaders(ソース, [PromoteAllScalars=true]), 変更された型 = Table.TransformColumnTypes(昇格されたヘッダー数,{{"始日付", type date}, {"始時間", type time}}), 追加されたカスタム = Table.AddColumn(変更された型, "カスタム", each DateTime.From([始日付])+Duration.From(Number.From([始時間]))) in 追加されたカスタム
文字列を作っておいてから日付時刻型に変換するとか、 ほかにもやり方はあると思いますので 2010でもうまくやれる方法はあると思います。たぶん (´・ω・`) 2023/07/17(月) 07:45:22
(びき) 2023/07/17(月) 09:44:34
時刻型を期間型に変換するとき、以下にかいてあるように、 Duration.From https://learn.microsoft.com/ja-jp/powerquery-m/duration-from Duration.FromText https://learn.microsoft.com/ja-jp/powerquery-m/duration-fromtext
= Table.AddColumn(変更された型, "カスタム", each Duration.From(Number.From([時刻]))) とするか = Table.AddColumn(変更された型, "カスタム", each Duration.FromText(Time.ToText([時刻])))
としないといけないです (´・ω・`) 2023/07/17(月) 11:04:39
後日、ログを読んだ人に変な誤解をされるといやなので一応書いておきます。
例からの列も万能では無いようなのですが、
>AddColumnでないとダメなんですね。 「AddColumnでないとダメ」というのは誤解を招きます
2023/07/17(月) 07:45:22の最初のサンプルはTable.TransformColumnTypesです
これを操作でするなら、(2010だとちょっと違うかもしれませんが) 列を選んで右クリックして型の変更で期間を選ぶ か リボンの変換タブの任意の列グループで、データ型を期間を選択です (´・ω・`) 2023/07/17(月) 14:32:03
(びき) 2023/07/17(月) 14:58:45
確認しました >列を選んで右クリックして型の変更で期間←これがエラーとなり CSVから読み込んでいるなら、2番目か3番目のステップに「変更された型」があると思いますが、 このステップを選んで型の変更をして、「現在のものを置換」を選びます 時刻型になっている列に対して、期間型への型の変換を「新規手順の追加」するとエラーになります (´・ω・`) 2023/07/18(火) 10:02:55
2019で同じ操作をしたらエラーにならず、スムーズでした。
少し前になりますが2010で、「クエリが最新ではありません。新しいのをインストールしてください」のようなメッセージが出ていたのを思い出しました。
(びき) 2023/07/18(火) 21:52:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.