翻譯|使用教程|編輯:況魚杰|2021-03-04 13:40:23.650|閱讀 542 次
概述:軟件開發(fā)人員和其他數(shù)據(jù)專業(yè)人員經(jīng)常需要將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式。這些轉(zhuǎn)換可以是簡單的一對(duì)一轉(zhuǎn)換,也可能需要更復(fù)雜的操作。例如,將平面CSV文件導(dǎo)入數(shù)據(jù)庫時(shí)必須生成關(guān)系,否則可能需要為目標(biāo)拆分源數(shù)據(jù),如全名與名字,名字,中間,姓氏和可選后綴的區(qū)別。驗(yàn)證數(shù)據(jù)轉(zhuǎn)換對(duì)于防止數(shù)據(jù)丟失或損壞至關(guān)重要。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Altova MapForce是屢獲殊榮的圖形數(shù)據(jù)映射工具,可進(jìn)行任意轉(zhuǎn)換和集成,其功能包括輕松地將二進(jìn)制對(duì)象與所有流行的關(guān)系數(shù)據(jù)庫進(jìn)行數(shù)據(jù)映射。可以映射諸如圖像,PDF文件,視頻文件或任何其他二進(jìn)制數(shù)據(jù)的數(shù)據(jù)。
點(diǎn)擊立即下載最新版Altova MapForce
軟件開發(fā)人員和其他數(shù)據(jù)專業(yè)人員經(jīng)常需要將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式。這些轉(zhuǎn)換可以是簡單的一對(duì)一轉(zhuǎn)換,也可能需要更復(fù)雜的操作。例如,將平面CSV文件導(dǎo)入數(shù)據(jù)庫時(shí)必須生成關(guān)系,否則可能需要為目標(biāo)拆分源數(shù)據(jù),如全名與名字,名字,中間,姓氏和可選后綴的區(qū)別。驗(yàn)證數(shù)據(jù)轉(zhuǎn)換對(duì)于防止數(shù)據(jù)丟失或損壞至關(guān)重要。
MapForce包含一個(gè)功能強(qiáng)大的交互式數(shù)據(jù)映射調(diào)試器,可以輕松跟蹤和驗(yàn)證此轉(zhuǎn)換。讓我們看一下它是如何工作的。
這是數(shù)據(jù)映射中的用戶函數(shù)calc-local-time的視圖:
該函數(shù)接受dt_txt(這是日期和時(shí)間的字符串值,格式為2020-02-22 18:00:00),以及timezone的數(shù)值,即相對(duì)于GMT的預(yù)測位置的偏移量(以秒為單位)。
函數(shù)的輸出映射到Excel電子表格的A列。在電子表格中,列A的格式定義為日期,指定的格式包括時(shí)間,如5/20/20 4:00 PM。
雙擊用戶函數(shù)的標(biāo)題將其展開以顯示各個(gè)操作:
兩個(gè)輸入值在右側(cè),最后一個(gè)輸出為A的輸出在最左側(cè)。簡單地講,該函數(shù)將時(shí)區(qū)中的秒數(shù)添加到dt_txt日期和時(shí)間以計(jì)算本地時(shí)間。MapForce包括一個(gè)內(nèi)置的datetime-add函數(shù),該函數(shù)執(zhí)行此操作,如上圖所示,位于輸出值A(chǔ)的左側(cè)。從Web服務(wù)接收的輸入值以不同的格式輸入,并且必須調(diào)整為datetime-add函數(shù)的格式和語法。
使用MapForce調(diào)試器驗(yàn)證數(shù)據(jù)轉(zhuǎn)換
可以使用MapForce調(diào)試器來跟蹤用戶功能的步驟,以確保它給出了所需的結(jié)果。首先,將通過右鍵單擊時(shí)區(qū)輸入來設(shè)置調(diào)試斷點(diǎn):
將打開幾個(gè)調(diào)試幫助器窗口,并繼續(xù)執(zhí)行映射,直到到達(dá)斷點(diǎn)為止。斷點(diǎn)處的處理后的值突出顯示:
這里有幾個(gè)步進(jìn)選項(xiàng)可以繼續(xù)執(zhí)行。最小步長選項(xiàng)提供了最細(xì)致的執(zhí)行視圖。
該命令細(xì)分了一個(gè)步驟,通常每個(gè)連接都會(huì)停止兩次:一次在其源產(chǎn)生值時(shí)停止,一次在其目標(biāo)使用該值時(shí)停止。重復(fù)單擊“最小步長”將繼續(xù)執(zhí)行映射,并允許我們確切地了解calc-local-time函數(shù)處理過程中發(fā)生的情況:
當(dāng)繼續(xù)逐步執(zhí)行時(shí),每個(gè)連接處的值都會(huì)添加到窗口中。
內(nèi)置的datetime-add函數(shù)需要第一個(gè)輸入的datetime值和一個(gè)字符串值,該值指定要添加的時(shí)間段作為第二個(gè)值。在下面的圖像中,繼續(xù)逐步提高輸出值的產(chǎn)生。突出顯示的是datetime-add函數(shù)的輸入和最終產(chǎn)生的結(jié)果:
秒的原始偏移值為28,800秒,等于八個(gè)小時(shí)。產(chǎn)生的結(jié)果比dt_txt參考時(shí)間晚八小時(shí),因此輸出有效。
考慮其他情況
與GMT時(shí)間的偏差僅對(duì)GMT以東的位置為正。GMT以西的位置應(yīng)具有負(fù)偏移量。換句話說,紐約位于倫敦以西,當(dāng)?shù)貢r(shí)間更早。北京位于格林尼治標(biāo)準(zhǔn)時(shí)間東部,當(dāng)?shù)貢r(shí)間較晚。
對(duì)于時(shí)區(qū)偏移為負(fù)的情況,需要驗(yàn)證calc-local-time函數(shù)。 有幾種方法可以做到這一點(diǎn)。輸入的引用清單在GMT的某些位置,在GMT的西部。可以繼續(xù)逐步執(zhí)行,直到遇到時(shí)區(qū)為負(fù)的位置。
Web服務(wù)針對(duì)每個(gè)城市返回40個(gè)預(yù)測,因此遍歷整個(gè)前四個(gè)城市將很繁瑣。
可以修改城市列表以在列表頂部插入一個(gè)來自西半球的新城市,也可以為測試案例創(chuàng)建一個(gè)新的輸入文件。在許多情況下,這是一種合理的測試策略。
或者,可以設(shè)置斷點(diǎn)條件。如果可以將斷點(diǎn)設(shè)置為僅在遇到的值為負(fù)時(shí)才暫停,則可以繼續(xù)使用原始輸入文件。這將是得出最終結(jié)論的最快方法。返回到數(shù)據(jù)映射,右鍵單擊斷點(diǎn)以修改其屬性:
這將打開一個(gè)對(duì)話框,在其中設(shè)置屬性以使斷點(diǎn)成為條件。下圖中顯示了如果時(shí)區(qū)值為負(fù),則暫停執(zhí)行的條件:
現(xiàn)在可以在調(diào)試模式下重新執(zhí)行映射。輸入清單上位于格林尼治標(biāo)準(zhǔn)時(shí)間東部的前幾個(gè)城市都將被處理。當(dāng)遇到第一個(gè)負(fù)時(shí)區(qū)值時(shí),將觸發(fā)斷點(diǎn)并暫停執(zhí)行。
使用與上述相同的步進(jìn)技術(shù),可以跟蹤calc-local-time函數(shù)處理時(shí)負(fù)值發(fā)生了什么。
-25,200秒的時(shí)區(qū)值轉(zhuǎn)換為字符串。然后,內(nèi)置的concat函數(shù)在開頭和結(jié)尾添加字符,以為datetime-add函數(shù)構(gòu)建持續(xù)時(shí)間字符串。
添加負(fù)值與減法相同,但是此時(shí)持續(xù)時(shí)間的語法不太正確。負(fù)號(hào)(連字符)必須是持續(xù)時(shí)間字符串的第一個(gè)字符,因此replace函數(shù)將在字符串中搜索PT-,如果找到,則將其替換為-PT。
25,200秒的值是七個(gè)小時(shí)。從2020-05-23T00:00:00的輸入值中減去7小時(shí)等于2020-05-22T17:00:00或5:00 PM的5/33/2020。現(xiàn)在,已經(jīng)驗(yàn)證了具有正負(fù)偏移量的情況下的用戶功能。
無論您是要驗(yàn)證數(shù)據(jù)轉(zhuǎn)換的準(zhǔn)確性還是跟蹤意外結(jié)果,MapForce數(shù)據(jù)映射調(diào)試器都可以以前所未有的方式提供對(duì)數(shù)據(jù)集成和ETL項(xiàng)目的確切內(nèi)部工作的深刻洞察。
為了實(shí)現(xiàn)更高的自動(dòng)化生產(chǎn),可以將MapForce映射部署到FlowForce Server并根據(jù)各種觸發(fā)器執(zhí)行。要開始您自己的數(shù)據(jù)映射,轉(zhuǎn)換和轉(zhuǎn)換項(xiàng)目,請(qǐng)下載一個(gè)免費(fèi)的試用版,包括教程,幫助和更多示例!
如果您想要了解Altova MapForce的正版授權(quán)產(chǎn)品,可以點(diǎn)擊在線客服>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: