---
title: "Szybkie rozwiązanie dla skomplikowanych funkcji"
date: "2011-06-27"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
  - "version-2011"
description: Altova MapForce 2011 upraszcza skomplikowane procesy mapowania danych, umożliwiając użytkownikom graficzne łączenie funkcji. Program obsługuje testowanie krok po kroku, co zapewnia dokładne przekształcenia danych.
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce #version-2011

Categories: [Altova](/blog/pl/category/altova.md) 
# Szybkie rozwiązanie dla skomplikowanych funkcji

Niektóre konwersje danych wymagają wielu etapów, aby spełnić złożone wymagania współczesnych systemów komunikacji danych. [Altova MapForce 2011](https://www.altova.com/pl/mapforce.html) umożliwia graficzne łączenie różnorodnych funkcji matematycznych, logicznych, operujących na łańcuchach znaków oraz innych [specjalistycznych funkcji](https://www.altova.com/pl/mapforce/data-processing-functions.html), w celu tworzenia złożonych "równań danych" i uzyskiwania pożądanych wyników. Jeśli pracujesz nad rozbudowanym i skomplikowanym projektem mapowania, jeśli używasz funkcji, z którą nie masz doświadczenia, lub gdy Twoja funkcja generuje wynik pośredni, który wymaga dalszej obróbki, warto testować swoje działania na każdym etapie realizacji. Można użyć [prosty plik tekstowy](https://www.altova.com/pl/mapforce/flat-file-mapping.html) jako tymczasowy cel, aby zobaczyć wynik działania funkcji, którą aktualnie tworzysz. Załóżmy, że chcemy dodać do istniejącego powiązania między plikiem wynikowym a danymi znacznik czasu, który rejestruje moment, w którym dane zostały wygenerowane. Teraz możemy łatwo eksperymentować z funkcją "MapForce" w nowym projekcie, który po prostu łączy się z plikiem tekstowym. 

[![Funkcja powiązana z plikiem tekstowym](https://lh4.ggpht.com/-NecSm6arE0g/Tf-MKZyrP4I/AAAAAAAAAZM/DyO5RHvbDpU/technote27_1_thumb%25255B2%25255D.png?imgmax=800 "A function connected to a text file")](http://lh3.ggpht.com/-nlHcCbcvjFc/Tf-MJ9mMqQI/AAAAAAAAAZI/lFddbb7blzc/s1600-h/technote27_1%25255B4%25255D.png)

Kliknięcie przycisku "Wyjście" znajdującego się na dole okna mapowania pozwala nam zobaczyć natychmiastowy rezultat: 

[![Wynik działania funkcji "now"](https://lh3.ggpht.com/-d_iemv_ykrc/Tf-MLG7DA1I/AAAAAAAAAZU/tPounch7Ofc/technote27_2_thumb%25255B2%25255D.png?imgmax=800 "Output of the now function")](http://lh5.ggpht.com/-_I-NteTD0tE/Tf-MK-qeWAI/AAAAAAAAAZQ/byuCmyEmvrA/s1600-h/technote27_2%25255B4%25255D.png) 

Dobrze, to działa, ale być może użytkownik pliku wynikowego chciałby zobaczyć bardziej czytelnie sformatowaną wersję. Możemy wykorzystać różne funkcje do obsługi dat i ciągów znaków, a także stworzyć bardziej złożoną funkcję, aż nasze mapowanie będzie wyglądać tak: 

[![Złożona funkcja służąca do generowania ciągu znaków](https://lh3.ggpht.com/-zuEPfPxnuLY/Tf-MMIRLZKI/AAAAAAAAAZc/zj0xQr561RU/technote27_3_thumb%25255B2%25255D.png?imgmax=800 "Complicated function to produce a string")](http://lh6.ggpht.com/-429i3ML-88k/Tf-MLsxsfjI/AAAAAAAAAZY/n5PU6-z0sjs/s1600-h/technote27_3%25255B4%25255D.png) 

Możemy również po prostu użyć funkcji konwersji formatu daty i czasu, korzystając ze stałej tekstowej, aby zdefiniować format 

[![Wykorzystanie funkcji format-dateTime do generowania niestandardowego formatu daty i czasu](https://lh3.ggpht.com/-It_hoxtBz5I/Tf-MM0Jw2oI/AAAAAAAAAZk/bsKoKQGZkNc/technote27_4_thumb%25255B2%25255D.png?imgmax=800 "Using the format-dateTime function for customized output")](http://lh5.ggpht.com/-aHLThUl46bI/Tf-MMWQUnkI/AAAAAAAAAZg/oVQM37fNsAg/s1600-h/technote27_4%25255B4%25255D.png) 

Podczas pracy możemy w dowolnym momencie nacisnąć przycisk "Wyjście", dopóki nie uzyskamy wyniku, który będzie wyglądał następująco: 

[![Niestandardowy format wyświetlania daty i godziny](https://lh4.ggpht.com/-94YVgt5hGAc/Tf-MNzI5DaI/AAAAAAAAAZs/f1hokVgdvBo/technote27_5_thumb%25255B2%25255D.png?imgmax=800 "Custom string for date and time")](http://lh3.ggpht.com/-mOgE_ufw_ds/Tf-MNTQyQvI/AAAAAAAAAZo/gMCh3pkDtSI/s1600-h/technote27_5%25255B4%25255D.png) 

Jeśli nie pracujesz codziennie z typami danych dateTime, trudno jest od razu napisać ciąg formatujący, który generuje pożądany wynik! Po kilku próbach, modyfikacjach i konsultacjach z pomocą MapForce, oto format, który opracowaliśmy i który został zapisany w stałej tekstowej, powiązanej z polem wejściowym formatu funkcji konwersji na typ dateTime: 

[![Łańcuch znaków określający format daty i godziny](https://lh4.ggpht.com/-vJlxfpnWDLE/Tf-MOqGOehI/AAAAAAAAAZ0/5kU5pfLXnjI/technote27_6_thumb%25255B2%25255D.png?imgmax=800 "String to define format for dateTime")](http://lh6.ggpht.com/-HT699QUkXRg/Tf-MOSslQNI/AAAAAAAAAZw/qAjirhgmTKw/s1600-h/technote27_6%25255B4%25255D.png)

Dotychczas korzystaliśmy z pliku tekstowego, który był zdefiniowany jako podstawowy plik CSV zawierający tylko jedno pole, ale można otworzyć okno dialogowe "Właściwości" pliku i dodać pola lub utworzyć bardziej zaawansowany plik wyjściowy.

[![Ustawienia właściwości dla prostego pliku tekstowego](https://lh6.ggpht.com/-uU2CKqIDYDQ/Tf-MPvuAgYI/AAAAAAAAAZ8/SzheowFYP3w/technote27_7_thumb%25255B3%25255D.png?imgmax=800 "Properties settings for a simple text file")](http://lh4.ggpht.com/-qZ5CeImVIuI/Tf-MPNq4zRI/AAAAAAAAAZ4/lfbmBTAuC_g/s1600-h/technote27_7%25255B5%25255D.png) 

Jedną z zalet używania pliku tekstowego jako celu zapisu jest brak sprawdzania typu wyniku funkcji. Dzięki temu można łatwo przeanalizować i zweryfikować wynik działania dowolnej funkcji, zapisując go do pliku tekstowego. Na poniższym zrzucie ekranu stworzyliśmy funkcję matematyczną i dodaliśmy drugie pole do celu zapisu w postaci pliku tekstowego, aby przypisać do niego wynik. 

[![Plik tekstowy zawierający dwa pola docelowe](https://lh4.ggpht.com/-bkqK8zHzSGc/Tf-MQXFDV8I/AAAAAAAAAaE/lXmO7FFVIVE/technote27_8_thumb%25255B2%25255D.png?imgmax=800 "Text file with two target fields")](http://lh5.ggpht.com/-i2GuUy7xGa4/Tf-MP0AmpQI/AAAAAAAAAaA/DoEDCUBTPRw/s1600-h/technote27_8%25255B4%25255D.png)

Teraz wynik to pojedynczy wiersz, w którym wartości są oddzielone przecinkami, np.:

[![Dwa pola w prostym pliku tekstowym](https://lh6.ggpht.com/-pZMEjI9YzCA/Tf-MRRwlbrI/AAAAAAAAAaM/H61gauIPrpw/technote27_9_thumb%25255B2%25255D.png?imgmax=800 "Two fields in a simple text file")](http://lh3.ggpht.com/-4qI-JEQq6KU/Tf-MREv_AEI/AAAAAAAAAaI/TlRYz1Ucn_o/s1600-h/technote27_9%25255B4%25255D.png) 

Jeśli naszym docelowym elementem jest pole bazy danych lub element XML o typie danych całkowitych, od razu widać, że ta funkcja matematyczna nie generuje oczekiwanego typu danych. Po dopracowaniu funkcji w środowisku testowym, można ją po prostu wybrać, skopiować i wkleić bezpośrednio do większego projektu. Następnie można połączyć wynik działania funkcji z docelowym elementem. Na poniższym zrzucie ekranu funkcja formatowania daty i godziny jest mapowana na element w schemacie XML, który jest zdefiniowany jako ciąg znaków.

[![Funkcja wklejona do większego obszaru mapy](https://lh4.ggpht.com/-yWufMDEjtr4/Tf-MSSrvKUI/AAAAAAAAAaU/jy-aqhTO4vI/technote27_10_thumb%25255B2%25255D.png?imgmax=800 "Function pasted into larger mapping")](http://lh3.ggpht.com/-V7xU_lpVjpA/Tf-MR4WsmXI/AAAAAAAAAaQ/hfRmKCiFRFM/s1600-h/technote27_10%25255B4%25255D.png) 

Jeśli ta funkcja może się przydać w przyszłości, można ją przekształcić w funkcję zdefiniowaną przez użytkownika i zapisać w swojej bibliotece, aby móc jej łatwo ponownie użyć. 

[![Menu funkcji Altova MapForce](https://lh6.ggpht.com/-Qx5nsgVq1MA/Tf-MS30X-JI/AAAAAAAAAac/_IyIHiUGYWE/technote27_11_thumb%25255B5%25255D.png?imgmax=800 "Altova MapForce Function menu")](http://lh6.ggpht.com/-sL7Qf6AitKg/Tf-MSuQoegI/AAAAAAAAAaY/Yz14z0P3Uvo/s1600-h/technote27_11%25255B9%25255D.png) 

Można nawet użyć pliku tekstowego jako tymczasowego celu, aby zbudować i przetestować złożoną funkcję bezpośrednio wewnątrz większej mapy. W takim przypadku mapa zawiera wiele możliwych wyników. Przycisk w kształcie oka, znajdujący się w prawym górnym rogu każdego pliku wynikowego, pozwala wybrać, który plik wynikowy jest wyświetlany w oknie wyników.

[![Plik tekstowy jako tymczasowy element w większym procesie mapowania](https://lh6.ggpht.com/-ROHTGmMGhCc/Tf-MUbPViPI/AAAAAAAAAak/1OdyEKLbGvY/technote27_12_thumb%25255B2%25255D.png?imgmax=800 "Text file as a temporary target")](http://lh3.ggpht.com/-JEuO0O-O1d8/Tf-MTy-EOVI/AAAAAAAAAag/q10Mjah9tBQ/s1600-h/technote27_12%25255B4%25255D.png) 

Kiedy wybierzesz plik tekstowy jako podgląd wyniku, silnik MapForce nie przetwarza całego mapowania, tylko funkcję powiązaną z tym plikiem. Może to znacznie zaoszczędzić czas, gdy chcesz jedynie sprawdzić wynik działania funkcji, a Twoje główne mapowanie przetwarza dużą ilość danych, lub gdy nie chcesz ryzykować wprowadzenia nieprawidłowych danych do bazy danych, oraz w wielu innych sytuacjach. **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.**
