[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パワークエリでラグ変数を作りたい』(パワークエリ)
パワークエリで
変数が year name income の3つとして
nameが同じ条件のもと year-1のincomeをL.incomeとして返す式を以下のように作ってますがつまくいきません
ご教示お願いします
= if year = year -1 and name = name then income else null
< 使用 Excel:Office365、使用 OS:Windows10 >
1列目が x 2列目が y のテーブルで、yを1行ずらすことを考えます。 まず、列の追加でインデックス列を追加します。 次にカスタム列を追加して、追加されたインデックス{[インデックス]+1}[y] とします
let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"x", Int64.Type}, {"y", type number}}), 追加されたインデックス = Table.AddIndexColumn(変更された型, "インデックス", 0, 1), 追加されたカスタム = Table.AddColumn(追加されたインデックス, "カスタム", each 追加されたインデックス{[インデックス]+1}[y]) in 追加されたカスタム
これでどうでしょう (´・ω・`) 2021/07/16(金) 10:08
こうかな let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"year", Int64.Type}, {"name", type text}, {"income", Int64.Type}}), 並べ替えられた行 = Table.Sort(変更された型,{{"name", Order.Ascending}, {"year", Order.Ascending}}), 追加されたインデックス = Table.AddIndexColumn(並べ替えられた行, "インデックス", 0, 1), 追加されたカスタム = Table.AddColumn(追加されたインデックス, "L.income", each if [name] = 追加されたインデックス{[インデックス]+1}[name] then 追加されたインデックス{[インデックス]+1}[income] else null) in 追加されたカスタム (´・ω・`) 2021/07/16(金) 10:39
こうでなきゃいけないのかな let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], MyFunc = ( table , n , y) => let r = Table.SelectRows( table , each [name]= n and [year] = y ) in r{0}[income], 変更された型 = Table.TransformColumnTypes(ソース,{{"year", Int64.Type}, {"name", type text}, {"income", Int64.Type}}), 追加されたカスタム = Table.AddColumn(変更された型, "L.income", each MyFunc(変更された型 ,[name],[year]+1)) in 追加されたカスタム (´・ω・`) 2021/07/16(金) 12:34
let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"year", Int64.Type}, {"name", type text}, {"income", Int64.Type}}), 挿入された加算 = Table.AddColumn(変更された型, "加算", each [year] + 1, type number), 並べ替えられた列 = Table.ReorderColumns(挿入された加算,{"year", "加算", "name", "income"}), マージされたクエリ数 = Table.NestedJoin(並べ替えられた列, {"year", "name"}, 並べ替えられた列, {"加算", "name"}, "並べ替えられた列", JoinKind.LeftOuter), #"展開された 並べ替えられた列" = Table.ExpandTableColumn(マージされたクエリ数, "並べ替えられた列", {"income"}, {"income.1"}), #"名前が変更された列 " = Table.RenameColumns(#"展開された 並べ替えられた列",{{"income.1", "L.income"}}), 削除された列 = Table.RemoveColumns(#"名前が変更された列 ",{"加算"}), 並べ替えられた行 = Table.Sort(削除された列,{{"name", Order.Ascending}, {"year", Order.Ascending}}) in 並べ替えられた行
(マナ) 2021/07/16(金) 16:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.