精华内容
下载资源
问答
  • 数据仓库实践杂谈(六)-数据校验
    千次阅读
    2019-12-12 16:32:11

    [目录]

    数据仓库实践杂谈(六)-数据校验

    从数据源卸载出来的数据,进入仓库之前的第一个步骤就需要进行数据校验。数据校验的前提是在元数据中建立一套合适的数据标准。而其中,最重要的是确定每个字段的取值范围。基于这个数据标准,同步建立一套程序用于检查将要进入仓库的数据的有效性。

    这套程序不但在运行阶段每日检查,在数据分析阶段也会用来做数据质量的检查。

    数据的取值范围一般包括如下几种:

    1. 是否可空;
    2. 数值的取值范围:整数/小数点,取值起止范围等;
    3. 取值的枚举范围;

    另外,还需要考虑数据是否有重复,乱码之类。对于从一些老旧系统导出的数据出现这个问题的可能性较大。

    数据校验是最容易通过元数据驱动实现的模块。一般情况都应该利用元数据开发一套通用程序来处理。

    数据校验的输出有以下三个:

    1. 验证正确的数据,进入加载处理(增量/全量)环节;
    2. 校验不通过的数据,进入到脏数据区,一般情况脏数据都需要人工介入处理;
    3. 生成数据质量报告,包含每个表、字段的空值率,有效率等。

    数据校验
    数据校验类似一个过滤器,让符合条件的数据往下走,同时抓出不符合条件的数据。这里有一个核心的问题需要优先考虑:
    一份数据文件里面存在脏数据之后,是否还继续往下处理?

    首先明确一点,大部分的数据问题,是系统无法自动解决的。只有类似FTP下来的数据文件不完整,可以去尝试重新下载之外,别的基本上没办法自动处理了。一般来说,可能会出现下列的错误类型:

    • 网络错误:导致文件传输不完整、错位、乱码等;这类错误基本会导致文件无法解析,一般进行重试,或者直接报警,手工更新文件之后重新执行。
    • 数据卸出系统错误:源系统卸出数据文件程序发生错误,导致文件不完整、错位、乱码甚至生成文件失败等,此类错误一般也会导致文件无法解析,需要立刻安排检查源系统程序重新生成文件。
    • 数据错误:比如特定字段给了非法的值。这类错误往往是因为源系统业务流程或者数据校验不完善导致出现非法数据。然后,这种错误不是立马可以修复的。当然,在一个正常运作的系统,这类的错误往往只会占少数。

    一般情况,有数据错误的文件,建议是把错误数据筛选出来之后,继续执行。停止一个文件执行对整个流程的伤害是非常大的,很可能整个流程都会停下来。毕竟,大部分业务数据文件,其中只会有一小部分数据有问题,只会影响部分业务的分析结果。

    当然,如果发生系统性错误,经过自动重试仍失败,就需要停下流程,立即报警,马上处理。

    重点考虑第三种问题。某个文件发现了部分不合规的数据,把违法数据单独保存起来,剩下的数据继续进行处理,进行增量处理以及后续相关的处理。正常数据的后续流程,从增量到建模到分析,后续章节会继续讨论。这里主要讨论异常数据怎么处理。

    一般情况,或者说几乎所有的情况了,异常数据都是需要人工介入处理的。一般处理流程:

    • 检查异常数据,对比源系统数据;
    • 追溯业务起源,确定正确内容;
    • 最后的选择:
      • 在源系统修复数据重新导出;
      • 在专门的界面修复异常数据;
      • 直接无视。

    数据的修复,别指望当天可以完成。一般都得好几天。源系统修复和升级,更不是短时间内能做到了。如果在确定不影响业务的情况下,可以把异常数据给一个专门的类别,比如某个分类字段,业务限定只能有01、02和03三个值。现在来的数据发现一个06。可以保留这个06。但如果这个字段存在层次汇总的话,需要设置成一个专门的类别来表示其他的值,比如99。把异常的数据都汇总到99上。

    数仓平台一般都提供一个错误数据修复(补录)的界面。首先把不合法的数据,装到单独的数据库里面(便于检索和修改),然后提供一个界面,展示每一条违法数据。这个界面,严格按照元数据的定义来校验数据,避免造成二次错误。修复数据之后,重新生成一个数据文件/表重新进行数据处理。假设这个数据为D,只有T日处理中校验出来的违法数据,其他合法数据已经处理到仓里里面去了。

    按如下策略执行:

    1. 重新进行数据校验,尤其是源系统重新导出的数据;
    2. 重新执行增量处理,但需要把处理日期设置为T,同时关闭对删除
    3. 数据的判断(也就是和全量文件对比,缺少的数据忽略即可,不认为是源系统删除了此数据);
    4. 增量式处理数仓模型数据(如果有的话);
    5. 维模型(星型模型)表,一般仓库的基础表只会保存最明细粒度的事实表,需要重新计算当日的事实表数据。
    6. 之后高层次的汇总分析集市部分,简单粗暴的,干掉重新生成吧。

    如果是通过源系统自行修复之后重新导出数据的话,则有两种情况:

    • 导出当日全天的数据,需要先行用保存下来的异常数据对比一下,把修复好的异常数据单独拿出来执行上面的流程;
    • 如果导出的只有修复之后的错误数据,则直接执行上面的流程。

    基于明细的表,包括全量历史表和数仓模型表,以及最明细粒度的维模型事实表,其结构都是支持增量叠加和修改某一天的数据。所以只需要确定处理的数据日期,重新执行一般来说问题不大的。但再往后,比如分析集市,其数据经过汇总的,就不一定很好进行处理了。但类似分析集市一类的数据,往往都不会单独保存在数据库或者自己设计的数据结构中了,都会使用专用工具,比如Cognos之类,不但数据需要汇总,还会压缩等。所以这部分数据,基本就是直接重建了。

    需要注意的是,这里说的异常数据,主要是流水表,订单表这种业务发生记录的数据。如果是机构表、地区表之类的数据有错误,一方面一般程序自动校验不出来,另一方面涉及到统计维度,造成的问题会很严重。

    所以:

    1. 数据尽量不要错;
    2. 仓库提供回滚机制,能恢复到一定期间内指定日期的样子。

    未完待续。

    上一篇:数据仓库实践杂谈-(五)-ETL

    下一篇:数据仓库实践杂谈(七)——数据标准化

    更多相关内容
  • 主要介绍了Vue+elementUI的动态表单的校验(根据条件动态切换校验格式),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 在工业环境中,电子系统通常工作在极端的温度条件下,或处 于电子噪声环境,或是其它恶劣条件,而系统在这种条件下能 否正常工作至关重要。举例来说,如果发送给控制机器臂位置 的DAC 的数据遭到破坏,机器臂就会按...
  • 在某些条件下,某些表单项会关闭验证 每个表单项还会有其他自定义逻辑,比如 输入框可以插入模板变量、输入字符数量显示、图片上传并显示、富文本 。。。 在这种错综复杂的情况下,完成表单的验证和提交 可以...
  • java 后端数据校验_后端数据验证

    千次阅读 2020-09-22 19:37:21
    java 后端数据校验It’s no secret that the list of 100 largest companies in the world by market value features many tech companies. In particular, it features software companies. 众所周知, 按市值列出...

    java 后端数据校验

    It’s no secret that the list of 100 largest companies in the world by market value features many tech companies. In particular, it features software companies.

    众所周知, 按市值列出的全球100家最大的公司中有许多高科技公司。 特别是它具有软件公司的特色。

    Apple, Microsoft, Amazon, Alphabet, Facebook, and Alibaba occupy six of the top seven positions, proving beyond any reasonable doubt that software rules the world. But if software is omnipresent today, so are software bugs.

    苹果,微软,亚马逊,Alphabet,Facebook和阿里巴巴占据了前七名中的第六名,这毫无疑问地证明了软件统治着世界。 但是,如果今天软件无所不在,那么软件错误也是如此。

    In this piece, we’ll discuss one of the most common mistakes that can lead to catastrophic results. We’ll see how such a mistake manifests in your code and a learn simple approach to avoid it.

    在本文中,我们将讨论可能导致灾难性结果的最常见错误之一。 我们将看到这种错误如何在您的代码中体现出来,并提供了一种避免这种错误的简单学习方法。

    永远不要信任您的用户 (Never Trust Your User)

    “Never trust your user” is one of those clichés you’ve probably heard if you’ve been writing software for more than a few months. In other words: Never trust any information submitted by a user. Whoever first said this was absolutely right!

    如果您编写软件已经有几个月以上了,那么“永远不要信任您的用户”就是您可能会听到的陈词滥调之一。 换句话说:永远不要信任用户提交的任何信息。 谁先说这是绝对正确的!

    What happens in the user’s browser when running the front end code you’ve developed is beyond your control. Essentially, the browser is a black box that, at some point, after the user has interacted with your code, might send you back a certain piece of data. How can you be unconditionally sure that this data has been generated as a result of the execution of your trusted code? Well, you can’t.

    运行您开发的前端代码时,用户浏览器中发生的事情是无法控制的。 本质上,浏览器是一个黑匣子,在用户与您的代码进行交互之后的某个时候,它可能会将您发送回某些数据。 您如何无条件地确定此数据是由于执行受信任代码而生成的? 好吧,你不能。

    Let’s take a look at an example. You’ll see first-hand why trusting user data is a bad idea.

    让我们看一个例子。 您将直接了解为什么信任用户数据是个坏主意。

    恶意数据提交 (A Malicious Data Submission)

    Let’s imagine a banking application that allows users to transfer funds from one account to another:

    让我们想象一个银行应用程序,它允许用户将资金从一个帐户转移到另一个帐户:

    Image for post
    An imaginary banking application (image by author)
    虚构的银行业务申请(作者提供的图片)

    When the user clicks on the Transfer button in the above scenario, your front end data validation code kicks in. It checks that there are enough funds in your account to allow you to proceed with the transfer and notifies you with an error message if not:

    在上述情况下,当用户单击“ Transfer按钮时,您的前端数据验证代码会启动。它将检查您帐户中是否有足够的资金可以进行转移,如果没有,则通过错误消息通知您:

    Image for post
    A sample frontend data validation scenario (image by author)
    前端数据验证场景示例(作者提供的图像)

    If you have a similar data validation scenario in your project, not backed by appropriate backend checks, there are many things that can go wrong here.

    如果您的项目中有类似的数据验证方案,并且没有适当的后端检查支持,那么这里可能有很多问题。

    禁用JavaScript (Disabling JavaScript)

    The user might simply disable JavaScript in the browser:

    用户可能只是在浏览器中禁用了JavaScript:

    Image for post
    Disabling JavaScript in Chrome (image by author)
    在Chrome中禁用JavaScript(作者提供的图片)

    In that case, the validation logic won’t run. Provided your application still works with JavaScript disabled, the transfer funds request will be submitted, executing a $150 transfer on an account with only $100 balance.

    在这种情况下,验证逻辑将不会运行。 如果您的应用程序仍可在禁用JavaScript的情况下运行,则将提交转帐资金请求,并在帐户余额为$ 100的情况下执行$ 150的转帐。

    修改来源 (Modifying sources)

    The source of the page and the underlying JavaScript code can be easily manipulated to do anything a malicious user might want:

    该页面的源代码和底层JavaScript代码可以轻松地进行操作,以执行恶意用户可能想要的任何事情:

    Image for post
    Manipulating the source of the page to display just anything — this is not Photoshopped (image by author)
    操纵页面的源以显示所有内容-这不是Photoshop处理(作者提供的图像)

    Similarly, the JavaScript code validating the balance and the amount to be transferred can be completely commented out or changed to allow all kinds of erroneous transfers.

    同样,验证余额和要转账金额JavaScript代码可以完全注释掉或更改,以允许各种错误的转账。

    请求捕获,修改和重放 (Request capturing, modifying, and replaying)

    Finally, the actual data submission request can be intercepted, captured, changed, and replayed. During the replay, a malicious user can change the body of the request to submit just any data they wish. If you’re interested in how to capture and replay REST requests, you can have a look at a previous piece of mine:

    最后,实际的数据提交请求可以被拦截,捕获,更改和重放。 在重播期间,恶意用户可以更改请求的主体以仅提交他们希望的任何数据。 如果您对如何捕获和重播REST请求感兴趣,可以看一下我的上一篇文章:

    So, how such a threat can be mitigated, or — even better— completely eliminated?

    那么,如何减轻或什至完全消除这种威胁呢?

    后端验证 (Backend Validations)

    Irrespective of front end technology and framework, your back end will eventually end up receiving a data request. It’s how you treat the content of that request that makes a difference.

    无论前端技术和框架如何,您的后端最终都会收到数据请求。 对待请求内容的方式与众不同。

    A quick recap: Never trust the data submitted by the user.

    快速回顾:永远不要信任用户提交的数据。

    Every bit of data submitted by your user has to be validated on your back end. Discard any information that you can obtain by querying your underlying data sources and keep only what is intrinsic to the actual request being handled. Here’s how you could validate the malicious request presented above:

    用户提交的每一位数据都必须在后端进行验证。 丢弃可以通过查询基础数据源获得的任何信息,并仅保留要处理的实际请求所固有的内容。 这是验证上面提出的恶意请求的方法:

    Image for post
    A backend validation flow (image by author)
    后端验证流程(作者提供的图片)

    The back end validation code not only checked, independently of the frontend, that the user has sufficient funds but also validated the real system ID of the user (using a security token/header passed along with the request) as well as the corresponding source account for that user. The transfer was eventually allowed only when all independently-checked conditions were satisfied.

    后端验证代码不仅独立于前端检查用户是否有足够的资金,而且还验证了用户的真实系统ID(使用与请求一起传递的安全令牌/标头)以及相应的源帐户对于该用户。 最终只有在所有独立检查的条件都满足时才允许转移。

    Of course, real banking software systems might need to perform more complex data validations than that shown above. However, basic validation checks such as these should always be part of your back end code.

    当然,实际的银行软件系统可能需要执行比上面显示的更为复杂的数据验证。 但是,诸如此类的基本验证检查应始终是后端代码的一部分。

    Implementing back end validation checks guarantees that any kind of malicious request has the chance to be re-checked in an environment you control. This is the only way to ensure that you, as the developer, have the final word on whether something should be executed or not.

    实施后端验证检查可确保任何种类的恶意请求都有机会在控制的环境中重新检查。 这是确保您(作为开发人员)对是否应该执行某些事情有最终决定权的唯一方法。

    结论 (Conclusion)

    If you’re a junior developer reading this piece, I hope you had the chance to learn something and next time you implement a data submission functionality you think of backend validations too. If you’re a mid/senior developer, you probably nod your head with a little sigh — you’ve seen these mistakes way too many times. Hopefully, you had the chance to catch them in a code review instead of prod!

    如果您是初级程序员,请阅读本文,希望您有机会学习一些知识,下次希望实现数据提交功能时,也请考虑一下后端验证。 如果您是中高级开发人员,则可能会稍感叹息-您已经多次看到这些错误。 希望您有机会在代码审查中找到他们,而不是产品!

    In conclusion, never trust your user and always perform back end data validation checks.

    总之,永远不要信任您的用户,并且始终执行后端数据验证检查。

    Thank you for reading this piece. I hope to see you on the next one.

    感谢您阅读本文。 我希望在下一个再见。

    翻译自: https://medium.com/better-programming/back-end-data-validations-73ea9004c6d7

    java 后端数据校验

    展开全文
  • 帆软报表填报校验数据插入时判断插入数据是否和数据库数据是否重复,不重复则插入,重复则显示提示信息“数据插入重复,请检查”,反之则插入成功,报表页面显示插入数据
  • Laravel开发-validating 模型数据自动验证 以trait的方式来实现雄辩数据模型保存的时候自动验证
  • 在工业环境中,电子系统通常工作在极端的温度条件下,或处 于电子噪声环境,或是其它恶劣条件,而系统在这种条件下能 否正常工作至关重要。举例来说,如果发送给控制机器臂位置 的DAC 的数据遭到破坏,机器臂就会按...
  • 一、数据验证概述 推荐以下操作在2007之后操作 1.1、查看excel的数据验证 1、进入   2、设置规则   通过验证条件允许,可以看到是每个单元格默认只成立一种条件 1.2、POI代码开发-数据验证 1.2.1、两个数...

    一、数据验证概述

    推荐以下操作在2007之后操作

    1.1、查看excel的数据验证

    1、进入

      

    2、设置规则

          

    通过验证条件允许,可以看到是每个单元格默认只成立一种条件

    1.2、POI代码开发-数据验证

    1.2.1、两个数之间

        public void excelRuleNumberBetween(Sheet sheet, int min, int max, int firstRow, int lastRow, int firstCol, int lastCol){
            DataValidationHelper helper = sheet.getDataValidationHelper();
            CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);//设置行列范围
            //设置数据
            DataValidationConstraint constraint = helper.createIntegerConstraint(DataValidationConstraint.OperatorType.BETWEEN,
                    String.valueOf(min),String.valueOf(max));
            DataValidation dataValidation = helper.createValidation(constraint, addressList);
            dataValidation.createErrorBox("输入值类型或大小有误", String.format("请输入%s~%s之间的数值",min,max));
            //处理Excel兼容性问题
            if(dataValidation instanceof XSSFDataValidation) {
                dataValidation.setSuppressDropDownArrow(true);
                dataValidation.setShowErrorBox(true);
            }else {
                dataValidation.setSuppressDropDownArrow(false);
            }
            sheet.addValidationData(dataValidation);
        }

    1.2.2、选择【序列】

        public void excelRuleSelect(Sheet sheet, String[] rule, int firstRow, int lastRow, int firstCol, int lastCol) {
            DataValidationHelper helper = sheet.getDataValidationHelper();
            CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
            DataValidationConstraint constraint = helper.createExplicitListConstraint(rule);
            DataValidation dataValidation = helper.createValidation(constraint, addressList);
            dataValidation.createErrorBox("输入有误", "请选择下拉参数");
            if (dataValidation instanceof XSSFDataValidation) {
                dataValidation.setSuppressDropDownArrow(true);
                dataValidation.setShowErrorBox(true);
            } else {
                dataValidation.setSuppressDropDownArrow(false);
            }
    
            sheet.addValidationData(dataValidation);
        }

    1.2.3、列唯一

      使用excel设置

        

      POI设置

        public void excelRuleUniqueue(Sheet sheet, int firstRow, int lastRow, int firstCol, int lastCol) {
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(firstCol);
            String r = ((XSSFCell) cell).getCTCell().getR();
            r = r.substring(0, 1);
            DataValidationHelper helper = sheet.getDataValidationHelper();
            CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
            //唯一
            DataValidationConstraint constraint = helper.createCustomConstraint(MessageFormat.format("COUNTIF({0}:{0},{0}2)=1",r));
            DataValidation dataValidation = helper.createValidation(constraint, addressList);
            dataValidation.createErrorBox("错误:", "赋值属性列不允许重复");
            dataValidation.setShowErrorBox(true);
            dataValidation.setEmptyCellAllowed(true);
            dataValidation.setSuppressDropDownArrow(true);
            dataValidation.setShowPromptBox(true);
            dataValidation.setErrorStyle(DataValidation.ErrorStyle.STOP);
    
            sheet.addValidationData(dataValidation);
        }

    二、其他

    2.1、列筛选

    查看excel实现

      

    POI代码  

    Sheet sheetCreat = wbCreat.createSheet(sheet.getSheetName());
    CellRangeAddress c = CellRangeAddress.valueOf(CELL_RANGE_ADDRESS);
    sheetCreat.setAutoFilter(c);

     

    转载于:https://www.cnblogs.com/bjlhx/p/11240696.html

    展开全文
  • Excel数据验证,输入又快不会错

    千次阅读 2021-07-26 02:46:12
    在往Excel中录入数据时,有时会遇到大量的重复数据,比如有这么一个工作表,第一列显示任务名,第二列显示任务执行者,第三列显示执行者的性别,其中任务执行者为固定的几个人交替执行,性别显然不是男就是女,也是...

    在往Excel中录入数据时,有时会遇到大量的重复数据,比如有这么一个工作表,第一列显示任务名,第二列显示任务执行者,第三列显示执行者的性别,其中任务执行者为固定的几个人交替执行,性别显然不是男就是女,也是重复性的。遇到类似这种情况,就可以通过Excel数据有效性的设定,既可避免重复输入,又能确保不会出错。

    首先将光标移到“性别”一列的顶部,这时光标变成向下的箭头,此时点击将全选这一整列。

    41fd8143433cce6b6ceb44dd1a1fa25d.png

    切换到“数据”选项卡,点击其中的“数据验证”,从下拉菜单中继续点击“数据验证”。

    afd624c595db8dd9d73c3f59af3454ce.png

    在弹出的数据验证对话框中,将验证条件中“允许”设置为“序列”,并在来源中直接输入“男,女”(不含外侧引号,中间以英文逗号隔开)。

    71434c40714a2a39b8afde7146024082.png

    现在在输入性别时,不用一个一个手动输入,只需要点击下拉按钮,然后从下拉项中直接选择就可以了。

    1c8af3ce81e43868c65c13c98b1e9ba3.png

    扩展技巧1:

    除了上述直接输入可选项外,还有一种方法,就是在Excel表格的某处先行输入各选项。然后同上操作,全选“执行者”这一列,并调出数据验证对话框,设置验证条件为“序列”。在“来源”一项中,此处不再直接手工输入,而是点击其右侧的彩色按钮,然后选中表格中已经录入好的数据项,这几个数据项的位置将自动显示在数据验证框中,再次点击其右侧的彩色按钮确认,返回到数据验证完整对话框中,点击“确定”即可。

    2d981491881bbb18228b77a2510777bf.png

    此时在“执行者”,不需要一个一个输入执行者姓名,点击下拉按钮然后进行选择就可以啦。

    7bc59c824d924b5461a19a8927e2a88f.png

    扩展技巧2:

    如果强行输入已经设置好的数据验证之外的数值,系统就会弹出警告,指数据验证不匹配,以确保输入的正确。

    6149cd0476de83915f7b81ecc04cff5d.png

    如果觉得上述提示框中的警告过于生硬,其实你还可以定制自己的提示语。在数据验证对话框中,切换到“出错警告”,可以选择警告的样式,也可以随意设置警告提示语。

    071325d087434bdc0c8691d0506648f8.png

    怎么样,这个Excel的数据验证是不是很有用?对了,这一功能在WPS中同样适用,不过在WPS里,它叫作“数据有效性”。

    展开全文
  • 主要方法:超级表+数据验证性 主要内容:通过更新表中的值,下拉菜单中的值也会随之更新 主要步骤: 步骤一:插入表格,修改名称框 选中A列,插入表格,在红框的部分修改名称,并回车(一定要回车!) 步骤二:查看...
  • Kettle使用_7 数据校验组件应用

    千次阅读 2021-01-18 18:45:53
    Kettle使用_8 数据校验组件应用 需求: 通过数据校验组件完成数据字段、长度、类型、字段是否为空、字段是否在指定的范围内的检验 统计出错误的个数(错误类型的个数) 能根据错误个数做流程终止的控制。 ...
  • Java数据校验详解

    万次阅读 2018-08-21 16:54:23
    ...各路大神当然也会注意到这个问题,所以在“元编程”(见JSR250与资源控制)提出之后相续提交了JSR-303、JSR-349以及JSR-380来完善使用注解进行数据校验的机制,这三个JSR也被称为Bean Valid...
  • python设置Excel单元格的数据有效性

    千次阅读 2021-03-12 22:15:14
    openpyxl设置Excel单元格的数据有效性简介设置单个单元格的数据有效性设置多个单元格的数据有效性 简介 我们在日常给工作中都需要用python操作Excel,比如将数据写入Excel、读取Excel中数据设置Excel单元格格式等...
  • ssm数据校验数据回显

    千次阅读 2018-11-05 12:50:07
    数据校验 校验的理解: 项目中,通常使用较多是前端的校验,比如页面中js校验。对于安全要求较高点建议在服务端进行校验。 服务端校验: 控制层conroller:校验页面请求的参数的合法性。在服务端控制层...
  • Struts2数据校验功能实现

    千次阅读 2018-01-09 16:27:34
    前言数据校验一般是校验...回顾之前的数据验证,主要是在业务逻辑代码之前增加if条件判断来进行校验的。比如:在登录时候在Action中的login()方法中进行判断,但是我们只想在login()写业务逻辑,不想搞这么复杂的代码,
  • 常用的数据校验方法

    千次阅读 2018-06-11 16:26:57
    1.什么是数据校验  通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。 2.最...
  • EXCEL2019 ---- 数据验证

    2020-04-27 15:39:26
    很多人可能对 Excel 数据有效性不太熟悉,甚至有的人没有使用过。其实,数据有效性是 Excel 的一个非常强大的功能。利用数据有效性,可以控制数据的输入,提高数据...所谓数据有效性,就是对单元格设置的一个规则,...
  • 几种常用的数据校验方式

    万次阅读 2018-12-29 16:11:13
    我们知道数据在传输过程中,可能会存在数据出错的情况。为了保证数据传输的正确性,因此会采取一些方法来判断数据是否正确,或者在数据出错的时候及时发现...使用:通常专门设置一个奇偶校验位,存放代码中“1”的个...
  • for (XSSFDataValidation dv : dataValidations) { // 已有的验证 } // CellRangeAddressList dstAddrList = new CellRangeAddressList(0, 500, 0, 0);// 规则一单元格范围 String[] textlist = {...
  • VBA在Excel中的应用(一):改变符合条件单元格的背景颜色 vba判断不是空_百度知道 测试文件 链接: http://pan.baidu.com/s/1o7QsCJo 密码:eni7 1.启用宏,编写VBA,使单元格输入的内容自动转变为大写...
  • jquery实现简单的数据校验

    千次阅读 2018-12-21 16:23:01
    //触发所有必填项的校验 $(".bitian").trigger("blur"); //找到错误信息的个数 if($(".error").length > 0){ return false; } return true; }); }) ...
  • /*数据位、停止位、校验位*/ opt . c_cflag | = ( CLOCAL | CREAD ) ; opt . c_lflag & = ~ ( ICANON | ECHO | ECHOE | ISIG ) ; //原始模式,输入数据不经处理 opt . c_oflag & = ~ OPOST ;...
  •   循环冗余校验(Cyclic Redundancy Check,CRC)是数据通讯中很常用的一种校验方式。尤其是在嵌入式软件开发中,经常要用到 CRC 算法对各种数据进行校验。生成的数字在传输或者储存之前计算出来并且附加到数据...
  • STM32我们在使用数据位是7并且使能了校验位的时候,字长我们需要设置成8bit,这样对单片机来说,就是7bit数据+1bit的校验位。这个可以从技术文档中查看: 7bit Even 1 stop具体配置如下: USART_StructInit(&...
  • Java应用中的数据校验

    千次阅读 2018-10-23 18:11:28
    [译者注:这篇文章是开源项目CUBA Platform的作者,在这篇文章中,作者阐述了CUBA平台中关于数据校验的设计思想和使用方式,可以作为大家在设计数据校验方面一个比较好的参考。] 我接触到的很多项目中,对数据校验...
  • EXCEL数据有效性前置校验的两种方式

    千次阅读 2020-06-14 14:17:02
    1、采用exce自带l数据验证功能进行验证 2、编写并内置vba脚本程序进行验证
  • kettle 数据过滤,验证

    热门讨论 2012-10-30 16:11:17
    个人总结的kettle的脚本,包含身份证15位转18位,以及各种数据正则验证

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 552,955
精华内容 221,182
关键字:

如何设置数据验证条件