CONCATENATE
2 つのテキスト文字列を 1 つのテキスト文字列に結合します。
構文
CONCATENATE(<text1>, <text2>)
パラメーター
用語 | 定義 |
---|---|
text1 |
1 つのテキスト文字列に結合される最初のテキスト文字列。 文字列には、テキストまたは数値を含めることができます。 列参照を使用することもできます。 |
text2 |
1 つのテキスト文字列に結合する 2 番目のテキスト文字列。 文字列には、テキストまたは数値を含めることができます。 列参照を使用することもできます。 |
戻り値
連結された文字列。
備考
CONCATENATE 関数は、2 つのテキスト文字列を 1 つのテキスト文字列に結合します。 結合される項目には、テキスト、数値、テキストとして表されるブール値、またはそれらの項目の組み合わせを指定できます。 列に適切な値が含まれている場合は、列参照を使用することもできます。
CONCATENATE の DAX 関数は 2 つの引数のみを受け入れますが、Excel CONCATENATE 関数は最大 255 個の引数を受け取ります。 複数の列を連結する必要がある場合は、一連の計算を作成するか、連結演算子 (
&
) を使用して、それらのすべてを単純な式で結合できます。列参照を使用するのではなく、テキスト文字列を直接使用する場合は、各文字列を二重引用符で囲む必要があります。
この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例: リテラルの連結
このサンプル数式では、引数として指定した 2 つの文字列値を組み合わせて、新しい文字列値を作成します。
= CONCATENATE("Hello ", "World")
例: 列内の文字列の連結
このサンプル式は、電話帳に記載されている顧客の完全な名前を返します。 入れ子になった関数を 2 番目の引数として使用する方法に注意してください。 これは、引数として使用する 2 つ以上の値がある場合に、複数の文字列を連結する 1 つの方法です。
= CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))
例: 列内の文字列の条件付き連結
サンプル数式では、顧客テーブルに新しい計算列が作成され、氏名、ミドル イニシャル、姓の組み合わせとして完全な顧客名が作成されます。 ミドル ネームがない場合、姓は名の直後に付けられます。 ミドル ネームがある場合は、ミドル ネームの最初の文字のみが使用され、最初の文字の後にピリオドが続きます。
= 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])
CONCATENATE の DAX 関数は 2 つの引数のみを受け入れますが、Excel CONCATENATE 関数は最大 255 個の引数を受け取ります。 引数を追加する必要がある場合は、アンパサンド (&) 演算子を使用できます。 たとえば、次の式では、MTN-40 と MTN-42 という結果が生成されます。
= [Product abbreviation] & "-" & [Product number]