SPLIT, funkcja ER
Funkcja SPLIT
dzieli określony ciąg wejściowy na podciągi i zwraca wynik jako nową wartość Lista rekordów.
Składnia 1
SPLIT (input, length)
Ta składnia jest używana do dzielenia podanego ciągu wejściowego na podciągi, z których każdy ma określoną długość.
Składnia 2
SPLIT (input, delimiter)
Ta składnia jest używana do dzielenia podanego ciągu wejściowego na podciągi przy użyciu podanego separatora.
Argumenty
input
: Ciąg
Tekst do podzielenia.
length
: Liczba całkowita
Maksymalna długość jednego podciągu.
delimiter
: Ciąg
Ogranicznik, który jest używany do dzielenia podciągów.
Wartości zwracane
Lista rekordów
Wynikowa lista rekordów.
Uwagi dotyczące użytkowania
Struktura rekordów listy, która jest zwracana, składa się z pola Wartość typu Ciąg. Każdy zwracany rekord listy zawiera wygenerowane podciągi w tym polu.
Jeśli argument delimiter
jest pusty, zostanie zwrócona nowa lista składająca się z jednego rekordu mającego pole Wartość typu Ciąg. To pole zawiera tekst wejściowy.
Jeśli argument input
jest pusty, zostanie zwrócona nowa pusta lista. Jeśli argument input
lub delimiter
jest nieokreślony (ma wartość null), aplikacja zgłasza wyjątek.
Przykład 1
Funkcja SPLIT ("abcd", 3)
zwraca nową listę zawierającą dwa rekordy, które mają pole Wartość typu Ciąg. Pole Wartość w pierwszym rekordzie zawiera tekst "abc", a pole Wartość w drugim rekordzie zawiera tekst "d".
Przykład 2
Funkcja SPLIT ("XAb aBy", "aB")
zwraca nową listę zawierającą trzy rekordy, które mają pole Wartość typu Ciąg. Pole Wartość w pierwszym rekordzie zawiera tekst "X", pole Wartość w drugim rekordzie zawiera tekst "", a pole Wartość w trzecim rekordzie zawiera tekst "y".
Przykład 3
Za pomocą funkcji INDEX można uzyskać dostęp do poszczególnych elementów określonego ciągu wejściowego. Jeśli wprowadzisz źródło danych MojaLista typu Pole obliczeniowe i skonfigurujesz je na wyrażenie SPLIT("abc", 1)
, wyrażenie INDEX(MyList,2).Value
zwraca wartość tekstową „b”.
Przykład 4
Za pomocą funkcji INDEX można również uzyskać dostęp do poszczególnych elementów określonego ciągu wejściowego. Po wprowadzeniu źródła danych MyList dla typu Pole obliczeniowe i skonfigurowaniu dla niego wyrażenia SPLIT("abc", 1)
, a następnie wprowadzeniu źródła danych EnumeratedList dla typu Pole obliczeniowe i skonfigurowaniu dla niego wyrażenia ENUMERATE(MyList)
wyrażenie FIRSTORNULL(WHERE(EnumeratedList, EnumeratedList.Number=2)).Value
zwraca tekst „b”.