MapSubstring — funkcja skryptu
Funkcja skryptu MapSubstring umożliwia mapowanie części dowolnego wyrażenia według wcześniej załadowanej tabeli mapowania. Mapowanie uwzględnia wielkość liter i nie jest iteracyjne. Ciągi podrzędne są mapowane od lewej do prawej.
Syntax:
MapSubstring('map_name', expression)
Return data type: ciąg znaków
Arguments:
Argument | Opis |
---|---|
map_name |
Nazwa tabeli mapowania, która została poprzednio odczytana w instrukcji mapping load lub mapping select. Nazwa musi być otoczona pojedynczymi prostymi cudzysłowami. OstrzeżenieJeśli ta funkcja zostanie użyta w zmiennej rozszerzonej przez makro i zostanie utworzone odniesienie do tabeli mapowania, która nie istnieje, wówczas wywołanie funkcji nie powiedzie się, a pole nie zostanie utworzone.
|
expression | Wyrażenie, którego wynik będzie mapowany według fragmentów tekstu. |
Example:
Na tym przykładzie ładujemy listę modeli produktu. Każdy model zawiera zestaw atrybutów opisanych przez kod złożony. Przy użyciu tabeli mapowania z MapSubstring można rozwinąć kody atrybutów do opisu.
map2:
mapping LOAD *
Inline [
AttCode, Attribute
R, Red
Y, Yellow
B, Blue
C, Cotton
P, Polyester
S, Small
M, Medium
L, Large
] ;
Productmodels:
LOAD *,
MapSubString('map2', AttCode) as Description
Inline [
Model, AttCode
Twixie, R C S
Boomer, B P L
Raven, Y P M
Seedling, R C L
SeedlingPlus, R C L with hood
Younger, B C with patch
MultiStripe, R Y B C S/M/L
] ;
// We don't need the AttCode anymore
Drop Field 'AttCode';
Wynikowa tabela wygląda następująco:
Model | Description |
---|---|
Twixie | Red Cotton Small |
Boomer | Blue Polyester Large |
Raven | Yellow Polyester Medium |
Seedling | Red Cotton Large |
SeedlingPlus | Red Cotton Large with hood |
Younger | Blue Cotton with patch |
MultiStripe | Red Yellow Blue Cotton Small/Medium/Large |