問題タブ [data-quality]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unicode - 出力でフィルタリングする必要がある Unicode 文字のリスト?
最近、ブラウザのサポートでデータ品質が原因でバグが発生しました。必要な場合を除き、ダブルサイズなしで文字列エスケープを適用するための安全なルールを探しています。
UTF-8 バイト シーケンス "E2-80-A8" (U+2028、LINE SEPARATOR)、Unicode データベースで完全に有効な文字。ただし、そのシーケンスは行区切り記号を表します (はい、「0A」以外)。
そして残念なことに、多くのブラウザー (Chrome、Firefox、Safari など。他はテストしていません) は、その Unicode 文字を含む文字列を持つ JSONP コールバックを処理できませんでした。JSONP は、私が制御できない非 Unicode HTML に含まれていました。
ブラウザーは、デバッグ ツールやすべてのテキスト エディターから有効に見える JavaScript で無効なコード/構文エラーを報告するだけでした。私が推測するのは、「E2-80-A8」をBIG-5に変換しようとして、JS構文が壊れた可能性があるということです。
上記は、Unicode がシステムを予期せず破壊する可能性のある例にすぎません。私の知る限り、一部のハッカーは RTL やその他の制御文字を自分の利益のために使用できます。また、Unicode 仕様には「引用符」、「スペース」、「記号」、「コントロール」が多く含まれています。
質問:
すべてのプログラマーがアプリケーションで有効にしたくない隠れた機能 (およびバグ) について知っておくべき Unicode 文字のリストはありますか? (たとえば、Windows はファイル名で RTL を無効にします)。
編集:
JSON も JavaScript も求めていません。すべてのプログラムでの Unicode 処理の一般的なベスト プラクティスを求めています。
sql-server - DQS SQL Server 2012 のドメイン値に一致しない値
SQL Server 2012 Data Quality Services を使用しています。ドメイン値の下に存在しない値はすべて無効と見なしたいと思います。たとえば、「abc」、「def」の値がナレッジ ベース内のドメイン管理の下のドメイン値タブに正しいとしてリストされている場合、外部の値はすべて無効と見なされます。
「Value is not in」を使用するドメイン ルールを設定してから、値「abc」と「def」を手動で入力しようとしましたが、「xyz」のドメイン値を持つデータをクレンジングしても無効な結果が得られません。 . ドメイン値の下にリストされている値以外の値を無効と見なすことができる、DQS 内のより良い方法はありますか?
助けてくれてありがとう。
regex - データ検証に使用される他のデータ型に相当する正規表現
各データ型の単一セルを見て、それらの値が許容できるかどうかを確認するデータベースのデータ品質フレームワークを作成しています。
データ型文字列の場合: 正規表現を使用して有効なものを定義するだけです
他のデータ型 (Integer、Timestamp、Boolean、TimeDelta、Float など) の場合: 有効なものを記録する標準的な方法はありません。
他のデータ型の正規表現に相当するものはありますか? IntegerRegEx のような?たとえば、0 から 65535 までの数字を含む必要があるフィールドがある、または奇数のみを含むことができるフィールドがあるとします...
この IntegerRegEx も (通常の RegEx のように) 文字列であるとよいので、IntRegEx と StringRegEx を同じテーブルに格納できます。
前もって感謝します!
sql - 探索的データ分析に純粋なSQLを使用する方法は?
私はETL開発者であり、ETLタスクにさまざまなツールを使用しています。すべてのプロジェクトで同じ質問が発生します。データウェアハウスが構築される前、およびデータ移動のためにETLが構築される前のデータプロファイリングの重要性です。通常、ETLツールはこれらの優れた代替手段を提供しないため(ツールにはいくつかのデータ品質コンポーネントがありますが、それらはそれほど洗練されていません)。1つのオプションは、この種の探索的データ分析にRプログラミング言語またはSPSSModelerなどの種類のツールを使用することです。ただし、通常、これらの種類のツールは使用できないか、数百万行のデータがある場合は適格ではありません。
SQLを使用してこの種のプロファイリングを行う方法は?利用可能なヘルパースクリプトはありますか?データクリーニングとETLの前に、この種の探索的データ分析をどのように行いますか?
database - 低品質データの調整: ビュー vs (表 + 予定された手順)
TL;DR: ムービング ルールに従って調整された、不適切なムービング データから一貫性のある適切なビューを構築するにはどうすればよいでしょうか?
みなさんこんにちは:)私は、データを変換し、可能な場合は調整し、大幅に強化する必要があるデータベースを構築しています。
(ちなみに、この一般的なトピックに関する良い本を知っている場合は、投稿してください!)
私の特定のケースでは、生データは 2 つのテーブルから取得されます。
生のテーブルで何が起こるかは次のとおりです。
- フォーマットされていないデータ (フォーマットされる: 電話番号、メールアドレスを小文字にするなど)
- 欠落データ: 一部のフィールドが欠落しており、将来的に強化される可能性があります
- 更新データ: 一部の行が更新されました
- 新しいデータ: 新しい行が挿入されます
調整部分では、フィールド (ID、住所など) が部分的に使用されるか、テーブルにないか、他のテーブルに見つからない可能性があります。いくつかの調整規則が使用されます。すべてSQLで表現できます。それらのいくつかはGROUP BY
s を使用しています (ビューが更新可能になるのを防ぎます)。
制約は次のとおりです。
- 基礎となるテーブルは更新できます。新しいデータは、最大で 72 時間後に追随する必要があります。
- 新しいデータは、許容できるパフォーマンスを備えたクエリ可能な形式 (テーブル、ビュー、またはマテリアライズド ビュー) である必要があります。
- 新しいデータの行は、注釈を付けることができるように、時間の経過とともにある程度一貫している必要があります (それらを充実させたり、別の場所に送信されたことをマークしたりするためなど)。
- 新しいデータの一部の行は、手動で強化する必要があります。
- 新しいデータの行には、調整された時刻 (および更新された場合は更新時刻) が含まれている必要があります。
- 調整方法は更新できます。新しいデータは、最大で 72 時間後に追随する必要があります。
ビューを使用するか、ストアド プロシージャで更新されるテーブルを使用するかを決定できません。
ビューは、生データの変更と調整ルールの更新を適切に処理します。ただし、改行の注釈はサポートされません。
ストアド プロシージャで更新されたテーブルはそれを適切に処理しますが、調整ルールが変更されたとき、または生データが更新されたときに、複雑な処理が必要になります。
私はおそらくビューを使用して、テーブルの主キーが新しいデータのいくつかの安定したフィールドのハッシュであるテーブルを横に持っていると考えていました。
ツールは次のとおりです。 Oracle 10g (および必要に応じて Java)
テキストの壁で申し訳ありません。
質問は:あなたならどうしますか?
data-mining - 回避策を管理するためのベスト プラクティス (壊れたデータの場合)
私は政府提供のデータを扱わなければなりませんが、奇妙な方法で壊れていることがあります。私のコードには、次のようなスニペットが既に含まれています。
エラーの前は
データは動的であるため、修正を適用したデータのミラーを作成できません。
これらの回避策の数が増えるにつれて、これらの回避策を管理するにはどうすればよいですか? ベスト プラクティスはありますか (「壊れたデータを最初から提供しない」以外に)?
talend - Talend Open Studio for Data Qualityでワークスペースを変更することはできますか?
Talend Open Studio (TOS) for Data Integration とは異なり、Data Qualityの TOS は、プロジェクトとワークスペースの選択を含むスプラッシュ スクリーンから開始することも、Studio で作業中のプロジェクトを変更することも許可しません。:(
インストールフォルダーの下にあるデフォルトの場所を使用しないように、少なくともワークスペースの場所を変更したいと思います!
ruby - Ruby を使用したデータ品質
スペルミスのある 2 つの単語を一致させるのに役立つライブラリを探しています。たとえば、gem は次のステートメントを true としてマークする必要があります (これは単なる例であり、標準の文字列を拡張する必要はありません)。
データ品質チェック用の ruby gem はありますか?