Share via


CONCATENATE

適用対象:計算列計算テーブルメジャービジュアル計算

2 つの文字列を結合して 1 つの文字列にまとめます。

構文

CONCATENATE(<text1>, <text2>)  

パラメーター

用語 定義
text1 1 つのテキスト文字列に結合する最初のテキスト文字列。 文字列には、テキストまたは数値を含めることができます。 列参照を使用することもできます。
text2 1 つのテキスト文字列に結合する 2 番目のテキスト文字列。 文字列には、テキストまたは数値を含めることができます。 列参照を使用することもできます。

戻り値

連結された文字列。

解説

  • CONCATENATE 関数を使うと、2 つのテキスト文字列が 1 つのテキスト文字列に結合されます。 結合される項目には、テキスト、数値、テキストとして表されるブール値、またはそれらの項目の組み合わせを使用できます。 列に適切な値が含まれている場合は、列参照を使用することもできます。

  • DAX の CONCATENATE 関数は 2 つの引数のみを受け取りますが、Excel の CONCATENATE 関数は最大 255 個の引数を受け取ります。 複数の列を連結する必要がある場合は、一連の計算を作成するか、連結演算子 (&) を使用してすべての列をより単純な式に結合することができます。

  • 列参照を使用するのではなく、テキスト文字列を直接使用する場合は、各文字列を二重引用符で囲む必要があります。

  • この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。

例: リテラルの連結

この数式例では、引数として指定した 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 つの文字列値を条件付きで連結し、区切り記号としてスペースを追加しています。

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

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

製品の説明 製品の省略形 (複合キーの列 1) 製品番号 (複合キーの列 2) 新しい生成されたキー列
マウンテン バイク MTN 40 MTN40
マウンテン バイク MTN 42 MTN42
= CONCATENATE('Products'[Product abbreviation],'Products'[Product number])  

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

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

CONCATENATEX