次の方法で共有


CONCATENATE 関数 (DAX)

2 つのテキスト文字列を 1 つのテキスト文字列に結合します。

構文

CONCATENATE(<text1>, <text2>)

パラメーター

項目

定義

text1、text2

1 つのテキスト文字列に結合するテキスト文字列。文字列にはテキストまたは数値を含めることができます。

列参照を使用することもできます。

戻り値

連結された文字列。

説明

CONCATENATE 関数は 2 つのテキスト文字列を 1 つのテキスト文字列に結合します。結合対象のアイテムには、テキスト、数値、テキストで表現されたブール値、またはこれらのアイテムの組み合わせを指定できます。列に適切な値が格納されている場合は、列参照を使用することもできます。

DAX の CONCATENATE 関数は、引数を 2 つしか受け取ることができません。複数の式を連結する必要がある場合は、一連の計算を作成できます。連結演算子 (&) を使用すると、簡潔な式ですべてを連結できます。

列参照を使用しないでテキスト文字列を直接使用するには、個々の文字列を二重引用符で囲む必要があります。

例: リテラルの連結

説明

次の例は、引数として指定された 2 つの文字列値を連結して新しい文字列値を作成する数式です。

コード

=CONCATENATE("Hello ", "World")

例: 列内の文字列の連結

説明

次の例は、電話帳に記載されている形式で顧客のフル ネームを返す数式です。入れ子になった関数が 2 つ目の引数として使用されていることに注意してください。これは、引数として使用する値が 3 つ以上ある場合に、複数の文字列を連結する方法の 1 つです。

コード

=CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))

例: 列内の文字列の条件連結

説明

次の例は、名、ミドル ネームの頭文字、および姓の組み合わせとして、顧客のフル ネームを格納する新しい計算列を Customer テーブルに作成する数式です。ミドル ネームがない場合は、名のすぐ後に姓を連結します。ミドル ネームがある場合は、ミドル ネームの最初の文字だけを使用し、この頭文字の後にピリオドを付けます。

コード

=CONCATENATE( [FirstName]&" ", CONCATENATE( IF( LEN([MiddleName])>1, LEFT([MiddleName],1)&" ", ""), [LastName]))

コメント

この数式では、入れ子になった CONCATENATE 関数および IF 関数をアンパサンド (&) 演算子と共に使用し、条件に応じて 3 つの文字列値を連結し、区切りにスペースを付加しています。

例: 異なるデータ型の列の結合

次の例では、異なるデータ型を持つ列の値を連結する方法を示します。連結しようとしている値が数値であれば、値は暗黙的にテキストに変換されます。両方の値が数値であれば、両方の値はテキストにキャストされ、文字列の場合と同様に連結されます。

製品の説明

Product abbreviation (複合キーの列 1)

Product number (複合キーの列 2)

新しく生成されたキー列

マウンテン バイク

MTN

40

MTN40

Mountain bike

MTN

42

MTN42

コード

=CONCATENATE('Products'[Product abbreviation],'Products'[Product number])

コメント

DAX の CONCATENATE 関数は引数を 2 つしか受け取りませんが、Excel の CONCATENATE 関数は最大 255 個の引数を受け取ります。もっと多くの引数を追加する必要がある場合は、アンパサンド (&) 演算子を使用できます。たとえば、次の数式では MTN-40 および MTN-42 という結果が生成されます。

=[Product abbreviation] & "-" & [Product number]

関連項目

その他の技術情報