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]