Funkcja Mid() zwraca część ciągu wejściowego zaczynającą się w pozycji znaku określonej przez drugi argument („start”), zwracając liczbę znaków określoną przez trzeci argument („count”). Jeśli parametr „count” zostanie pominięty, wówczas zostanie zwrócona reszta ciągu wejściowego. Pierwszy znak ciągu wejściowego ma numer 1.
Składnia:
Mid(text, start[, count])
Typ zwracanych danych: ciąg znaków
Argumenty
Argument
Opis
text
Pierwotny ciąg znaków.
start
Liczba całkowita określająca pozycję pierwszego znaku w tekście text do uwzględnienia.
count
Określa długość wyjściowego ciągu znaków. W przypadku pominięcia uwzględniane są wszystkie znaki określone przez wartość start.
Przykład: wyrażenia wykresu
Przykład
Wynik
Mid( 'abcdef',3 )
Zwraca wartość cdef
Mid( 'abcdef',3, 2 )
Zwraca wartość cd
Przykład — podstawy Mid
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Tabela zawiera następujące pola:
InputText, pierwotny ciąg znaków
StartPosition, pozycja początkowa pierwszego znaku, który ma zostać uwzględniony po przetworzeniu z pierwotnego ciągu tekstowego
CharacterCount, liczba znaków do zwrócenia (parametr opcjonalny)
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
InputText
StartPosition
CharacterCount
Utwórz następujące wymiary wyliczane:
=mid(InputText,StartPosition) do obliczenia znaków do wyodrębnienia z InputText, zaczynając od wartości w polu StartPosition. Funkcja zwróci wszystkie znaki od wartości StartPosition do końca InputString, ponieważ nie podano parametru Count.
=mid(InputText,StartPosition,CharacterCount) do obliczenia znaków do wyodrębnienia z InputText, zaczynając od wartości w polu StartPosition. Wartość w polu CharacterCount określa liczbę zwracanych znaków, począwszy od wartości w polu StartPosition.
Tabela wynikowa
InputText
StartPosition
CharacterCount
Mid(InputText,StartPosition)
Mid(InputText,StartPosition,CharacterCount
abcdef
2
3
bcdef
bcd
abcdef
3
2
cdef
cd
20210714
2
3
10714
107
20210714
3
2
0714
07
Pierwszy wiersz zwraca wartość bcdef dla pierwszego wyrażenia. Wyrażenie rozpoczyna od pozycji 2 i zwraca wszystkie znaki, ponieważ argument Count nie jest ustawiony. Drugie wyrażenie również rozpoczyna od pozycji 2, ale zwraca tylko znaki bcd, ponieważ argument Count wynosi 2.
Drugi wiersz zwraca wartość cdef dla pierwszego wyrażenia. Wyrażenie rozpoczyna od pozycji 3 i zwraca wszystkie znaki, ponieważ argument Count nie jest ustawiony. Drugie wyrażenie również rozpoczyna od pozycji 3, ale zwraca tylko znaki cd, ponieważ argument Count wynosi 2.
Trzeci wiersz zwraca wartość 10714 dla pierwszego wyrażenia. Wyrażenie rozpoczyna od pozycji 2 i zwraca wszystkie znaki, ponieważ argument Count nie jest ustawiony. Drugie wyrażenie również rozpoczyna od pozycji 2, ale zwraca tylko znaki 107, ponieważ argument Count wynosi 3.
Czwarty wiersz zwraca wartość 0714 dla pierwszego wyrażenia. Wyrażenie rozpoczyna od pozycji 3 i zwraca wszystkie znaki, ponieważ argument Count nie jest ustawiony. Drugie wyrażenie również rozpoczyna od pozycji 2, ale zwraca tylko znaki 07, ponieważ argument Count wynosi 2.
Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania.
Źródło danych zawiera kolumnę o nazwie OrderID, w której jest używany następujący format strukturalny: ORDYYYY-COUNTRYCODE-ORDERNUMBER. Aby spełnić wymóg związany z raportowaniem, należy wyodrębnić i przedstawić kod kraju jako osobną kolumnę.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Orders.