Funkcja CONCATENATE
Łączy dwa ciągi tekstowe w jeden ciąg tekstowy.
Składnia
CONCATENATE(<text1>, <text2>)
Parametry
Termin |
Definicja |
---|---|
text1, text2 |
Ciągi tekstowe, które mają zostać połączone w jeden ciąg tekstowy. Ciągi mogą zawierać tekst lub liczby. Można również używać odwołań do kolumny. |
Wartość zwracana
Połączony ciąg.
Uwagi
Funkcja CONCATENATE łączy dwa ciągi tekstowe w jeden ciąg tekstowy. Łączonymi elementami mogą być teksty, liczby, wartości logiczne przedstawione w formie tekstu lub kombinacje tych elementów. Można także użyć odwołania do kolumny, jeśli kolumna zawiera odpowiednie wartości.
Funkcja CONCATENATE w języku DAX akceptuje tylko dwa argumenty, podczas gdy funkcja ZŁĄCZ.TEKSTY programu Excel obsługuje do 255 argumentów. Jeśli trzeba połączyć wiele kolumn, można utworzyć serię obliczeń, albo zastosować jeszcze lepszą metodę, czyli użyć operatora łączenia (&) w celu połączenia wszystkich kolumn w jednym prostszym wyrażeniu.
Aby używać bezpośrednio ciągów tekstowych, a nie odwołania do kolumny, należy ująć każdy ciąg w cudzysłów.
Ta funkcja języka DAX może zwracać inne wyniki w przypadku użycia jej w modelu, który został wdrożony i do którego skierowano następnie zapytanie w trybie zapytania bezpośredniego. Aby uzyskać więcej informacji o różnicach semantycznych w trybie zapytania bezpośredniego, zobacz https://go.microsoft.com/fwlink/?LinkId=219171.
Przykład: łączenie literałów
Opis
Przykładowa formuła tworzy nową wartość ciągu, łącząc dwie wartości ciągu podane jako argumenty.
Kod
=CONCATENATE("Hello ", "World")
Przykład: łączenie ciągów w kolumnach
Opis
Przykładowa formuła zwraca imię i nazwisko klienta z książki telefonicznej. Należy zauważyć, że jako drugi argument jest używana funkcja zagnieżdżona. Jest to jedyny sposób na połączenie wielu ciągów w sytuacji, gdy jako argumentów trzeba użyć więcej niż dwóch wartości.
Kod
=CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))
Przykład: warunkowe łączenie ciągów w kolumnach
Opis
Przykładowa formuła tworzy nową kolumnę obliczeniową w tabeli Customer, w której zostanie umieszczone pełne imię i nazwisko klienta składające się z pierwszego imienia, inicjału drugiego imienia i nazwiska. W przypadku braku drugiego imienia nazwisko będzie znajdować się zaraz po pierwszym imieniu. Jeśli drugie imię będzie dostępne, będzie używana tylko pierwsza litera drugiego imienia, po której zostanie umieszczona kropka.
Kod
=CONCATENATE( [FirstName]&" ", CONCATENATE( IF( LEN([MiddleName])>1, LEFT([MiddleName],1)&" ", ""), [LastName]))
Komentarze
W tej formule są używane zagnieżdżone funkcje CONCATENATE i IF wraz z operatorem handlowe „i” (&) w celu warunkowego łączenia trzech wartości ciągów i dodawania spacji jako separatorów.
Przykład: łączenie kolumn zawierających dane różnych typów
W poniższym przykładzie pokazano sposób łączenia wartości z kolumn zawierających dane różnych typów. Jeśli łączona wartość jest wartością liczbową, zostanie niejawnie przekonwertowana na tekst. Jeśli obie wartości są wartościami liczbowym, będą rzutowane na tekst i łączone tak, jakby były ciągami.
Opis produktu |
Skrót nazwy produktu (kolumna 1 klucza złożonego) |
Numer produktu (kolumna 2 klucza złożonego) |
Nowo wygenerowana kolumna klucza |
---|---|---|---|
Rower górski |
RG |
40 |
RG40 |
Rower górski |
RG |
42 |
RG42 |
Kod
=CONCATENATE('Products'[Product abbreviation],'Products'[Product number])
Komentarze
Funkcja CONCATENATE w języku DAX akceptuje tylko dwa argumenty, podczas gdy funkcja ZŁĄCZ.TEKSTY programu Excel obsługuje do 255 argumentów. Jeśli jest konieczne dodanie kolejnych argumentów, można użyć operatora handlowe „i” (&). Na przykład następująca formuła zwraca wynik: RG-40 i RG-42.
=[Product abbreviation] & "-" & [Product number]