構文
構文
Text.Format(
formatString as text,
arguments as any,
optional culture as nullable text
) as text
第2引数にリストを使う
例1
Text.Format(
"#{0}, #{1}, and #{2}.",
{17, 7, 22}
) // 17, 7, and 22.
例1は、#{}に0から始まる数値の順番に、第2引数のリストの値が入ります。
例2
Text.Format(
"The #{0} sat on the #{2}.",
{"cat", "mat", "dog"}
) // The cat sat on the dog.
第2引数にレコードを使う
例3
Text.Format(
"The time for the #[distance] km run held in #[city] on #[date] was #[duration].",
[
city = "Seattle",
date = #date(2015, 3, 10),
duration = #duration(0, 0, 54, 40),
distance = 10
],
"en-US"
) // The time for the 10 km run held in Seattle on 3/10/2015 was 00:54:40.
例3では、#[]を使い、第2引数のレコードの値を表示させています。
以下のように、各行毎に項目名を使ってフォーマットすることもできます。Text.Formatの第2引数の「_」は、1レコードを表しています。
例4
let
Source = Table.FromRecords(
{
[Animal = "cat", Furniture = "mat"],
[Animal = "dog", Furniture = "chair"],
[Animal = "dragon", Furniture = "throne"]
},
type table [Animal = Text.Type, Furniture = Text.Type]
),
AddColumn = Table.AddColumn(
Source,
"Demo",
each
Text.Format(
"The #[Animal] sat on the #[Furniture].",
_
),
Text.Type
)
in
AddColumn
Text.Formatの打2引数の「 _ 」は、レコードの値を示しており、[Animal]、[Furniture]を含んでいます。
(参照 「Power Queryの関数を作成する - eachとアンダースコアー」
culture
Text.Formatの第3引数にcultureを設定することができます。(参照 「サポートされる言語識別文字列」)
culture
let
Source = Table.FromRecords(
{
[Currency= 123.4, Day=#date(2022,1,1)],
[Currency=1024.45, Day=#date(2022,2,28)]
},
type table[ Currency = Currency.Type, Day = Date.Type]
),
AddColumn = Table.AddColumn(
Source,
"Message",
each
Text.Format(
"You must return #[Currency] by #[Day]",
_,
"fr_FR" // cultureをフランスに指定
),
Text.Type
)
in
AddColumn
上記のように、フランスの書式で小数点は「.」から「,」になり、日付は日・月・年の順に表示されます。ただし、通貨型の区切り記号は適用されず、数値型として扱われています。