1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Query の Text.Format 関数

Posted at

構文

構文
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レコードを表しています。
image.png
g865.png
image.png

例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

g5349.png

 上記のように、フランスの書式で小数点は「.」から「,」になり、日付は日・月・年の順に表示されます。ただし、通貨型の区切り記号は適用されず、数値型として扱われています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?