国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于相似度計算方法的數(shù)據(jù)排列方法

      文檔序號:6633407閱讀:443來源:國知局
      一種基于相似度計算方法的數(shù)據(jù)排列方法
      【專利摘要】本發(fā)明公開了一種基于相似度計算方法的數(shù)據(jù)排列方法,屬于數(shù)據(jù)處理領(lǐng)域。該方法包括以下具體步驟:(1)設置數(shù)據(jù)相似度的計算依據(jù);(2)加載計算相似度的數(shù)據(jù);(3)依據(jù)相似度設置,計算相似數(shù)據(jù)的過程;(4)展示相似數(shù)據(jù)的計算結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明的基于相似度計算方法的數(shù)據(jù)排列方法通過操作者的操作設置數(shù)據(jù)相似度計算依據(jù)、通過計算實現(xiàn)按照相似程度排列數(shù)據(jù),可將數(shù)據(jù)按照相似度排列,并將相似程度高的數(shù)據(jù)自動標識,具有很好的推廣應用價值。
      【專利說明】一種基于相似度計算方法的數(shù)據(jù)排列方法
      [0001]

      【技術(shù)領(lǐng)域】
      [0002]本發(fā)明涉及一種數(shù)據(jù)排列方法,具體地說是一種基于相似度計算方法的數(shù)據(jù)排列方法。

      【背景技術(shù)】
      [0003]隨著信息技術(shù)的發(fā)展,企業(yè)中形成了各類的數(shù)據(jù)信息,這些數(shù)據(jù)信息中可能存在重復。對可能存在的重復數(shù)據(jù)進行加工處理、直觀的展現(xiàn),查找出正確數(shù)據(jù)信息已經(jīng)成為ERP軟件的必備功能。然而,對于并非完全重復的相似數(shù)據(jù),現(xiàn)有軟件難以實現(xiàn)規(guī)則排序,無法切實滿足企業(yè)清洗重復數(shù)據(jù)、獲取正確數(shù)據(jù)信息的需要。


      【發(fā)明內(nèi)容】

      [0004]本發(fā)明的技術(shù)任務是針對上述現(xiàn)有技術(shù)的不足,提供一種基于相似度計算方法的數(shù)據(jù)排列方法。
      [0005]本發(fā)明的技術(shù)任務是按以下方式實現(xiàn)的:一種基于相似度計算方法的數(shù)據(jù)排列方法,包括以下具體步驟:
      (O設置數(shù)據(jù)相似度的計算依據(jù)
      從預制數(shù)據(jù)表中選擇參與計算的字段內(nèi)容,即選擇數(shù)據(jù)表中的字段作為相似度計算的范圍,并設置每一字段的相似度計算權(quán)重;
      (2)加載計算相似度的數(shù)據(jù)
      (3)依據(jù)相似度設置,計算相似數(shù)據(jù)的過程
      對已加載的數(shù)據(jù),采用相似度計算算法,計算數(shù)據(jù)的相似度值;
      (4)展示相似數(shù)據(jù)的計算結(jié)果
      按數(shù)據(jù)相似度計算結(jié)果進行數(shù)據(jù)分組、降序排列,并自動標識每組數(shù)據(jù)中最大相似度值的數(shù)據(jù)。
      [0006]步驟(I)中,預制數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)包括字段所屬表名、字段名稱、字段長度、是否主鍵、外關(guān)聯(lián)表及其外鍵字段名稱;
      預制數(shù)據(jù)表的表結(jié)構(gòu)包括:參與計算的表名稱、字段名稱、權(quán)重占比。數(shù)據(jù)相似度計算字段必須存在于上述預制數(shù)據(jù)表中。
      [0007]步驟(2 )加載數(shù)據(jù)時,分頁加載參與相似度計算的數(shù)據(jù),并制定每頁加載數(shù)據(jù)的數(shù)目,即采用可選擇的分頁方式,分次加載參與計算的數(shù)據(jù)。數(shù)據(jù)加載后,可通過操作調(diào)整每頁顯示數(shù)據(jù)的數(shù)目量,并根據(jù)調(diào)整結(jié)果重新顯示數(shù)據(jù)。設置計算數(shù)據(jù)的頁數(shù),可針對具體一頁數(shù)據(jù)或制定的多頁數(shù)據(jù)進行數(shù)據(jù)計算。
      [0008]步驟(3)中所述計算算法優(yōu)選為編輯距離法。
      [0009]本發(fā)明的基于相似度計算方法的數(shù)據(jù)排列方法與現(xiàn)有技術(shù)相比具有以下突出的有益效果:
      (一)面向ERP軟件開發(fā)人員、軟件操作人員提供了方便易用的重復數(shù)據(jù)的分組排列方法,滿足不同數(shù)據(jù)表的數(shù)據(jù)重復性識別需求,并將數(shù)據(jù)按照相似度排序、標識;
      (二)支持ERP軟件中的字典、單據(jù)等多種數(shù)據(jù)表,具有良好的擴展性;
      (三)有效的提高了軟件對重復數(shù)據(jù)分析過濾的能力,可以促進最終用戶更加有效的檢索出準確數(shù)據(jù),靈活易用的操作模式,更有效的促進了用戶對軟件的使用,滿足企業(yè)清洗重復數(shù)據(jù)、獲取正確數(shù)據(jù)信息的需要,具有良好的應用前景。

      【專利附圖】

      【附圖說明】
      [0010]附圖1是本發(fā)明基于相似度計算方法的數(shù)據(jù)排列方法的相似度計算流程圖;
      附圖2是實施例相似數(shù)據(jù)展示結(jié)果表圖例。

      【具體實施方式】
      [0011]參照說明書附圖以具體實施例對本發(fā)明的基于相似度計算方法的數(shù)據(jù)排列方法作以下詳細地說明。
      [0012]實施例:
      如附圖1所示,本發(fā)明的基于相似度計算方法的數(shù)據(jù)排列方法,其實現(xiàn)過程包括以下步驟:
      1.設置數(shù)據(jù)的相似度計算依據(jù)
      a)選擇參與相似度計算的數(shù)據(jù)字典的字段范圍,并設置計算權(quán)重。比如ERP系統(tǒng)中的“物料”字典,將“物料名稱”、“規(guī)格型號”設置為數(shù)據(jù)的相似度計算依據(jù),并分別設置權(quán)重;
      b)采用算法:編輯距離法。
      [0013]2.加載計算相似度的數(shù)據(jù)
      a)設置加載數(shù)據(jù)的數(shù)目,控制數(shù)據(jù)的一次加載和展示數(shù)量;
      b)采用數(shù)據(jù)加載組件,加載參與相似度計算的數(shù)據(jù),并采用列表形式展示加載數(shù)據(jù)。
      [0014]3.依據(jù)相似度設置,計算相似數(shù)據(jù)的過程。
      [0015]a)采用“編輯距離法”計算數(shù)據(jù)的相似度; b)依據(jù)數(shù)據(jù)相似度,形成數(shù)據(jù)的分組。
      [0016]c)調(diào)用方法如下:
      #reg1n相似度計算過程
      decimal vdXSD = Convert.ToDecimal(txtXSD.Text);
      string vsSortID = 〃〃;//標識相似記錄的序號
      string vsColName = 〃〃;
      decimal vdQZvalue = 0;
      decimal vdSimiIarSum = 0; //兩行各個字段的相似度之和 decimal vdSimilar = 0; //兩行單個字段的相似度 string vsColStrA = 〃〃; string vsColStrB = 〃〃; int viprogress = 0;
      string vsSort = vsWashColStr;
      dtData.DefaultView.Sort = vsSort; //根據(jù)相似度規(guī)則的字段對待處理數(shù)據(jù)進行排序
      if (dtWashingData == null)
      {
      dtWashingData = dtData.DefaultView.ToTable () ; // 正在處理的表
      }
      else
      {
      dtWashingData.Merge (dtData.DefaultView.ToTable (), true) ; // 將下一頁數(shù)據(jù)累加到上一頁處理時剩余的已經(jīng)處理完畢的數(shù)據(jù)中
      }
      dtWashedData = dtData.Clone O ; //將排序后的數(shù)據(jù)放到數(shù)據(jù)處理表中DataTable dtWashingData—NextPage = dtWashingData.Clone O ; //將下一頁的已經(jīng)處理過的數(shù)據(jù)先存儲在這個表中//開始對數(shù)據(jù)表的數(shù)據(jù)進行計算int viRowCount = O;
      if (BaseMgr—Second.PageSize < dtWashingData.Rows.Count)
      {
      viRowCount = BaseMgr_Second.PageSize;
      }
      else
      {
      viRowCount = dtWashingData.Rows.Count;
      }
      for (int i = 0; i < viRowCount; i++) //逐頁進行相似度計算
      {
      if (i == viRowCount -1)
      {
      viprogress = 100;
      }
      else
      {
      viprogress = 100 * (i + I) / BaseMgr—Second.PageSize; //當前計算進度
      }
      lblprogress.Text = 〃正在計算第【〃 + piPageCurrent + 〃】頁,計算記錄數(shù):〃 +(i + I).ToStringO + 〃/"〃 + viRowCount.ToStringO ;lblprogress.Refresh ();
      DataRow vRowA = dtWashingData.Rows[i];if (vRowA == null)
      {
      progressBar_sjqx.Value = viprogress;continue;
      }
      for (int j = i + I; j < i + pIBJFW -1 && j < dtWashingData.Rows.Count; j++)
      {
      //開始計算相鄰兩行的相似度vdSimiIarSum = O;
      vsSortID = vRowA["SortID"].ToStringO ;
      DataRow vRowB = dtWashingData.Rows[j];
      foreach (DataRowView vRowView in dtQxgz.DefaultView)
      {
      vsColName = vRowView ["MDMQXGZ—COLBH"].ToString ().TrimO ;vdQZvalue = Convert.ToDecimal(vRowView["MDMQXGZ—QZ"]);if (vdQZvalue <= 0) continue;vdQZvalue = vdQZvalue / 100; //換算成百分數(shù)vsColStrA = vRowA [vsColName].ToString ().Trim();vsColStrB = vRowB [vsColName].ToString ().Trim();if (vsColStrA != "" && vsColStrB !="")
      {
      vdSimilar = MDMSjzhFunct1n.ComputeSimilar(vsColStrA, vsColStrB);
      }
      else
      {
      vdSimilar = 0;
      }
      vdSimiIarSum = vdSimiIarSum + vdSimilar * vdQZvalue;
      }
      if (vdSimiIarSum * 100 >= vdXSD)
      {
      if (vsSortID.TrimO == 〃〃 I I vsSortID.TrimO == 〃0〃)
      {
      isMaxSortID = Convert.ToString(Convert.ToInt64(isMaxSortID) + I);
      vsSortID = isMaxSortID;
      vRowA["SortID"] = vsSortID;
      vRowB["SortID"] = vsSortID;
      }
      else
      {
      vRowB["SortID"] = vsSortID;

      }
      }
      }
      dtWashedData.1mportRow (vRowA) ; //將處理后的數(shù)據(jù)行放到新表中 progressBar_sjqx.Value = viprogress;
      }
      #endreg1n處理過程 4.展示相似數(shù)據(jù)的計算結(jié)果。
      [0017]a) 按數(shù)據(jù)相似度計算分組結(jié)果排序,并對各組數(shù)據(jù)分別釆用不同顏色展示。
      [0018]b) 自動標識每組數(shù)據(jù)中最大相似度值的數(shù)據(jù)。
      [0019]c) 調(diào)用方法如下:
      //加載數(shù)據(jù)

      dsData = MDMDataWashIM(isWashedFiIePathj BaseMgr—Third.PageCurrent);

      if (dsData == null)


      {

      dsData = dsDataClone;


      }

      if (dsData != null)


      {

      dsData.Tables[0].DefaultView.RowFilter = ^PageIndex = 〃 +BaseMgr_Third.PageCurrent + 〃〃;
      gridSeIectDataList.DataSource = dsData.Tables [0].DefaultView;

      Rad1ClickO ;

      SetDefaultSelectData();


      }
      //設置相似數(shù)據(jù)的背景顏色

      private void gridViewSelectDataList_RowStyle(object sender,DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)

      {

      DevExpress.XtraGrid.Views.Grid.GridView view = sender asDevExpress.XtraGrid.Views.Grid.GridView;

      if (e.RowHandle >= 0)


      {

      string vsSortID = view.GetRowCellDisplayText(e.RowHandlejview.Columns[〃SortID〃]);

      if (vsSortID.TrimO == 〃0〃 || vsSortID.TrimO == 〃〃)


      {

      e.Appearance.BackColor = Color.White;


      }

      else


      {

      if (Convert.ToInt64(vsSortID) % 2 == 0)



      {


      e.Appearance.BackColor = System.Drawing.Color.FromArgb (((int) (((byte) (255)))), ((int) (((byte) (192)))), ((int) (((byte)(192)))));



      }

      else



      {


      e.Appearance.BackColor = System.Drawing.Color.FromArgb (((int) (((byte) (192)))), ((int) (((byte) (192)))), ((int) (((byte)(255)))));



      }


      }


      }

      }
      相似數(shù)據(jù)計算結(jié)果的展示如附圖2所示。
      【權(quán)利要求】
      1.一種基于相似度計算方法的數(shù)據(jù)排列方法,其特征在于包括以下具體步驟: (1)設置數(shù)據(jù)相似度的計算依據(jù) 從預制數(shù)據(jù)表中選擇參與計算的字段內(nèi)容,并設置每一字段的相似度計算權(quán)重; (2)加載計算相似度的數(shù)據(jù) (3)依據(jù)相似度設置,計算相似數(shù)據(jù)的過程 對已加載的數(shù)據(jù),采用相似度計算算法,計算數(shù)據(jù)的相似度值; (4)展示相似數(shù)據(jù)的計算結(jié)果 按數(shù)據(jù)相似度計算結(jié)果進行數(shù)據(jù)分組、降序排列,并自動標識每組數(shù)據(jù)中最大相似度值的數(shù)據(jù)。
      2.根據(jù)權(quán)利要求1所述的基于相似度計算方法的數(shù)據(jù)排列方法,其特征在于步驟(I)中,預制數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)包括字段所屬表名、字段名稱、字段長度、是否主鍵、外關(guān)聯(lián)表及其外鍵字段名稱; 預制數(shù)據(jù)表的表結(jié)構(gòu)包括:參與計算的表名稱、字段名稱、權(quán)重占比。
      3.根據(jù)權(quán)利要求1所述的基于相似度計算方法的數(shù)據(jù)排列方法,其特征在于步驟(2)加載數(shù)據(jù)時,分頁加載參與相似度計算的數(shù)據(jù),并制定每頁加載數(shù)據(jù)的數(shù)目。
      4.根據(jù)權(quán)利要求1所述的基于相似度計算方法的數(shù)據(jù)排列方法,其特征在于步驟(3)中所述計算算法為編輯距離法。
      【文檔編號】G06F17/30GK104331479SQ201410621947
      【公開日】2015年2月4日 申請日期:2014年11月7日 優(yōu)先權(quán)日:2014年11月7日
      【發(fā)明者】王小明, 陳永 申請人:浪潮通用軟件有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1