问题标签 [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,行分隔符),Unicode 数据库中完全有效的字符。但是,该序列表示行分隔符(是的,除“0A”之外)。
糟糕的是,许多浏览器(包括 Chrome、Firefox 和 Safari;我没有测试其他浏览器)无法处理包含该 Unicode 字符的字符串的 JSONP 回调。JSONP 包含在我无法控制的非 Unicode HTML 中。
浏览器只是在此类 JavaScript 上报告了 INVALID CODE/syntax 错误,从调试工具和所有文本编辑器看起来都是有效的。我猜它可能会尝试将“E2-80-A8”转换为 BIG-5 并破坏 JS 语法。
以上只是 Unicode 如何意外破坏您的系统的一个示例。据我所知,一些黑客可以使用 RTL 和其他控制字符来为他们谋福利。Unicode 规范中有很多“引号”、“空格”、“符号”和“控件”。
问题:
是否有一个 Unicode 字符列表供每个程序员了解隐藏的功能(和错误),我们可能不希望它们在我们的应用程序中有效。(例如 Windows 在文件名中禁用 RTL)。
编辑:
我不要求 JSON 或 JavaScript。我要求在所有程序中处理 Unicode 的一般最佳实践。
sql-server - 匹配值不在 DQS SQL Server 2012 的域值中
我正在使用 SQL Server 2012 数据质量服务。我想将域值下不存在的任何值视为无效。例如,如果我在知识库中域管理下的域值选项卡中将“abc”、“def”的值列为正确,但外部的任何值都应视为无效。
我尝试设置使用“值不在”的域规则,然后手动输入值“abc”和“def”,但是当我清理域值为“xyz”的数据时没有得到无效结果. DQS 中是否有更好的方法可以让我将域值下列出的值之外的任何值视为无效?
谢谢你的帮助。
regex - 用于数据验证的其他数据类型的正则表达式等效项
我正在为数据库创建一个数据质量框架,该框架查看每种数据类型的单个单元格,并查看它们的值是否可以接受。
对于数据类型字符串:我只是使用正则表达式来定义什么是有效的
对于其他数据类型(Integer、Timestamp、Boolean、TimeDelta、Float、...):我没有任何标准的方法来记录什么是有效的
其他数据类型是否有等效于正则表达式的方法?像 IntegerRegEx 的?例如,假设我有一个字段必须包含 0 到 65535 之间的数字,或者我有一个只能包含奇数的字段......
如果这个 IntegerRegEx 也是一个字符串(就像普通的 RegEx 一样),那就太好了,这样我就可以将 IntRegEx 和 StringRegEx 存储在同一个表中。
提前致谢!
sql - 如何使用纯 SQL 进行探索性数据分析?
我是一名 ETL 开发人员,使用不同的工具来完成 ETL 任务。在我们所有的项目中都会出现同样的问题:在构建数据仓库之前以及在构建 ETL 以进行数据移动之前,数据分析的重要性。通常我使用纯 SQL 进行数据分析(即发现错误数据、数据异常、计数、不同值等),因为 ETL 工具没有为这些提供好的替代方案(我们的工具中有一些数据质量组件,但它们是没那么复杂)。一种选择是使用R 编程语言或SPSS Modeler等工具进行这种探索性数据分析。但是,如果有数百万行数据,这些工具通常不可用或不合格。
如何使用 SQL 进行这种分析?有没有可用的辅助脚本?在数据清洗和 ETL 之前,您如何进行这种探索性数据分析?
database - 低质量数据的核对:视图与(表格+预定程序)
TL;DR:如何根据移动规则协调的不良移动数据构建一致、正确的视图?
大家好 :) 我正在构建一个数据库,其中数据必须进行转换,在可能的情况下进行协调并大量丰富。
(顺便说一句,如果你知道一本关于这个一般主题的好书,请发帖!)
在我的特殊情况下,原始数据来自两个表。
以下是原始表上发生的情况:
- 未格式化的数据(待格式化:电话号码、电子邮件转小写等)
- 缺失数据:部分字段缺失,未来可能会被丰富
- 更新数据:部分行已更新
- 新数据:插入新行
对账部分使用的字段(ID、邮政地址等)可能是部分的、在表中缺失或在另一个表中找不到。使用了几个协调规则。都可以用SQL来表达。其中一些正在使用GROUP BY
s (这会阻止视图可更新)。
约束是:
- 可以更新基础表。新数据最多必须在 72 小时后跟上。
- 新数据必须是可查询的形式(表或视图或物化视图),并具有可接受的性能。
- 新数据中的行必须随着时间的推移保持一致,以便人们可以对它们进行注释(以丰富它们,将它们标记为已发送到其他地方等)
- 必须手动丰富新数据中的某些行。
- 新数据中的行必须包含它们被协调的时间(以及更新时间,如果它们被更新)
- 可以更新对账方法。新数据最多必须在 72 小时后跟上。
我无法决定是使用视图还是使用使用存储过程更新的表。
视图可以很好地处理原始数据的变化和协调规则中的更新。但它不支持新行的注释。
使用存储过程更新的表可以很好地处理这个问题,但在更改协调规则或更新原始数据时需要进行一些复杂的处理。
我在想也许使用一个视图并在旁边有一个表,表的主键是新数据的一些稳定字段的哈希。
这些工具是:Oracle 10g(加上 Java,如果需要)
对不起,文字墙。
问题是:你会怎么做?
database - 是否有将同一记录的几行合并为一行的算法或模式?
由于一些未知故障,每次我通过诺基亚套件将诺基亚的联系人与 Outlook 联系人同步时,手机上的每个联系人都会再次添加到 Outlook。我现在在 Outlook 中有多达四个联系人的副本。有些在不同的重复项中填充了不同的字段。
我想要做的是将我的联系人从 CSV 导入数据库表或内存对象集合中,然后将每个“唯一”记录的所有副本的属性合并到一个记录中,然后导入回一个空的联系人文件夹在展望中。有什么优雅的方法可以做到这一点,无论是在普通的 C#、LINQ 还是 T-SQL 中?
还是我只是遍历第一列的所有副本(行),并将找到的任何值复制到该列的空白或最新版本中,然后继续迭代到第二列直到最后一列?
data-mining - 管理变通办法的最佳实践(针对损坏的数据)
我必须处理政府提供的数据,这些数据有时会以奇怪的方式被破坏。我的代码已经包含如下片段:
在错误之前只是
由于数据是动态的,我无法使用已应用的修复来制作数据的镜像。
随着数量的增加,我可以做些什么来管理这些变通方法?是否有任何最佳实践(除了“不提供损坏的数据”)?
talend - 是否可以在 Talend Open Studio for Data Quality 中更改工作区?
与 Talend Open Studio (TOS) for Data Integration 不同,TOS for Data Quality既不从带有项目和工作区选择的初始屏幕开始,也不允许更改 Studio 中的工作项目。:(
我至少想更改工作区位置,而不是使用安装文件夹下的默认位置!
ruby - Ruby 的数据质量
我正在寻找任何可以帮助将两个单词与拼写错误匹配的库。例如,gem 应该将以下语句标记为 true(这只是一个示例,不需要扩展标准字符串)
任何用于数据质量检查的红宝石宝石?
sql - 没有正则表达式的 Firebird 中的字段重复
我正在尝试制作一个查询,当某些字段都是相同的字符时拒绝一行。IE。我想选择名为 Smith 的人,但不选择名为 aaaaaa 或 bbbb 的人。
我不能使用正则表达式,因为FirebirdSIMILAR TO
没有反向引用。
你会怎么做?