データクレンジング

Odooデータクリーニングアプリは、次の機能でデータの整合性と一貫性を維持します:

  • 重複排除: データが一意であることを保証するために、重複したエントリをマージまたは削除します。

  • リサイクル:古いレコードを特定して、アーカイブまたは削除します。

  • フォーマット:指定されたニーズに従ってテキストデータを検索および置換することで、標準化します。

カスタマイズ可能なルールにより、テキストデータが最新で合理化され、一貫してフォーマットされ、会社固有のフォーマット要件に適合した状態を保ちます。

モジュールをインストール

データクリーニングアプリケーションは複数のモジュールで構成されています。利用可能なすべての機能にアクセスするには、次をインストールしてください:

名称
テクニカル名

説明

データリサイクル
data_recycle

リサイクル機能を有効にする基本モジュールで、Odoo Community エディションで対応可能です。

データクリーニング
data_cleaning

複数のレコードにわたってテキストデータをフォーマットするフィールドクリーニング機能を有効にします。Odoo Enterprise エディションで**のみ**対応可能です。

データクリーニング(統合)
data_merge

類似(または重複)レコードを検出して統合する重複排除機能を有効にします。Odoo Enterprise エディションで**のみ**対応可能です。

CRM 重複排除
data_merge_crm

CRM アプリで重複排除機能を有効にし、CRM のデフォルト統合機能を使用します。

ヘルプデスク統合アクション
data_merge_helpdesk

**ヘルプデスク**アプリの統合機能を有効にします。

プロジェクトマージアクション
data_merge_project

プロジェクト アプリでマージ機能を有効にします。

UTM 重複排除
data_merge_utm

**UTM トラッカー**アプリの統合機能を有効にします。

WMS 会計統合
data_merge_stock_account

在庫アプリがインストールされている場合、在庫評価に影響を与える可能性のあるプロダクトの統合時に警告を作成します。

重複排除

重複ダッシュボードは、重複排除ルールによって設定されたレコードセット内の一致条件によって統合される類似レコードをグループ化します。

このダッシュボードに移動するには、データクリーニングアプリ ‣ 重複排除に移動します。

データクリーニングアプリケーションの重複排除ダッシュボード。

ルールサイドバーには、有効な重複排除ルールがそれぞれ一覧表示され、各ルールの横に検出された重複の合計数が表示されます。

デフォルトでは、すべてルールが選択されています。レコードはルールごとにグループ化され、次の列を持つ類似度評価(100%中)が表示されます:

  • 作成日: 元のレコードが作成された日時。

  • 名前: 元のレコードの名前またはタイトル。

  • フィールド値: 重複を検出するために使用されるフィールドの元のレコードの値。

  • 使用箇所: 元のレコードを参照する他のモデルを一覧表示します。

  • ID: 元のレコードの一意のID。

  • マスター: 重複は*マスター*レコードに統合されます。類似レコードのグループ内には**1つ**のマスターレコードのみを設定できます。

ルールサイドバーで特定のルールを選択して、重複レコードをフィルタリングします。

重複レコードの統合

レコードを統合するには、まず類似レコードのグループ内で*マスター*レコードを選択します。マスターレコードは基準として機能し、類似レコードからの追加情報が統合されます。

必要に応じて、マスターレコードを設定しないこともでき、その場合Odooがランダムにレコードを選択して統合します。

次に、類似レコードのグループ上部にある統合ボタンをクリックします。次に、OKをクリックして統合を確定します。

レコードがマージされると、その内容を説明するメッセージが マスターレコードのチャター に記録されます。プロジェクトのタスクのような一部のレコードでは、マージ元の古いレコードへのリンク付きでチャターに記録され、参照しやすくなっています。

ちなみに

破棄ボタンをクリックしてグループを破棄します。破棄すると、グループはリストから非表示になりアーカイブされます。

検索バーから破棄済みフィルターを選択すると、破棄されたグループを表示できます。

重複排除ルール

重複排除ルールは、レコードが重複として検出される条件を設定します。

これらのルールは、データベース内の各モデルに対して、さまざまなレベルの特異性で設定できます。開始するには、:menuselection:`データクリーニングアプリ --> 設定 --> 重複排除`に移動します。

ちなみに

重複排除ルールは、デフォルトでは、スケジュール済アクションcron (データ統合:重複レコードの検出) の一部として、毎日1回実行されます。ただし、各ルールはいつでも:ref:`手動で実行 <data_cleaning/run-deduplication-rule>`できます。

重複排除ルールの変更

編集するデフォルトルールを選択するか、:guilabel:`新規`ボタンをクリックして新しいルールを作成します。

まず、このルールが対象とする:guilabel:`モデル`を選択します。モデルを選択すると、ルールのタイトルが選択したモデルに更新されます。

オプションで、ドメイン`を設定して、このルールの対象となるレコードを指定します。対象レコードの数は、:icon:`oi-arrow-right:guilabel:`# レコード`リンクに表示されます。

選択した:guilabel:`モデル`に応じて、:guilabel:`重複の削除`フィールドが表示されます。統合されたレコードを:guilabel:`アーカイブ`するか:guilabel:`削除`するかを選択します。

次に、:guilabel:`統合モード`を選択します:

  • 手動: 各重複グループを手動で統合する必要があります。また、:guilabel:`ユーザーに通知`フィールドが有効になります。

  • 自動: :guilabel:`類似度しきい値`フィールドで設定されたしきい値を超える類似度を持つレコードに基づいて、ユーザーに通知せずに重複グループを自動的に統合します。

:guilabel:`稼働中`トグルを有効にすると、保存されるとすぐに、このルールで重複のキャプチャが開始されます。

最後に、:guilabel:`重複排除ルール`フィールドで、:guilabel:`一意のIDフィールド`列の下にある:guilabel:`明細追加`をクリックして、少なくとも1つの重複排除ルールを作成します。

  • :guilabel:`一意のIDフィールド`ドロップダウンメニューから、モデル内のフィールドを選択します。このフィールドは、類似したレコードを参照するために使用されます。

  • :guilabel:`一致条件`フィールドで一致条件を選択し、:guilabel:`一意のIDフィールド`のテキストに応じて重複排除ルールを適用します:

    • 完全一致: テキスト内の文字が完全に一致します。

    • 大文字小文字・アクセント記号を区別しない一致: 大文字小文字や言語固有のアクセント記号の違いに関係なく、テキスト内の文字が一致します。

重要

ルールが重複をキャプチャするには、少なくとも1つの:guilabel:`重複排除ルール`を設定する必要があります。

ちなみに

高度な設定のために、さらにいくつかのフィールドが利用できます。

マルチカンパニーデータベースの場合、:guilabel:`会社をまたぐ`フィールドが利用できます。有効にすると、異なる会社間の重複が提案されます。

開発者モード (デバッグモード)を有効化すると、提案しきい値フィールドが表示されます。このフィールドで設定したしきい値を下回る類似度の重複は提案され**ません**。

ルールの設定が完了したら、ルールフォームを閉じるか、ルールを手動で実行して、重複レコードを即座に検出します。

重複排除ルールを手動で実行

特定の重複排除ルールをいつでも手動で実行するには、データクリーニングアプリ ‣ 設定 ‣ 重複排除に移動し、実行するルールを選択します。

次に、規則フォームで左上の 重複排除 ボタンを選択します。すると、 重複 スマートボタンに重複の数が表示されます。

重複スマートボタンをクリックして、これらのレコードを管理します。

レコードをリサイクル

*レコードをリサイクル*機能を使用して、古くなったレコードをデータベースから削除します。

*フィールドリサイクルレコード*ダッシュボードには、リサイクルレコードのルールで設定された条件に一致する、アーカイブまたは削除可能なレコードが表示されます。

このダッシュボードに移動するには、データクリーニングアプリ ‣ リサイクルレコードに移動します。

データクリーニングアプリケーションのフィールドリサイクルレコードダッシュボード。

リサイクルルールサイドバーには、稼働中の各リサイクルレコードルールが一覧表示されます。

デフォルトでは、すべてオプションが選択されています。レコードは次の列で表示されます:

  • レコードID: 元のレコードのID。

  • レコード名: 元のレコードの名前またはタイトル。

リサイクルルールサイドバーで特定のルールを選択して、レコードをフィルタリングします。

レコードをリサイクルするには、レコードの行にある確認ボタンをクリックします。

これを行うと、ルールの設定に応じて、レコードはアーカイブされるか、データベースから削除されます。

ちなみに

破棄ボタンをクリックしてグループ化を破棄します。これを行うと、レコードはリストから非表示になり、今後リサイクルルールによって再び検出されることはありません。

破棄されたレコードを表示するには、検索バードロップダウンメニューから破棄済みフィルターを選択します。

リサイクルレコードルール

レコードリサイクルルールはレコードのリサイクル方法に関する条件を設定します。

これらのルールは、データベースの各モデルごとに設定でき、さまざまなレベルの特異性を持たせることができます。開始するには、:menuselection:`データクリーニングアプリ --> 設定 --> レコードリサイクル`に移動します。

ちなみに

リサイクルルールは、デフォルトで1日1回、スケジュール済アクションcron(データリサイクル:レコードのクリーン)の一部として実行されます。ただし、各ルールはいつでも:ref:`手動で実行 <data-cleaning/run-recycle-rule>`できます。

デフォルトでは、リサイクルレコードルールは存在しません。:guilabel:`新規`ボタンをクリックして新しいルールを作成します。

リサイクルレコードルールフォームで、まずこのルールの対象とする:guilabel:`モデル`を選択します。モデルを選択すると、ルールのタイトルが選択したモデルに更新されます。

オプションで、フィルター`を設定して、このルールの対象となるレコードを指定します。対象レコードの数は、:icon:`oi-arrow-right:guilabel:`# 件のレコード`リンクに表示されます。

次に、ルールがリサイクルするレコードを検出する方法のフィールドと時間範囲を設定します:

  • 時間フィールド: 時間(デルタ)の基準とするモデルのフィールドを選択します。

  • デルタ: 時間の長さを入力します。整数である必要があります(例: 7)。

  • デルタ単位: 時間の単位(、または:guilabel:)を選択します。

次に、:guilabel:`リサイクルモード`を選択します:

  • 手動: 検出された各レコードを手動でリサイクルする必要があり、:guilabel:`ユーザーに通知`フィールドが有効になります。

  • 自動: リサイクルされたグループを自動的にマージし、ユーザーに通知しません。

最後に、:guilabel:`リサイクルアクション`を選択して、レコードを:guilabel:`アーカイブ`または:guilabel:`削除`します。:guilabel:`削除`を選択した場合、ルールに:guilabel:`アーカイブ済を含める`かどうかを選択します。

ルールの設定が完了したら、ルールフォームを閉じるか、:ref:`ルールを手動で実行 <data-cleaning/run-recycle-rule>`して、リサイクルするレコードを即座に取得します。

Example

リサイクルルールは、1年前に最終更新され、特定の失注理由を持つアーカイブ済のリードと案件を削除するように、次の設定を使用して構成できます:

  • モデル: リード/案件

  • フィルター:

    • 稼働中 未設定

    • 失注理由 が次の中にある 高すぎる

  • 時間フィールド直近更新日(リード/案件)

  • 差分1

  • 差分単位

  • リサイクルモード自動

  • リサイクルアクション削除

  • アーカイブ済みを含む

リード/案件のレコードリサイクルルールフォーム。

リサイクルルールを手動で実行

特定のリサイクルルールをいつでも手動で実行するには、データクリーニング ‣ 設定 ‣ レコードリサイクルに移動し、実行するルールを選択します。

次に、ルールフォームで左上の今すぐ実行ボタンをクリックします。クリックすると、レコードスマートボタンに取得されたレコード数が表示されます。

レコードスマートボタンをクリックして、これらのレコードを管理します。

フィールドクリーニング

フィールドクリーニング機能を使用して、データベース全体で名前、電話番号、IDなどのフィールドの一貫した書式を維持します。

フィールドクリーニングレコードダッシュボードには、フィールドクリーニングルールで設定された規則に従って、レコードのフィールド内のデータに対する書式変更が表示されます。

このダッシュボードに移動するには、データクリーニング ‣ フィールドクリーニングに移動します。

データクリーニングアプリケーションのフィールドクリーニングレコードダッシュボード。

クリーニングルールサイドバーには、各稼働中のクリーニングルールが一覧表示されます。

デフォルトでは、すべてルールが選択されています。レコードは次の列で一覧表示されます:

  • レコードID: 元のレコードのID。

  • レコード名: 元のレコードの名前またはタイトル。

  • フィールド:書式設定する値を含む元のレコードのフィールド。

  • 現在:元のレコードのフィールドの現在の値。

  • 推奨:元のレコードのフィールドに推奨される書式設定済みの値。

レコードをクリーンアップして書式設定するには、レコードの行にある確認ボタンをクリックします。

これにより、レコードが書式設定やクリーンアップされます。

ちなみに

破棄ボタンをクリックしてレコードを破棄します。これにより、レコードはリストから非表示になり、今後フィールドクリーニングルールで再び検出されることはありません。

破棄されたレコードを表示するには、検索バーから破棄済みフィルターを選択します。

フィールドクリーニングルール

フィールドクリーニングルールは、フィールドをクリーンアップおよび書式設定する条件を設定します。

これらのルールは、データベース内の各モデルに対して、さまざまな詳細レベルで設定できます。開始するには、データクリーニングアプリ ‣ 設定 ‣ フィールドクリーニングに移動します。

ちなみに

フィールドクリーニングルールは、デフォルトでは、スケジュールされたアクションcron(データクリーニング:レコードのクリーンアップ)の一部として、1日1回実行されます。ただし、各ルールはいつでも手動で実行できます。

デフォルトでは、連絡先アプリのレコードを書式設定およびクリーンアップするための連絡先ルールが存在します。連絡先レコードを選択して編集するか、新規ボタンを選択して新しいルールを作成します。

フィールドクリーニングルールフォームで、まずこのルールの対象となるモデルを選択します。モデルを選択すると、ルールのタイトルが選択したモデルに更新されます。

次に、ルールセクションで行を追加をクリックして、少なくとも1つのルールを設定します。

これにより、次のフィールドを設定できるルールを作成ポップオーバーウィンドウが表示されます:

  • モデルからクリーンアップするフィールドを選択して、アクションに割り当てます。

  • 次のアクションオプションから1つを選択します:

    • スペースをトリミングを選択するとトリミングフィールドが表示され、すべてのスペースまたは余分なスペースオプションを選択できます。先頭、末尾、および連続したスペースは余分と見なされます。

      Example

      連絡先名Dr.  John   Doeは、次のトリミングオプションで書式設定できます:

      • すべてのスペースDR.JohnDoe

      • 余分なスペースDR. John Doe

    • 文字種を設定を選択すると文字種フィールドが表示され、先頭文字を大文字にすべて大文字、またはすべて小文字のいずれかを選択できます。

      Example

      リード/案件のタイトル lumber inc, Lorraine douglas は、次のCaseオプションで書式設定できます:

      • First Letters to Uppercase: Lumber Inc, Lorraine Douglas

      • All Uppercase: LUMBER INC, LORRAINE DOUGLAS

      • All Lowercase: lumber inc, lorraine douglas

    • Format Phoneは電話番号を国際国別形式に変換します。

      Example

      • ベルギー: 061928374 +32 61 92 83 74

      • 米国: 800 555-0101 +1 800-555-0101

    • Scrap HTMLHTMLをプレーンテキストに変換します。

      Example

      HTMLテキスト
      <h1>John Doe</h1>
      <p>Lorem ipsum dolor sit <a href="https://example.com">amet</a>.</p>
      
      プレーンテキスト
      **John Doe** Lorem ipsum dolor sit amet [1] .[1] https://example.com
      

    フィールドとアクションを選択したら、保存をクリックしてルールを作成ポップオーバーウィンドウを閉じます。

次に、クリーニングモードを選択します:

  • 手動: 検出された各フィールドを手動でクリーニングする必要があり、ユーザーに通知フィールドが有効になります。

  • 自動: ユーザーに通知せずにフィールドを自動的にクリーニングします。

ルールの設定が完了したら、ルールフォームを閉じるか、ルールを手動で実行してクリーニングするフィールドをすぐにキャプチャします。

フィールドクリーニングルールを手動で実行

特定のフィールドクリーニングルールをいつでも手動で実行するには、データクリーニングアプリ ‣ 設定 ‣ フィールドクリーニングに移動し、実行するルールを選択します。

次に、ルールフォームで左上のクリーニングボタンを選択します。これを行うと、 レコードスマートボタンにキャプチャされたレコード数が表示されます。

レコードスマートボタンをクリックしてこれらのレコードを管理します。

統合アクションマネージャー

統合アクションマネージャーは、データベース内のモデルのアクションメニューで利用可能な統合アクションを有効または無効にします。

開発者モード (デバッグモード)を有効にし、Data Cleaning アプリ ‣ 設定 ‣ 統合アクション マネジャーに移動します。

モデルは次の列で表示されます:

  • モデル: モデルの技術名。

  • モデルの説明: モデルの表示名。

  • タイプ: モデルが Base Object または Custom Object タイプのいずれであるか。

  • 一時モデル: モデルは、データベースに長期保存する必要のない一時データを処理します。

  • 統合可能: モデルの 統合 アクションを有効にします。

デフォルトで有効になっているモデルを表示するには、検索バーを使用して統合可能なモデルをフィルターします。