構文
Table.ReplaceValue(
table as table,
oldValue as any,
newValue as any,
replacer as function,
columnsToSearch as list
) as table
バージョン情報
テーブルの指定した列の値を新しい値に置き換えます。
-
table: 検索するテーブル。 -
oldValue: 置き換える値。 -
newValue: 置換値。 -
replacer: 使用する置換関数。 この関数は、元のテキストを新しいテキストに置き換える Replacer.ReplaceText 、元の値を新しい値に置き換える Replacer.ReplaceValue 、またはカスタム置換子のいずれかになります。 -
columnsToSearch: 置換する値を検索するテーブル内の特定の列を含むリスト。
例 1
列 B のテキスト "goodbye" を "world" に置き換え、値全体だけを一致させます。
使用方法
Table.ReplaceValue(
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "goodbye"],
[A = 3, B = "goodbyes"]
}),
"goodbye",
"world",
Replacer.ReplaceValue,
{"B"}
)
出力
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "world"],
[A = 3, B = "goodbyes"]
})
例 2
列 B のテキスト "ur" を "or" に置き換え、値の任意の部分に一致させます。
使用方法
Table.ReplaceValue(
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "wurld"]
}),
"ur",
"or",
Replacer.ReplaceText,
{"B"}
)
出力
Table.FromRecords({
[A = 1, B = "hello"],
[A = 2, B = "world"]
})
例 3
米国の従業員の名前を匿名化します。
使用方法
Table.ReplaceValue(
Table.FromRecords({
[Name = "Cindy", Country = "US"],
[Name = "Bob", Country = "CA"]
}),
each if [Country] = "US" then [Name] else false,
each Text.Repeat("*", Text.Length([Name])),
Replacer.ReplaceValue,
{"Name"}
)
出力
Table.FromRecords({
[Name = "*****", Country = "US"],
[Name = "Bob", Country = "CA"]
})
例 4
米国の従業員の全列を匿名化します。
使用方法
Table.ReplaceValue(
Table.FromRecords({
[Name = "Cindy", Country = "US"],
[Name = "Bob", Country = "CA"]
}),
each [Country] = "US",
"?",
(currentValue, isUS, replacementValue) =>
if isUS then
Text.Repeat(replacementValue, Text.Length(currentValue))
else
currentValue,
{"Name", "Country"}
)
出力
Table.FromRecords({
[Name = "?????", Country = "??"],
[Name = "Bob", Country = "CA"]
})