• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用SQL解決復(fù)雜Excel問題

      2015-03-17 21:54:44湖北雷應(yīng)兵
      網(wǎng)絡(luò)安全和信息化 2015年11期
      關(guān)鍵詞:原始數(shù)據(jù)姓名金額

      ■ 湖北 雷應(yīng)兵

      故障現(xiàn)象

      前一段時(shí)間,筆者接到一個(gè)非常棘手的問題:某部門有29111筆共796余萬元的款項(xiàng),需要通過銀行代發(fā)到用戶的存折上,該部門將需要發(fā)放的Excel表拷貝給代發(fā)銀行后,由于銀行具體操作人員經(jīng)驗(yàn)不足,將電子表格順序和部分內(nèi)容進(jìn)行了更改。

      仔細(xì)對(duì)比分析兩個(gè)表后,發(fā)現(xiàn)以下情況:1.該部門提供的原表(以下簡(jiǎn)稱“原表”)是29111筆7964331.30元,銀行返回來的表(以下簡(jiǎn)稱“銀行返表”)顯示應(yīng)代發(fā)金額是7964331.11元,代發(fā)成功金額是6288496.75元,說明代發(fā)銀行改動(dòng)了原始數(shù)據(jù),不然應(yīng)代發(fā)金額不會(huì)少0.19元。2.銀行返表的記錄順序已全部打亂,且刪除了備注中注明的分組情況,導(dǎo)致無法統(tǒng)計(jì)到底是哪個(gè)部門哪些人代發(fā)沒有成功,哪個(gè)部門哪些人代發(fā)成功了。3.原表中,有很多相同記錄,即銀行賬號(hào)、姓名、金額、備注都相同,即表的記錄都有可能不是惟一。

      現(xiàn)在提出的問題就是,在記錄不能保證惟一的情況下,如何做到原表與銀行返表的記錄一一對(duì)應(yīng)。只有對(duì)應(yīng)成功后,才能可知道銀行代發(fā)成功的數(shù)據(jù)是否都正確,還有哪個(gè)組的哪些人員為什么沒有代發(fā)成功。

      故障解決過程

      如此復(fù)雜的問題,要想在Excel里面解決,將非常困難。筆者試圖通過SQL解決以上問題。

      第一步,在Excel表最前加一ID列,然后用1、2、3……等惟一數(shù)據(jù)填充,這樣做的目的是為了將每條記錄惟一化,便于后面進(jìn)行數(shù)據(jù)處理。把修改后的兩表導(dǎo)入Excel數(shù)據(jù)庫ZH中,改名為DK-YB(原表)和DK-YH(銀行返表)(如圖 1)。

      第二步,給DK-YB加上兩列“YDID”和“成功”。

      第三步,根據(jù)已知條件,假設(shè)我們?cè)贒K-YB中選中一條記錄,如DY-YB.ID=1,那么可以在DK-YH表中找到姓名、賬號(hào)和應(yīng)發(fā)金額一一對(duì)應(yīng)的記錄,但由于有重記錄的存在,需要通過SELECT TOP 1指定惟一的一條記錄來與之對(duì)應(yīng)。當(dāng)兩個(gè)表中都只有惟一記錄在姓名、賬號(hào)和應(yīng)發(fā)金額三項(xiàng)上都一一對(duì)應(yīng)后,我們就可以根據(jù)第一步中設(shè)置的惟一ID來把兩個(gè)表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),從而達(dá)到解決問題的目的。

      基于以上分析,寫出如圖2所示的代碼,通過查詢分析器執(zhí)行。

      第四步,執(zhí)行完以上語句,DK-YH表變成了銀行對(duì)原表進(jìn)行了改動(dòng)后的數(shù)據(jù),我們執(zhí)行SELECT * FROM [dkyh] WHERE (成功 = N'o.k.')可以知道銀行代發(fā)成功,但與原始數(shù)據(jù)有差別的38(通過語句SELECT COUNT(*)AS 成功條數(shù) FROM [dk-yh]WHERE (成功 = N'o.k.')查詢得到)條記錄。

      第五步,再看DKYB,只要是成功了的,“YDID”和“成功”列就標(biāo)注上了銀行返表的記錄號(hào)ID和O.K.信息;沒有成功的,“YDID”和“成功”列就標(biāo)注上了銀行返表的記錄號(hào)ID和銀行提示的未成功原因;銀行對(duì)原始數(shù)據(jù)進(jìn)行了更改的,“YDID”和“成功”列則都為NULL,通過查詢可知共有3774條。

      第六步,將第四步的38條記錄,通過與第五步“YDID”和“成功”列都為NULL的3774條進(jìn)行比對(duì),找出這38條出錯(cuò)的原因,剩下的3736條也是打卡沒有成功的。

      第七步,根據(jù)DK-YB表,查詢出符合我們要求的各種數(shù)據(jù),至此,問題解決。

      經(jīng)驗(yàn)總結(jié)

      通過以上解決問題的方法,可以發(fā)現(xiàn),對(duì)于復(fù)雜而又棘手的數(shù)據(jù)問題,往往能通過各種程序相互結(jié)合的方法,輕松而迅速地得到解決。當(dāng)然,就本例而言,對(duì)Excel表及SQL數(shù)據(jù)庫等基本知識(shí)的熟悉程度,也決定著我們解決問題的方式和思路。

      猜你喜歡
      原始數(shù)據(jù)姓名金額
      GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
      2001年-2020年縣級(jí)一般公共預(yù)算支出資金來源情況表
      受特定變化趨勢(shì)限制的傳感器數(shù)據(jù)處理方法研究
      梁潮印箋·姓名章戢孴
      姓名的『姓』字為什么是『女』旁?
      全新Mentor DRS360 平臺(tái)借助集中式原始數(shù)據(jù)融合及直接實(shí)時(shí)傳感技術(shù)實(shí)現(xiàn)5 級(jí)自動(dòng)駕駛
      汽車零部件(2017年4期)2017-07-12 17:05:53
      立案
      上海故事(2016年12期)2016-12-09 16:49:08
      成交金額前10名營(yíng)業(yè)部買入的前3只個(gè)股
      一周資金凈流出金額前20名個(gè)股
      找朋友
      海外英語(2013年1期)2013-08-27 09:36:04
      阿尔山市| 九寨沟县| 湖南省| 五大连池市| 汾阳市| 贡嘎县| 东乡县| 龙胜| 龙海市| 永清县| 许昌市| 格尔木市| 平凉市| 都兰县| 平乐县| 吉安县| 滦平县| 错那县| 眉山市| 固原市| 渝中区| 南平市| 永丰县| 元氏县| 无极县| 托克托县| 红安县| 鹤壁市| 彭水| 特克斯县| 鹤岗市| 廊坊市| 濉溪县| 鄂伦春自治旗| 福州市| 平和县| 浏阳市| 岑溪市| 科技| 绿春县| 南乐县|