---
title: "Instrukcja warunkowa (switch) vs. tabela wyszukiwania w MapForce"
date: "2011-05-17"
categories: 
  - "data-integration"
tags: 
  - "altova"
  - "blog"
  - "data-integration"
  - "data-mapping"
  - "legacy-data"
  - "mapforce"
  - "software-tools"
description: Ten artykuł porównuje zastosowanie instrukcji warunkowych (switch) i tabel wyszukiwania w programie Altova MapForce, wskazując, kiedy najlepiej wykorzystać każdą z tych metod do efektywnego mapowania danych.
---
Status: #blog

Tags:  #altova #blog #data-integration #data-mapping #legacy-data #mapforce #software-tools

Categories: [data-integration](/blog/pl/category/data-integration.md)
# Instrukcja warunkowa (switch) vs. tabela wyszukiwania w MapForce

Jedną z wspaniałych rzeczy w pracy z programistami jest to, że nie tylko tworzy się nowe rzeczy, które wcześniej nie istniały, ale również można obserwować, jak myślą inni, gdy znajdują alternatywne rozwiązania dla każdego problemu projektowego. Otrzymaliśmy komentarz od programisty w odniesieniu do naszego ostatniego wpisu zatytułowanego: [Rozszerzalne instrukcje warunkowe "jeśli-wtedy-inaczej" działają podobnie do instrukcji przełącznika w programie MapForce](https://www.altova.com/blog/2011/04/expandable-if-else-works-like-switch.html) dotyczącego jednego z przykładów, które wykorzystaliśmy. Czytelnik sugeruje, że nasz drugi przykład ilustrował problem, który można by rozwiązać bardziej elegancko w [Altova MapForce](https://www.altova.com/pl/mapforce.html) przy użyciu mechanizmu Value-Map, a nie za pomocą rozszerzonej instrukcji warunkowej "if-else". Poniżej znajduje się oryginalny przykład, w którym miesiąc był przekazywany jako ciąg znaków, a program musiał wygenerować odpowiadającą mu liczbę:

[![Rozszerzony przykład instrukcji warunkowej "jeśli/w przeciwnym razie" w MapForce](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10Xf41UHI/AAAAAAAAAYc/8PxVPCcIyA4/originalExample_thumb%5B2%5D.png?imgmax=800 "If-Else in MapForce")](http://lh3.ggpht.com/_REdrfeVqYdU/Tc10W9gCFsI/AAAAAAAAAYY/awJZUbwdlQc/s1600-h/originalExample%5B4%5D.png) 

W MapForce, "Mapa wartości" to alternatywne rozwiązanie, które działa jak tabela wyszukiwania, podczas gdy rozbudowane instrukcje warunkowe działają jak instrukcja przełączająca. Poniżej przedstawiono, jak wyglądałby nasz proces mapowania, gdybyśmy zastosowali "Mapę wartości" zamiast rozbudowanych instrukcji warunkowych: 

[![Alternatywa dla funkcji "Value-Map" w programie MapForce ](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10X_1DapI/AAAAAAAAAYk/mj6Zql6R4qw/valueMap_thumb%5B2%5D.png?imgmax=800 "Value-Map in MapForce ")](http://lh6.ggpht.com/_REdrfeVqYdU/Tc10Xn36yzI/AAAAAAAAAYg/AQFsPDaUUHE/s1600-h/valueMap%5B4%5D.png) 

Tak, dokładnie. Zamiast kopiować, wklejać i modyfikować zestawy elementów, jak to robiliśmy w przypadku naszej oryginalnej rozbudowanej konstrukcji warunkowej "if-else", funkcja "Value-Map" pozwala nam łatwo tworzyć całą tabelę wyszukiwania w jej oknie właściwości: 

[![Okno dialogowe "Właściwości mapy wartości" w programie MapForce](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10YezxYsI/AAAAAAAAAYs/Z1F3erUvweo/valueMapProperties_thumb%5B2%5D.png?imgmax=800 "Value-Map Properties in MapForce")](http://lh6.ggpht.com/_REdrfeVqYdU/Tc10YOTQBuI/AAAAAAAAAYo/zahnOsDlnrA/s1600-h/valueMapProperties%5B4%5D.png) 

Zgadzamy się z opinią autora komentarza – narzędzie Value-Map zdecydowanie lepiej sprawdza się w przypadku problemu, który wybraliśmy, ponieważ jest znacznie szybsze i łatwiejsze w użyciu! Tabela z właściwości Mapy Wartości jest również bardziej zwięzła i łatwiejsza do interpretacji w programie MapForce[Wygenerowana dokumentacja mapowania](https://www.altova.com/pl/mapforce/mapping-documentation.html) niż nasza oryginalna, rozszerzona struktura warunkowa "if-else". Oczywiście, że nie możesz _zawsze_ Zastąpić rozbudowaną instrukcję warunkową (if-else) mapowaniem wartości. Dane wprowadzane do systemu Value-Map muszą _równy_ Pojedyncza wartość w tabeli wejściowej generuje określony wynik, natomiast funkcja "Rozszerzone instrukcje warunkowe" umożliwia zdefiniowanie serii warunków z różnymi testami logicznymi. Czasami, ze względu na specyfikę projektu konwersji danych, decyzja o użyciu przełącznika zamiast tabeli wyszukiwania jest kwestią indywidualnej oceny. Załóżmy, że Twój projekt otrzymuje dane wejściowe w postaci liczby, która reprezentuje długość fali spektrum elektromagnetycznego, i chcesz przetwarzać promieniowanie ultrafioletowe, widzialne oraz podczerwone oddzielnie. W takim przypadku moglibyśmy użyć rozszerzonej konstrukcji warunkowej "if-else" do sprawdzania zakresów wartości wejściowych. Rozszerzona sekcja "if-else" w mapowaniu może wyglądać następująco: 

[![Rozszerzone mapowanie instrukcji warunkowych (if-else) w programie Altova MapForce](https://lh5.ggpht.com/_REdrfeVqYdU/Tc10ZKz3yfI/AAAAAAAAAY0/490MeBeYGQc/visibleLight2_thumb%5B2%5D.png?imgmax=800 "Expanded If-Else in MapForce")](http://lh3.ggpht.com/_REdrfeVqYdU/Tc10Yt3rsnI/AAAAAAAAAYw/qXuhyxpsMqY/s1600-h/visibleLight2%5B4%5D.png) 

Jeśli dane wejściowe są liczbą całkowitą, można również stworzyć rozwiązanie przy użyciu Value-Map, ale wymagałoby to zbudowania bardzo obszernej tabeli odniesień. Co więcej, co się stanie później, jeśli wymagania projektu się zmienią i dane wejściowe staną się liczbą dziesiętną, lub jeśli trzeba będzie filtrować każdy kolor oddzielnie według nazwy? W zasadzie [Altova MapForce](https://www.altova.com/pl/mapforce.html) to bardzo przydatne narzędzie graficzne, które stanowi kompleksowy zestaw narzędzi programistycznych, chroniąc użytkownika przed szczegółową składnią języków programowania. Oferuje bogaty zestaw komponentów, które można kreatywnie łączyć, aby rozwiązywać własne problemy związane z mapowaniem, konwersją i integracją danych. 

**Sprawdź sam, jak łatwo jest wykorzystać MapForce w swoich projektach mapowania danych.** [**Pobierz bezpłatną 30-dniową wersję próbną**](https://www.altova.com/pl/download/mapforce/data_mapping_enterprise.html) **MapForce.**
