Sử dụng các định nghĩa quy tắc dựng sẵn với IBM InfoSphere Information Analyzer

Nhập khẩu và sử dụng các xác nhận hợp lệ chất lượng dữ liệu định sẵn

Một thách thức chính trong việc đánh giá và giám sát chất lượng thông tin là bắt đầu quá trình xác nhận hợp lệ các yêu cầu kinh doanh chủ yếu. Thay vì bắt đầu với một việc chưa xác định rõ, bài này bao gồm và cho thấy cách sử dụng các định nghĩa quy tắc dựng sẵn để bắt đầu.

Harald Smith, Kiến trúc sư phần mềm, IBM

Harald SmithVới gần 30 năm trong việc phát triển Công nghệ thông tin và phần mềm, Harald đã tập trung vào việc thiết kế và cung cấp các giải pháp và các sản phẩm chất lượng thông tin trong vòng 14 năm qua, bao gồm các phương pháp và hướng dẫn thực hành tốt nhất trong các thực hành chất lượng thông tin.


Cấp độ đóng góp cho developerWorks của
        tác giả

15 12 2011

Tìm hiểu cách sử dụng các gói dựng sẵn của các quy tắc phân tích chất lượng dữ liệu IBM® InfoSphere® Information Analyzer (Trình phân tích thông tin InfoSphere của IBM). Chúng tôi sẽ cho bạn thấy cách hiểu nội dung có sẵn, cách sử dụng thông tin đó để giải quyết các điều kiện chất lượng dữ liệu chung và sau đó là cách nhập khẩu nó vào môi trường Information Analyzer của bạn để đẩy nhanh việc phát triển và đánh giá quy tắc.

Tổng quan

Với InfoSphere Information Analyzer của IBM, bạn có thể tạo ra các quy tắc chất lượng dữ liệu để giám sát tự động các vấn đề chất lượng dữ liệu tiềm năng dựa vào các yêu cầu kinh doanh đã định hoặc dựa trên các vấn đề đã xác định trong việc phân tích hiệu năng dữ liệu. Các quy tắc này có thể mất thời gian để phát triển và thử nghiệm để tìm ra hàng loạt dữ liệu trong một bảng, hệ thống hoặc môi trường cụ thể.

Mục tiêu của bài này là cho bạn thấy các cách để đẩy nhanh sự phát triển này thông qua việc nhập khẩu và sử dụng các định nghĩa quy tắc dựng sẵn của Information Analyzer, có kèm theo bài này. Bằng cách sử dụng các định nghĩa quy tắc chất lượng dữ liệu dựng sẵn, bạn sẽ có thể đẩy nhanh việc phát triển xác nhận hợp lệ chất lượng dữ liệu trong doanh nghiệp của bạn.

Bài này tập trung vào các nhiệm vụ sau:

  • Hiểu biết về các định nghĩa quy tắc có sẵn trong các gói dựng sẵn.
  • Sử dụng các định nghĩa quy tắc dựng sẵn để giải quyết các điều kiện chất lượng dữ liệu chung.
  • Rà soát lại cấu trúc và nội dung của tệp XML định nghĩa quy tắc của Information Analyzer.
  • Nhập khẩu các định nghĩa quy tắc dữ liệu dựng sẵn bằng cách sử dụng API HTTP/CLI — một tính năng được giới thiệu trong phiên bản V8.5 và phiên bản nâng cao V8.7 của InfoSphere Information Analyzer.

Các quy tắc chất lượng dữ liệu dựng sẵn kèm theo bài này nhằm mục đích:

  • Giảm nỗ lực xác định các vấn đề chất lượng dữ liệu trong nhiều miền thông tin phổ biến (các khóa, các mã định danh quốc gia, các ngày tháng, các mã quốc gia, các địa chỉ email, v.v..) và các điều kiện (các kiểm tra tính toàn vẹn, các giá trị hợp lệ, các kiểm tra phạm vi, tổng số gộp chung, các phương trình, v.v..).
  • Dùng làm các mô hình, các khuôn mẫu và các ví dụ dùng cho việc thiết kế quy tắc bổ sung riêng của bạn.
  • Được sử dụng trong các công việc của Information Analyzer (hoặc V8.5 hoặc V8.7) hoặc thông qua Rule Stage (Giai đoạn quy tắc) có sẵn trong Phiên bản V8.7 của Information Server (Máy chủ thông tin).

Giải quyết các miền dữ liệu và các điều kiện chất lượng chung

Hầu như bất kỳ mảnh dữ liệu nào được lưu trong một cơ sở dữ liệu hay tệp hay đang được xử lý thông qua một công việc hay dịch vụ web có một số điều kiện liên quan cho biết liệu dữ liệu có đáp ứng được các quy tắc xác nhận hợp lệ đã thiết lập không. Những điều kiện này có thể đơn giản khi cho biết rằng phải có dữ liệu trong trường (tức là, nó có đầy đủ không) hoặc khi có dữ liệu thì nó cần tuân theo một số định dạng hoặc bộ các giá trị đã quy định (tức là, các giá trị hợp lệ). Hoặc các điều kiện có thể chỉ ra rằng dữ liệu phải khớp với các bản ghi trong một nguồn tham khảo đã quy định, ví dụ như các mã bưu điện hoặc cho biết rằng một phương trình cụ thể được tính toán đúng.

Phạm vi tiềm năng của dữ liệu có thể được đánh giá và số lượng tiềm năng của các điều kiện chất lượng có thể được xác định là rất phong phú và bài này (và các định nghĩa quy tắc dựng sẵn kèm theo) không thể giải quyết mọi tình huống có thể. Thay vào đó, bài này tập trung vào việc cung cấp tài nguyên cho một tập các miền và các điều kiện dữ liệu được tìm thấy phổ biến trong nhiều nguồn dữ liệu.

Information Analyzer cung cấp một khả năng để xác định logic quy tắc cho các miền dữ liệu và các điều kiện như vậy tách rời khỏi bất kỳ nguồn dữ liệu vật lý nào, do đó cùng một logic luôn được áp dụng nhất quán từ nguồn dữ liệu này sang nguồn dữ liệu khác (tức là, một định nghĩa quy tắc dữ liệu có thể được áp dụng và được sử dụng với nhiều nguồn dữ liệu). Được kết hợp với một khả năng nhập khẩu một bộ các định nghĩa quy tắc theo một định dạng XML đã định nghĩa, bạn có thể lấy các định nghĩa quy tắc dựng sẵn này và nạp chúng vào Information Analyzer và bắt đầu áp dụng chúng cho các nguồn dữ liệu riêng của bạn.

Các định nghĩa quy tắc

Các định nghĩa quy tắc tiếp theo một cú pháp cơ bản mà ở đó một biến, có thể chỉ đơn giản là một từ hoặc thuật ngữ, được đánh giá dựa trên một điều kiện hoặc kiểu kiểm tra đã quy định. Các điều kiện hoặc kiểm tra đã quy định có thể hoặc không thể yêu cầu một số giá trị tham khảo bổ sung, ví dụ như biến khác, một danh sách các giá trị, một định dạng cụ thể, v.v.. Hơn nữa, một số điều kiện có thể được kết nối cùng với các mệnh đề IF, THEN, AND hoặc OR. Ví dụ, một định nghĩa quy tắc rất đơn giản có thể như sau: DateOfBirth IS_DATE.

Điều kiện này chỉ ra rằng một biến gọi là DateOfBirth phải có một định dạng ngày được công nhận.

Trong một trường hợp phức tạp hơn một chút, bạn có thể có một định nghĩa quy tắc như Liệt kê 1.

Liệt kê 1. Định nghĩa quy tắc mẫu
IF DateOfBirth EXISTS
AND DateOfBirth > datevalue('1900-01-01')
AND DateOfBirth < date()
THEN CustomerType = 'P'

Ở đây, có một câu lệnh có điều kiện để kiểm tra xem biến DateOfBirth có tồn tại và nằm trong một phạm vi đã thiết lập không và chỉ khi các điều kiện đó được đáp ứng, một biến khác được gọi là CustomerType mới được kiểm tra để xem liệu nó có bằng với một giá trị đã quy định không.

Thông tin thêm về việc tạo và sử dụng các định nghĩa quy tắc có sẵn trong tài liệu hướng dẫn người dùng Information Analyzer (xem Các định nghĩa Quy tắc dữ liệu).

Các ví dụ về miền dữ liệu cơ bản

Các định nghĩa quy tắc cơ bản nhất kiểm tra để tìm sự đầy đủ của một trường hoặc một định dạng chữ hoặc số tiêu chuẩn. Các quy tắc dựng sẵn gồm các ví dụ về những điều kiện này.

Hình 1. Các quy tắc kiểu dữ liệu và tính đầy đủ phổ biến
Ảnh hiển thị các quy tắc và mô tả của nó

Ví dụ, định nghĩa quy tắc AlphanumFieldExists đánh giá điều kiện sau: Field1 EXISTS AND len(trim(Field1)) <> 0.

Ví dụ này bao gồm một số khả năng cơ bản của Information Analyzer:

  • Việc sử dụng một tên biến chung — trong trường hợp này, chỉ cần gọi là Field1
    • LƯU Ý: Biến có thể được kết nối để (kết buộc) tới bất kỳ cột hoặc trường dữ liệu nào. Đây là tính linh hoạt cho phép một định nghĩa quy tắc cung cấp cơ sở cho nhiều quy tắc dữ liệu có thể thực hiện được thực tế.
  • Kiểm tra để tìm nhiều điều kiện — Sự tồn tại của dữ liệu và một điều kiện không bằng (<>)
    • LƯU Ý: Không có giới hạn cụ thể nào về số lượng các điều kiện có thể được đưa vào trong một định nghĩa quy tắc, mặc dù trên thực tế để giữ cho các định nghĩa quy tắc dễ hiểu là rất có ích. Trong việc tạo ra các định nghĩa quy tắc, hãy tìm kiếm các khối xây dựng cơ bản và lợi dụng khả năng của bộ quy tắc của Information Analyzer để kết hợp các điều kiện thay vì xây dựng tất cả chúng thành một quy tắc (xem Các kỹ thuật phân tích quy tắc dữ liệu trong Trung tâm Thông tin của IBM].
  • Việc đưa vào các chức năng — Trong trường hợp này là len và trim
    • LƯU Ý: Hãy tham khảo Hướng dẫn người dùng Information Analyzer để biết Các loại chức năng có sẵn. Thường có thể sử dụng các chức năng để tạo các điều kiện dễ giải quyết hơn. Trong trường hợp này, các chức năng được sử dụng để kiểm tra các khoảng trống trong một trường. Trước tiên chức năng trim (cắt tỉa) loại bỏ bất kỳ số lượng các giá trị để trống (khoảng trống) từ bên trái hoặc bên phải của bất kỳ văn bản thực tế nào. Chức năng len xác định độ dài của tất cả các ký tự chữ và số còn lại với một hy vọng rằng trường này sẽ có ít nhất một giá trị ký tự (có nghĩa là, chiều dài khác 0).

Các miền dữ liệu theo phân loại dữ liệu

Ở mức cơ bản, ngoài các ví dụ chung chung ở trên, bạn hầu như có thể phân loại dữ liệu vào một tập các miền dữ liệu chung như đã thấy trong các thông tin chi tiết về Column Analysis (Phân tích Cột) của Information Analyzer:

  • Mã định danh — Một trường phổ biến duy nhất và có thể nhận biết dữ liệu liên quan (ví dụ, Customer ID - mã định danh khách hàng, National identifier - mã định danh quốc gia).
  • Bộ chỉ thị — Một trường, thường được gọi là một Cờ, có một điều kiện nhị phân (ví dụ, True - Đúng hay False - Sai, Yes - Có hoặc No - Không, Female - Nữ hay Male - Nam).
  • Mã (Code) — Một trường, có một bộ các giá trị riêng biệt và đã xác định, thường được viết tắt (ví dụ, Mã trạng thái, Trạng thái khách hàng).
  • Ngày — Một trường có chứa một số giá trị ngày.
  • Số lượng — Một trường có chứa một giá trị số và không được phân loại như một Mã định danh hoặc Mã (ví dụ như, Price - Giá, Amount - Số tiền, Asset Value - Giá trị tài sản).
  • Văn bản — Một trường có chứa các giá trị chữ và số, văn bản có thể dài và không được phân loại như một Mã định danh hoặc Mã (ví dụ, Name - Tên, Address - Địa chỉ, Description - Mô tả).

Ngoài ra, có một phân loại quy tắc cơ bản: Valid Value Combination (Kết hợp giá trị hợp lệ), trong đó một trường thường là một giá trị nhất định, một trường thứ hai phải có một số giá trị cụ thể.

Một tập con các định nghĩa quy tắc dựng sẵn tiếp sau các việc phân nhóm chung và các yêu cầu xác nhận hợp lệ điển hình này. Ví dụ, Hình 2 nêu bật các định nghĩa quy tắc dựng sẵn cho các trường Code.

Hình 2. Các định nghĩa quy tắc dựa trên phân loại phổ biến cho các mã số
Ảnh hiển thị danh sách các mã và các định nghĩa của chúng

Các định nghĩa quy tắc này dựa trên các phân loại dữ liệu phổ biến thường đánh giá các định dạng cấu trúc hay các yêu cầu xác nhận hợp lệ cơ bản (ví dụ, một Mã định danh phải nằm trong một phạm vi được giới hạn giữa một giá trị thấp và một giá trị cao, nhưng nó không quy định bất kỳ giá trị chính xác nào).

Ví dụ, nếu bạn có một trường Code cho phép các giá trị chữ số 0-9, bạn có lẽ cần áp dụng định nghĩa quy tắc Code1DigitNumeric (xem trong Hình 2) để kiểm tra xem trường này có chứa một giá trị số một chữ số không. Định nghĩa quy tắc này như sau: Code MATCHES_FORMAT '9'.

Ví dụ này cho thấy một điều kiện đơn giản:

  • Sử dụng một biến chung được gọi là Code
  • Một việc kiểm tra để tìm một điều kiện định dạng duy nhất: MATCHES_FORMAT
    • LƯU Ý: Information Analyzer có hai bước kiểm tra riêng biệt về định dạng dữ liệu: MATCHES_FORMAT, được hiển thị ở đây và MATCHES_REGEX, đánh giá dựa vào một loạt các điều kiện của biểu thức chính quy (có thể tìm thấy nhiều ví dụ thông qua một tìm kiếm Google đơn giản theo thuật ngữ "regular expression" - biểu thức chính quy).
  • Điều kiện MATCHES_FORMAT đòi hỏi một giá trị tham khảo; trong trường hợp này, nó dự kiến một và chỉ một giá trị số (tất cả các chữ số bằng số được biểu diễn bằng một số 9).

Các miền dữ liệu phổ biến

Như đã lưu ý, có nhiều miền dữ liệu tiềm năng có thể được kết hợp vào một gói các định nghĩa quy tắc dữ liệu dựng sẵn. Các ví dụ về các miền phổ biến cho các gói có sẵn gồm có:

  • Thông tin nhân khẩu học
    • Tuổi
    • Ngày sinh
    • Ngày mất
    • Mã định danh quốc gia (ví dụ, Số an sinh xã hội của Hoa Kỳ, số SIN của Canada, số hộ chiếu, Mã tài chính của Ý, v.v..)
  • Thông tin địa chỉ Internet
    • Địa chỉ email
    • Địa chỉ IP
    • URL
  • Thông tin đặt hàng/bán hàng/chính sách
    • Số tiền và số lượng đặt hàng
    • Số tiền bán hàng (ví dụ, có hoặc không có thuế bán hàng, có hoặc không có giảm giá)
    • Thời điểm đến hạn thanh toán
    • Mã sản phẩm (ví dụ: mã ISBN, mã UPC)
  • Thông tin việc làm
    • Ngày bắt đầu
    • Số tiền phải trả
  • Thông tin Điện thoại (chỉ cho vùng Bắc Mỹ)
    • Định dạng điện thoại
    • Mã vùng

Các miền phổ biến này mở rộng phạm vi của các lớp dữ liệu, cung cấp nhiều trường hợp cụ thể hơn cho việc sử dụng của bạn, cũng như các điều kiện quy tắc có thể phức tạp hơn. Hãy xem xét định nghĩa quy tắc dựng sẵn sau SalesamtWDiscountPlusTaxValid, để đánh giá trường số tiền bán hàng dựa trên một vài biến, bao gồm một biến giảm giá (discount) và một biến thuế (tax):

(qtyValue1 * price) - (qtyValue1 * discount) + (((qtyValue1 * price) - 
  (qtyValue1 * discount)) * salesTax) = totalAmount

Ví dụ này nhấn mạnh rằng thông tin nguồn (trong trường hợp này) hoặc thông tin tham khảo được sử dụng trong việc xác nhận hợp lệ có thể kết hợp một số tiêu chí:

  • Có năm biến đang dùng trong logic này:
    • qtyValue1 — Số lượng của một mục trong một đơn đặt hàng hoặc bán hàng.
    • price — Giá của một mục trong một đơn đặt hàng hoặc bán hàng.
    • discount — Một phần tiền giảm giá được áp dụng cho một mục trong một đơn đặt hàng hoặc bán hàng.
    • salesTax — Thuế doanh thu được áp dụng trên một đơn đặt hàng hoặc bán hàng.
    • totalAmount — Tổng số tiền của một đơn đặt hàng hoặc bán hàng
    • LƯU Ý: Không có đặc tả nào trong chính định nghĩa quy tắc đó ở nơi lưu trữ dữ liệu thực sự vào đó; có thể chứa tất cả các biến này trong một cơ sở dữ liệu hay tệp hoặc có thể đến từ các nguồn khác nhau. Thông tin đó chỉ bắt buộc khi các biến được kết buộc khi tạo một quy tắc dữ liệu có thể thực hiện được.
  • Một bước kiểm tra để tìm một điều kiện duy nhất = (bằng)
    • LƯU Ý: Quy tắc này cũng có thể được viết ngược lại, ở đây totalAmount là biến nguồn (ở bên trái), bằng với dữ liệu tham khảo (phương trình đặt ở bên phải).
  • Một phương trình sử dụng một loạt các hàm (các toán tử số tiêu chuẩn +, -, */) và các dấu ngoặc đơn có liên quan.

Các miền dữ liệu tiêu chuẩn hóa (của Mỹ)

Một gói quy tắc dựng sẵn kèm theo được nhắm vào việc xác nhận hợp lệ đầu ra của các quá trình tiêu chuẩn hóa với các tên, các địa chỉ đường phố và các vùng bưu chính của Mỹ từ IBM InfoSphere QualityStage®. Giai đoạn Tiêu chuẩn hóa của QualityStage nhận dữ liệu đến như các tên và các địa chỉ của Mỹ không rõ, phân tích dữ liệu đó và tạo ra một dạng tiêu chuẩn hóa. Ví dụ, hãy xem xét hai địa chỉ sau:

One hundred West Main Street apt 10
100 W Main St #10

Rất có thể, hai địa chỉ này biểu thị cùng một vị trí. Nhưng sự khác biệt về định dạng và mô tả thường ngăn không cho thông tin đó được kết nối. Kết quả đầu ra của giai đoạn Tiêu chuẩn hoá khi sử dụng một bộ các quy tắc dùng cho các địa chỉ của Mỹ cho cả hai địa chỉ trên sẽ tạo ra:

Street#  Pre-direction	Street	St. Type   Unit    Unit#
100         W              Main       St        Apt     10
100         W              Main       St        Apt     10

Nói chung, các bộ quy tắc tiêu chuẩn hóa tạo ra một kết quả khá nhất quán, nhưng có thể có các trường hợp ngoại lệ, ví dụ như dữ liệu mới, các điều kiện bất ngờ, dữ liệu kiểm tra hoặc dữ liệu mặc định và các định dạng bất thường. Các định nghĩa quy tắc dựng sẵn nhắm vào các kết quả đầu ra này, mặc dù chúng có thể được áp dụng cho bất kỳ tên, địa chỉ hoặc thông tin vùng bưu chính đúng cú pháp nào. Ví dụ, định nghĩa quy tắc RuralRouteTypeIfExistsThenValidValues kiểm tra xem một kiểu tuyến đường nông thôn có hợp lệ không.

IF RuralRouteType EXISTS
AND len(trim(RuralRouteType)) <> 0
THEN rtrim(RuralRouteType) IN_REFERENCE_LIST {'RR','RTE','HC','CONTRACT'}

Ví dụ này làm nổi bật một số tiêu chí dùng một điều kiện IF…THEN:

  • IF…AND… giống như ví dụ đầy đủ AlphanumFieldExists được hiển thị ở trên. Khi được biểu diễn trong một điều kiện IF, chỉ các bản ghi mà trường của chúng có một giá trị sẽ được đánh giá bằng điều kiện THEN tiếp theo. Các bản ghi không có giá trị nào sẽ không được đánh giá và sẽ không tạo ra bất kỳ trường hợp ngoại lệ nào.
  • Điều kiện THEN là cơ sở để đáp ứng hoặc không đáp ứng định nghĩa quy tắc. Trong điều kiện đó, chức năng rtrim loại bỏ bất kỳ khoảng trống nào ở bên phải của RuralRouteType và giá trị kết quả được đánh giá dựa vào một bộ có 4 giá trị hợp lệ cụ thể trong danh sách.
  • LƯU Ý: Kiểu các định nghĩa quy tắc IF…THEN này làm việc tốt với nhau như là một phần của một bộ quy tắc lớn hơn. Về bản chất, chúng mô tả một loạt các trường hợp, mỗi trường hợp có tiêu chí riêng. Nhờ xác định các định nghĩa quy tắc riêng biệt và tạo nhóm thành bộ quy tắc, nó cho phép hiểu sâu hơn về các bản ghi có vấn đề, cũng như có bao nhiêu bản ghi vi phạm quy tắc cụ thể.

Sử dụng các định nghĩa quy tắc dựng sẵn

Các định nghĩa quy tắc dựng sẵn kèm theo có thể được xem xét từ quan điểm thiết kế và quan điểm triển khai.

Bộ tăng tốc thời gian thiết kế, các khuôn mẫu và các mô hình

Theo quan điểm thiết kế, bạn có thể sử dụng các định nghĩa quy tắc dựng sẵn như nó vốn có, sao chép/sửa đổi để đáp ứng các nhu cầu của bạn hoặc sử dụng chúng làm các mô hình thiết kế. Các phần tiếp theo về "Nhập khẩu các định nghĩa quy tắc dựng sẵn" mô tả các bước cơ bản để đưa các gói dựng sẵn vào dự án hay các dự án của bạn.

Tệp IARuleDefs-BaseSet1-General-v8x.xml gồm có hơn 130 định nghĩa về các quy tắc chung và các miền phổ biến đã mô tả ở trên. Tệp IARuleDefs-BaseSet1 USStan-v8x.xml gồm có gần 60 định nghĩa để xác nhận hợp lệ thông tin tiêu chuẩn hóa tên, địa chỉ và vùng bưu chính của Mỹ đã mô tả ở trên.

Trước tiên, một khi đã nhập khẩu vào dự án của bạn, bạn có thể ngay lập tức sử dụng các định nghĩa quy tắc này để kiểm tra hoặc đánh giá các nguồn dữ liệu của bạn, tạo các quy tắc dữ liệu như đã mô tả trong Hướng dẫn người dùng Information Analyzer (xem Tạo một quy tắc dữ liệu từ một định nghĩa quy tắc). Theo khả năng này, các định nghĩa quy tắc đẩy nhanh khả năng bắt đầu đánh giá chất lượng dữ liệu chi tiết của bạn.

Thứ hai, bạn có thể sử dụng các định nghĩa quy tắc này làm các khuôn mẫu để tùy chỉnh cho các điều kiện dữ liệu cụ thể riêng của bạn. Hãy xem xét trường hợp ví dụ nơi bạn có một trường có tên là Region (Vùng) biểu thị một phân vùng cụ thể của thế giới. Vùng được định nghĩa là một trường văn bản có chiều dài năm ký tự và hai ký tự đầu tiên là các ký tự chữ phải nằm trong danh sách sau đây: AM (châu Phi và Trung Đông), AP (châu Á-Thái Bình Dương), EU (Châu Âu), NA (Bắc Mỹ) và SA (Nam Mỹ).

Các định nghĩa quy tắc dựng sẵn không có một định nghĩa quy tắc chính xác như vậy. Tuy nhiên, định nghĩa quy tắc TextSubstrInRefList được mô tả là "giá trị văn bản chuỗi con bắt đầu ở vị trí 3 với chiều dài 3 trong danh sách tham khảo". Việc này cũng tương tự như định nghĩa quy tắc mà bạn cần: đánh giá một chuỗi con để đưa vào một danh sách tham khảo.

Trong trường hợp này, bạn có thể làm như sau:

  1. Đăng nhập vào Information Analyzer.
  2. Mở dự án của bạn và chuyển hướng đến trình đơn Develop và mục trình đơn Data Quality.
  3. Chọn định nghĩa quy tắc muốn có trong dự án của bạn (trong trường hợp này là TextSubstrInRefList).
  4. Chọn Create a Copy (Tạo một bản sao), như trong Hình 3.
    Hình 3. Tạo một bản sao
    Ảnh hiển thị Create a Copy được nhấn mạnh
  5. Trong hộp thoại Create a Copy (Tạo một bản sao), chọn OK.
  6. Việc này sẽ tạo ra một bản sao của quy tắc ban đầu được gọi (trong trường hợp này là Copy_of_TextSubstrInRefList).
  7. Mở định nghĩa quy tắc mới này để chỉnh sửa khi cần thiết:
    • Thay đổi tên định nghĩa-quy tắc: Region_SubstrInRefList.
    • Thay đổi chức năng chuỗi con từ:
      • Trước: substring(TextField, 3, 3)
      • Sau: substring(Region, 1, 2)
      • LƯU Ý: Trong trường hợp này, bạn muốn bắt đầu chức năng chuỗi con tại ký tự đầu tiên với một chiều dài là 2.
    • Thay đổi dữ liệu danh sách tham khảo từ:
      • Trước: {'AAA','AAB','BAA','CCC'}
      • Sau: {'AM','AP','EU','NA','SA'}
  8. Lưu định nghĩa quy tắc cập nhật của bạn.

Thứ ba, bạn có thể sử dụng các định nghĩa quy tắc như các mô hình tham khảo — các ví dụ về các chức năng hoặc các điều kiện cụ thể đang sử dụng có thể hướng dẫn bạn khi bạn thiết kế và phát triển các quy tắc duy nhất cho môi trường của mình.

Triển khai các cách tiếp cận để xác nhận hợp lệ và giám sát chất lượng

Như với tất cả các định nghĩa quy tắc, các gói dựng sẵn có thể:

  • Được sử dụng để tạo ra các quy tắc dữ liệu có thể thực hiện được để xác nhận hợp lệ chất lượng.
  • Được bao gồm trong các định nghĩa bộ-quy tắc và các bộ quy tắc có thể thực hiện được để xác nhận hợp lệ nhiều điều kiện với nhau.
    • Dù được thảo luận rất chi tiết trong Hướng dẫn phương pháp luận và các hướng dẫn thực hành tốt nhất của Information Analyzer (xem Tài nguyên), các bộ quy tắc có một số lợi thế triển khai riêng:
      • Chúng cung cấp sự hỗ trợ để đánh giá dữ liệu dựa trên nhiều điều kiện quy tắc dữ liệu. Với các định nghĩa quy tắc dựng sẵn, bạn có thể kết hợp nhiều định nghĩa quy tắc dựng sẵn khi cần thiết để đánh giá tất cả các trường trong một bản ghi cụ thể, gồm nhiều cá thể của cùng một định nghĩa quy tắc, ví dụ như FieldExists.
      • Chúng cho điểm tất cả các quy tắc đã kiểm tra với mỗi bản ghi trong tập sao cho có thể xem các kết quả theo nhiều chiều. (Ví dụ, bạn có thể thấy tất cả các bản ghi thiếu từng quy tắc cụ thể, thấy tất cả các quy tắc có một bản ghi cụ thể bị lỗi, hoặc xem các phần giao nhau của các bộ quy tắc cụ thể).
      • Chúng tối ưu hóa việc đánh giá quy tắc để thực hiện và xử lý.
    • LƯU Ý: Bất kỳ định nghĩa bộ-quy tắc nào mà bạn tạo ra có thể chứa các định nghĩa quy tắc dựng sẵn này và/hoặc các định nghĩa quy tắc riêng của bạn theo bất kỳ cách kết hợp nào.
  • Được xuất bản cho người dùng trong các dự án khác để tận dụng: — Khi bạn nhập khẩu các định nghĩa quy tắc dựng sẵn, chúng được nhập khẩu vào dự án của bạn. Đối với những người dùng khác không thuộc một phần dự án của bạn, các định nghĩa quy tắc phải được xuất bản hoặc được nhập khẩu vào các dự án của họ.
  • Được xuất khẩu để triển khai trong các môi trường Information Analyzer khác: — Ví dụ, nếu bạn đang làm việc trong một môi trường phát triển với dữ liệu kiểm tra để đảm bảo các quy tắc dữ liệu của bạn làm việc đúng, thì bạn có thể cần xuất khẩu các quy tắc dữ liệu này tới một môi trường sản xuất để giám sát chất lượng đang diễn ra.

Với sự giới thiệu về Phiên bản Information Analyzer V8.7, các định nghĩa quy tắc được xây dựng trong Information Analyzer có thể được tăng thêm một Rule Stage (Giai đoạn quy tắc) mới trong một công việc InfoSphere DataStage hoặc QualityStage của IBM. Khả năng này cho phép sử dụng bất kỳ định nghĩa quy tắc đã xuất bản nào để xác nhận hợp lệ dữ liệu là một phần tích hợp dữ liệu hay các quá trình xóa-dữ liệu, bao gồm cả những định nghĩa quy tắc được tăng thêm thông qua các gói định nghĩa quy tắc dựng sẵn kèm theo.

Ví dụ, hàng ngày bạn nhận được một tệp từ một nguồn ngoài của bên thứ ba. Chất lượng của nguồn dữ liệu này thường thấp, dẫn đến các vấn đề trong các hệ thống thông tin khác, gồm cả việc tạo báo cáo kinh doanh của bạn. Tệp hàng ngày này đang chạy thông qua một công việc QualityStage để tiêu chuẩn hóa tệp và tải các nguồn dữ liệu hiện có. Bạn cần kiểm tra dữ liệu đến có đầy đủ không bằng cách sử dụng một bộ các định nghĩa quy tắc và xác nhận hợp lệ các kết quả đầu ra tiêu chuẩn hóa QualityStage.

Hình 4 cho thấy việc thêm vào Rule Stage mới, CustomerValidityCheck, trong công việc mẫu này. Rule Stage có thể có một hoặc nhiều định nghĩa quy tắc, tùy thuộc vào số các trường dữ liệu cần được xác nhận hợp lệ. Các kết quả đầu ra của giai đoạn này gồm có dữ liệu hợp lệ, dữ liệu không hợp lệ và các thông tin chi tiết về vi phạm cụ thể.

Hình 4. Xác nhận hợp lệ dữ liệu đang thực hiện trong DataStage hoặc QualityStage
Ảnh hiển thị sơ đồ lưu lượng của quá trình xác nhận hợp lệ dữ liệu của DataStage

Xem Sử dụng Data Rule Stage để biết thêm thông tin chi tiết về khả năng này.

Bằng cách lợi dụng các định nghĩa quy tắc dựng sẵn, bạn có thể:

  • Giảm nỗ lực để giải quyết nhiều miền và điều kiện thông tin chung.
  • Cung cấp các mô hình và xuất bản các định nghĩa quy tắc cho người dùng khác để làm việc với nó.
  • Đẩy nhanh quá trình đánh giá, thử nghiệm và triển khai các quy tắc dữ liệu trong Information Analyzer.
  • Triển khai các định nghĩa quy tắc để giám sát chất lượng đang diễn ra và xác nhận dữ liệu đang hoạt động.

Tìm hiểu về các gói định nghĩa quy tắc dựng sẵn

Các định nghĩa quy tắc dựng sẵn của Information Analyzer kèm theo bài này được nhập khẩu thông qua các API của Information Analyzer.

Cấu trúc nội dung

Các định nghĩa dựng sẵn được cấu trúc bằng cách sử dụng một lược đồ XML đã xác định. Để biết thông tin chi tiết đầy đủ về cấu trúc này, hãy tham khảo Các phần tử tệp Lược đồ cho Các định nghĩa quy tắc.

Ở mức rút gọn, các tệp định nghĩa trông giống như Liệt kê 2.

Liệt kê 2. Lược đồ XML của định nghĩa quy tắc
<?xml version="1.0" encoding="UTF-8"?>
<iaapi:Project xmlns:iaapi=\
"http://www.ibm.com/investigate/api/iaapi" name="your-project">
  "<!--IBM InfoSphere Information Analyzer Base Set rule definitions v1.0 
    For use with IBM InfoSphere Information Server v8.7              
    Copyright IBM 2011.  All rights reserved.                        
    Disclaimer:INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
    PUBLICATION 'AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS 
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
    Some states do not allow disclaimer of express or implied warranties 
    in certain transactions, therefore, this statement may not apply to you.-->"
  <DataRuleDefinitions>
    <DataRuleDefinition name='FieldExists'  folder='General Rules / General'>
      <description>Field Exists; null check only</description>
      <expression>Field1 EXISTS</expression>
    </DataRuleDefinition>
    <DataRuleDefinition name='AlphanumFieldExists'  folder='General Rules / Alphanumeric'>
      <description>Alphanumeric Field Exists; null & \
blank value check</description>
      <expression>Field1 EXISTS AND len(trim(Field1)) <> 0</expression>
    </DataRuleDefinition>
    <DataRuleDefinition name='AlphaFormatValid'  folder='General Rules / Alphabetic'>
      <description>Example Alphabetic Format; excludes null values</description>
      <expression>IF  Field1  EXISTS THEN Field1 MATCHES_FORMAT 'AAAA'</expression>
    </DataRuleDefinition>
    <DataRuleDefinition name='AlphanumFormatValid'  folder='General Rules / Alphanumeric'>
      <description>Example Alphanumeric Format 1; as with \
Vehicle plate #; excludes null values</description>
      <expression>IF  Field1  EXISTS THEN Field1 MATCHES_FORMAT '999AAA'</expression>
    </DataRuleDefinition>

Nội dung bao gồm:

  • Một tiêu đề XML chung: <?xml version="1.0" encoding="UTF-8"?>, không cần thay đổi.
  • Một tiêu đề XML cụ thể cho Information Analyzer: <iaapi:Project xmlns:iaapi="http://www.ibm.com/investigate/api/iaapi" name="your-project"> . Bạn sẽ cần phải sửa đổi tên dự án-của bạn (your-project) thành bất kể tên dự án nào của Information Analyzer mà bạn sử dụng.
  • Các chú thích XML được gắn kèm giữa <!-- và -->
  • Mở đầu của phần các định nghĩa quy tắc: <DataRuleDefinitions>
  • Các khối nội dung cho mỗi định nghĩa quy tắc, gồm có:
    • Tên định nghĩa quy tắc
    • Chỉ với các tệp của phiên bản V8.7, một thư mục
    • Mô tả định nghĩa-quy tắc
    • Biểu thức (logic quy tắc)
    Ví dụ:
    <DataRuleDefinition name='FieldExists' folder='General Rules / General'>
      <description>Field Exists; null check only</description>
      <expression>Field1 EXISTS</expression>
    </DataRuleDefinition>
  • Sau tất cả các khối định nghĩa-quy tắc, kết thúc của phần các định nghĩa-quy tắc và kết thúc của nội dung XML:
     </DataRuleDefinitions>
     </iaapi:Project>

Các gói định nghĩa-quy tắc dựng sẵn có sẵn

Có sẵn hai gói định nghĩa-quy tắc (xem phần Tải về). Một gói để sử dụng với phiên bản Information Analyzer V8.5, còn gói khác để sử dụng với phiên bản V8.7. Nội dung định nghĩa-quy tắc giống nhau cho cả hai gói. Sự khác biệt duy nhất là phiên bản V8.7 gồm một tham khảo thư mục sẽ thêm định nghĩa quy tắc vào một thư mục cụ thể trong lúc nhập khẩu. Tùy chọn đó không có sẵn trong lúc nhập khẩu trong phiên bản V8.5.

Đối với phiên bản InfoSphere Information Analyzer V8.5 của IBM:

  • IARuleDefs-BaseSet1-v85.zip
    • Các định nghĩa quy tắc miền và điều kiện chung:
      IARuleDefs-BaseSet1-General-v85.xml
    • Các định nghĩa quy tắc của điều kiện xác nhận hợp lệ tiêu chuẩn hóa của Mỹ:
      IARuleDefs-BaseSet1-USStan-v85.xml
  • LƯU Ý: Gói này có thể được sử dụng trong Information Analyzer V8.5 hoặc V8.7.

Đối với phiên bản InfoSphere Information Analyzer V8.7 của IBM:

  • IARuleDefs-BaseSet1-v87.zip
    • Các định nghĩa quy tắc miền và điều kiện chung:
      IARuleDefs-BaseSet1-General-v87.xml
    • Các định nghĩa quy tắc của điều kiện xác nhận hợp lệ tiêu chuẩn hóa của Mỹ:
      IARuleDefs-BaseSet1-USStan-v87.xml
  • LƯU Ý: Gói này chỉ có thể được sử dụng trong Information Analyzer V8.7 khi nó có các tùy chọn Folder (Thư mục) mà trước đây không có sẵn trong các API và CLI.

Bạn sẽ cần:

  1. Chọn gói phần mềm đúng với phiên bản Information Analyzer của bạn và tải về từ các tệp kèm theo bài này.
  2. Lưu tệp đó vào một vị trí trên máy tính của bạn.
  3. Giải nén gói đó và trích xuất hai tệp XML tới một vị trí trên máy tính của bạn.

Nhập khẩu các định nghĩa quy tắc dựng sẵn

Có hai tùy chọn để nhập khẩu hoặc tải các định nghĩa dựng sẵn: một Giao diện dòng lệnh (CLI) và một API của REST (HTTP), được truy cập thông qua một trình duyệt.

Giao diện dòng lệnh (CLI)

  • Lệnh là IAAdmin.
  • Nó có sẵn trên máy khách và máy chủ của Information Analyzer.
  • Các ưu điểm:
    • Không có các chương trình phụ trợ (add-on) POST (Gửi thông báo) cần thiết cho trình duyệt của bạn.
    • Nhiều người làm kỹ thuật thích các tiện ích dòng lệnh.
  • Các nhược điểm:
    • Mặc dù tương đối ngắn, một số người thấy cú pháp dòng lệnh khó hiểu.
    • Một số môi trường vô hiệu hóa các tiện ích dòng lệnh.

Giao diện API REST (trình duyệt)

  • Nó sử dụng một tiện ích HTTP POST.
  • Các ưu điểm:
    • GUI (Giao diện người dùng đồ họa) dựa trên Web
  • Các nhược điểm:
    • Nó đòi hỏi một chương trình phụ trợ POST (một số môi trường không cho phép các chương trình phụ trợ của trình duyệt).

Bài này mô tả cả hai phương pháp nhập khẩu. Các bước nhập khẩu tiếp sau giả định rằng bạn:

  1. Tải về, giải nén (trích xuất) và lưu các tệp Rule Definition XML (XML Định nghĩa quy tắc) đến bất cứ nơi nào máy khách hoặc máy chủ Information Analyzer lưu trú (điều này có thể đến một máy chủ từ xa, một hình ảnh máy khách từ xa hoặc máy tính của riêng bạn).
    • LƯU Ý: Những hướng dẫn này giả định bạn đã tải về trên máy tính riêng của mình và sẽ được nhập khẩu từ môi trường cục bộ của bạn.
  2. Mở mỗi tệp XML mà bạn muốn sử dụng bằng Notepad (hoặc bất kỳ trình soạn thảo tệp cơ bản khác nào).
  3. Thay đổi tên dự án (được liệt kê như là "your-project" đã được lưu ý ở trên) theo một tên lựa chọn của bạn, đã tồn tại trong môi trường Information Analyzer của bạn mà bạn có thể truy cập vào.
    • Lưu ý: nếu vẫn chưa có một dự án Information Analyzer nào, bạn (hoặc người quản trị dự án IA của bạn) sẽ cần tạo ra một dự án
    • LƯU Ý: Nếu bạn không thay đổi tên dự án trong tệp XML, một dự án có tên là your-project (dự án-của bạn) sẽ được tạo ra và tất cả các định nghĩa quy tắc sẽ chuyển vào đó.
  4. Lưu (các) tệp XML.

Nhập khẩu Dòng-lệnh (CLI)

Để thực hiện nhập khẩu các định nghĩa quy tắc Information Analyzer qua CLI:

  1. Mở một dấu nhắc lệnh (DOS) trên máy khách. Ví dụ, trên Windows® XP, bạn có thể sử dụng Start > All Programs > Accessories > Command Prompt.
  2. Chuyển hướng đến C:\IBM\InformationServer\ASBNode\bin.
  3. Chạy lệnh sau:
    IAAdmin -user xxxxx -password xxxxx -host your-server -port 9080 
      -create -projectContent C:\Temp\IARuleDefs-BaseSet1-General-v87.xml
  4. Sử dụng thông tin cấu hình Information Analyzer trong lệnh trên liên quan với môi trường của bạn:
    • –user (ID người dùng Information Analyzer của bạn)
    • –password (mật khẩu Information Analyzer của bạn)
    • –host (máy chủ Information Analyzer của bạn — khớp với thông tin đăng nhập của bạn)
    • –port (luôn là 9080 — khớp với thông tin đăng nhập của bạn)
    • Sau –projectContent, gồm vị trí ở đó bạn đã lưu tệp XML. Ví dụ cho thấy tệp được lưu tại C:\Temp\, nhưng vị trí và tên tệp của bạn có thể khác với một vị trí và tên tệp được hiển thị ở đây. Sử dụng v85 hoặc v87 trong tên tệp cho phù hợp với phiên bản đã cài đặt của bạn.
    CÁC LƯU Ý:
    • Nếu bạn đang nhập khẩu các gói định nghĩa quy tắc BaseSet1-General và BaseSet1-USStan, bạn cần thay đổi tên tệp và chạy lệnh đó lần thứ hai để nhập khẩu lần thứ hai.
    • Bạn sẽ nhận được một lỗi nếu bạn chạy lệnh trên hai lần với cùng một tên tệp. Lỗi này sẽ cho bạn biết rằng các quy tắc đã tồn tại. Nếu điều này xảy ra, thì hãy ban hành lại lệnh trên với -update thay cho -create.
    • Nếu bạn cố gắng để nhập khẩu các tệp v87 vào phiên bản Information Analyzer 8.5, bạn sẽ nhận được một thông báo lỗi như sau:
      >The XML request passed as parameter could not be parsed for the following reason: Feature 'folder' not found.
    • Lệnh trên sẽ chạy trong khoảng 4-5 phút.

Nếu nhập khẩu thành công, bạn có thể đăng nhập vào Information Analyzer, mở dự án của bạn (giống như đã chỉ rõ trong tệp XML trong lúc nhập khẩu) và xem xét lại các định nghĩa quy tắc đã nhập khẩu. Bạn sẽ thấy một danh sách các định nghĩa quy tắc tương tự như Hình 5.

Hình 5. Các định nghĩa quy tắc đã nhập khẩu
Màn hình hiển thị các tên, các kiểu và các mô tả quy tắc

Nhập khẩu trình duyệt web (REST API)

Ví dụ việc nhập khẩu trình duyệt sau đây sử dụng các chương trình phụ trợ của Firefox và Poster có liên quan. Nếu bạn có một trình duyệt khác, bạn sẽ cần tìm một tiện ích cho phép bạn thực hiện một chức năng POST để nhập khẩu các định nghĩa quy tắc Information Analyzer dựng sẵn với phương pháp này.

Trước khi thực hiện một nhập khẩu theo phương pháp này, bạn cần một tiện ích Firefox để cho phép chức năng POST. Thực hiện các bước sau (có thể khác nhau tùy thuộc vào phiên bản trình duyệt của bạn):

  1. Mở Firefox và chuyển hướng đến https://addons.mozilla.org/en-US/firefox/addon/poster/.
  2. Chọn Add to Firefox.
  3. Chọn Install Now khi được nhắc.
  4. Đóng và khởi động lại Firefox.
  5. Sau khi khởi động lại Firefox, kích hoạt thanh Add-on như sau (vẫn phụ thuộc vào phiên bản)
    • Firefox > Options > Add-on Bar hay
    • Firefox > Tools > Add-ons
  6. Tùy thuộc vào phiên bản, bạn có thể thấy add-on này:
    • Một chữ P tô màu vàng ở phía dưới bên phải của trình duyệt của bạn
    • Một tùy chọn trình đơn trong Firefox > Tools > Poster

Để thực hiện nhập khẩu các định nghĩa quy tắc Information Analyzer thông qua trình duyệt:

  1. Mở Firefox và chuyển hướng đến add-on.
  2. Chọn add-on Poster. Bạn sẽ thấy một dạng trình duyệt như hiển thị trong Hình 6.
    Hình 6. Dạng Poster của Firefox
    Ảnh hiển thị dạng đầu vào có các trường url, user auth, timeout, các hoạt động và tệp
  3. Điền vào biểu mẫu:
    URL:http://<yourInformationAnalyzerhost>\ :9080/InformationAnalyzer/create?projectContent
    Người dùng: Mã định danh người dùng Information Analyzer của bạn
    Mật khẩu: Mật khẩu Information Analyzer của bạn
    Thời gian chờ: Thay đổi đến 300
    Tệp: Nhập tên tệp hoặc chọn nút Browse để chọn tệp XML từ thư mục thích hợp. Lưu ý rằng tên tệp của bạn sẽ khác với một tên tệp được hiển thị ở đây. Sử dụng v85 hoặc v87 cho phù hợp với cài đặt của bạn.
    POST (Gửi thông báo): Chọn POST để chạy quá trình tải.
  4. Quá trình POST sẽ mất một chút thời gian (3-5 phút) và bạn sẽ thấy một thông báo cho biết trạng thái OK.
    LƯU Ý: Có thể bạn sẽ nhận được một đáp ứng thời gian chờ nếu Timeout (thời gian chờ) không thay đổi. Điều này chỉ đơn giản ảnh hưởng đến đáp ứng về trạng thái cho máy khách, nhưng không ảnh hưởng đến chức năng post trên máy chủ.

Nếu nhập khẩu thành công, bạn có thể đăng nhập vào Information Analyzer, hãy mở dự án của bạn (giống như đã chỉ rõ trong tệp XML trong lúc nhập khẩu) và xem xét lại các định nghĩa quy tắc đã nhập khẩu. Bạn sẽ thấy một danh sách các định nghĩa quy tắc tương tự như Hình 5 ở trên.

Bây giờ bạn đã sẵn sàng bắt đầu sử dụng các định nghĩa quy tắc Information Analyzer dựng sẵn của bạn.


Kết luận

Bây giờ bạn có thể sử dụng bộ các định nghĩa quy tắc dựng sẵn kèm theo bài này trong các dự án IBM InfoSphere Information Analyzer của bạn.

Bài này đã xem xét cụ thể cách thực hiện các nhiệm vụ sau:

  • Hiểu được các định nghĩa quy tắc có sẵn trong các gói dựng sẵn kèm theo bài này.
  • Sử dụng các định nghĩa quy tắc dựng sẵn để giải quyết các điều kiện chất lượng dữ liệu chung.
  • Xem xét lại cấu trúc và nội dung của tệp XML định nghĩa-quy tắc.
  • Nhập khẩu các định nghĩa quy tắc dữ liệu dựng sẵn bằng cách sử dụng API HTTP/CLI với hoặc Information Analyzer V8.5 hoặc V8.7.

Một khi đã nhập khẩu, bạn có thể sử dụng các định nghĩa quy tắc dựng sẵn để thiết lập các quy tắc chất lượng dữ liệu, sau đó kiểm tra và theo dõi các vấn đề về chất lượng-dữ liệu tiềm năng. Và, bằng cách sử dụng các định nghĩa quy tắc dựng sẵn, bạn có thể rút ngắn thời gian cần thiết để đưa vào các bài kiểm tra chất lượng dữ liệu tại chỗ cho một loạt dữ liệu trong bất kỳ bảng, hệ thống hoặc môi trường cụ thể nào.


Phụ lục: Các tên và các mô tả định nghĩa quy tắc dựng sẵn

Các định nghĩa quy tắc dựng sẵn được cung cấp để sử dụng với IBM InfoSphere Information Server (Máy chủ Thông tin InfoSphere của IBM).

Các định nghĩa quy tắc sau đây có trong tệp IARuleDefs-BaseSet1-General-v8x.xml.

Bảng 1. Các định nghĩa quy tắc trong IARuleDefs-BaseSet1-General-v8x.xml
Tên quy tắcMô tả tóm tắt quy tắc
FieldExists Trường tồn tại
AlphanumFieldExists Trường chữ và số tồn tại
AlphaFormatValid Định dạng chữ mẫu
AlphanumFormatValid Định dạng chữ và số mẫu 1
AlphanumFormatValid_2 Định dạng chữ và số mẫu 2
FieldIsNumeric Trường số
FieldExistsAndNumeric Trường tồn tại và là số
FieldExistsAndNumeric_2 Trường tồn tại và là số
FieldIsDate Trường là giá trị ngày
FieldExistsAndDate Trường tồn tại và là giá trị ngày
FieldExistsAndDate_2 Trường tồn tại và là giá trị ngày
IndicatorY_NValid Trường bộ chỉ thị là 'Y' (Có) hoặc 'N' (Không)
IndicatorUpperCaseY_NValid Trường bộ chỉ thị là bất kỳ trường hợp 'Y' hoặc 'N' nào
IndicatorT_FValid Trường bộ chỉ thị là 'T' (Đúng) hoặc 'F' (Sai)
IndicatorUpperCaseT_FValid Trường bộ chỉ thị là bất kỳ trường hợp 'T' (Đúng) hoặc 'F' (Sai) nào
IndicatorString0_1Valid Trường bộ chỉ thị là '1' hoặc '0'
IndicatorNum0_1Valid Trường bộ chỉ thị là số '1' hoặc '0'
Code1DigitUpperCase Mã là một hàng chữ viết hoa
Code1DigitLowerCase Mã là một hàng chữ viết thường
Code1DigitNumeric Mã là số một chữ số
Code1DigitAlphanum Mã là một hàng chữ số, viết hoa hay viết thường
Code1DigitAlphabetic Mã là một hàng chữ
-Code1DigitNumeric_2 -Mã là số có một chữ số
Code1DigitAlphanum_2 Mã là một hàng chữ số
CodeInRefMaster Mã trong nguồn tham khảo
CodeNotInDefaultValueList Mã không toàn số 9
TextSubstrIsValueX Giá trị văn bản chuỗi con bắt đầu ở vị trí 3 với chiều dài 1 là 'X'
TextSubstrInRefList Giá trị văn bản chuỗi con bắt đầu ở vị trí 3 với chiều dài 3 trong danh sách tham khảo
Date1NumLessThanDate2 Ngày <= ngày thứ 2
Date1StringLessThanDate2 Chuỗi ngày <= chuỗi ngày thứ 2
Date1NumLessThanSysdate Ngày <= Ngày hệ thống; không phải một ngày tương lai
Date1StringLessThanSysdate Chuỗi ngày <= Ngày hệ thống; không phải một ngày tương lai
DateNumWithinLastYear Ngày trong vòng một năm từ ngày hiện tại
DateStringWithinLastYear Ngày trong vòng một năm từ ngày hiện tại
Date1NumWithin60DaysDate2 Ngày trong vòng 60 ngày kể từ ngày thứ 2
Date1StringWithin60DaysDate2 Ngày trong vòng 60 ngày kể từ ngày thứ 2
YearNumNotFuture Năm <= Năm hệ thống; không phải một năm tương lai
YearStringNotFuture Năm <= Năm hệ thống; không phải một năm tương lai
YearNumIsCurrentYear Năm = Năm hệ thống; giống như năm của ngày hệ thống
YearStringIsCurrentYear Năm = Năm hệ thống; giống như năm của ngày hệ thống
IdentifierUnique Mã định danh duy nhất
CompoundIdentifierUnique Mã định danh phức hợp duy nhất
Id1StXCharactersAlphabetic Các ký tự x thứ nhất của mã định danh là alpha
IdLast4To5CharactersMatchId2 4-5 ký tự cuối cùng của một mã định danh khớp với một mã định danh thứ 2
IdOccursLtXTimes Mã định danh xuất hiện <x lần
IdInValidRange Mã định danh trong phạm vi hợp lệ (đơn)
IdInValidMulti_Range Mã định danh trong phạm vi hợp lệ (nhiều/phân đoạn)
IdInRefMaster Mã định danh trong cột tham chiếu
QtyInValidRange Số lượng trong phạm vi hợp lệ
QtyAdditionValid Số lượng tính toán là hợp lệ (phép cộng)
QtyArithmeticValid Số lượng tính toán là hợp lệ (số học)
QtyMultiplyValid Số lượng tính toán là hợp lệ (phép nhân)
QtyDivisionValid Số lượng tính toán là hợp lệ (phép chia)
QtyStringInValidRange Số lượng trong phạm vi hợp lệ — giá trị chuỗi
QtyStringAdditionValid Số lượng tính toán là hợp lệ (phép cộng) — giá trị chuỗi
QtyStringArithmeticValid Số lượng tính toán là hợp lệ (số học) — giá trị chuỗi
QtyStringMultiplyValid Số lượng tính toán là hợp lệ (phép nhân) — giá trị chuỗi
QtyStringDivisionValid Số lượng tính toán là hợp lệ (phép chia) — giá trị chuỗi
IfFieldaIsXThenFieldbIsY Nếu fieldA = 'X' thì fieldB = 'Y'
IfFieldaIsXThenFieldbDoesNotExist Nếu fieldA = 'X' thì fieldB sẽ không tồn tại
IfFieldaIsXThenFieldbInValidValueSet Nếu fieldA = 'X' thì fieldB là tập các giá trị hợp lệ
IfFieldaInValidValueSetThenFieldbExists Nếu fieldA là tập các giá trị hợp lệ thì fieldB = 'X'
IfFieldaGtXThenFieldbIsY Nếu fieldA > qtyValue thì fieldB = 'Y'
IfFieldaIsXThenFieldbGtQty Nếu fieldA = 'X' thì fieldB > qtyValue
FieldaPlusConcatenatedKeyInRefMaster fieldA tồn tại và một tổ hợp của các chữ + fieldA trong một cột tham khảo
AlphanumValidNoNonprintCharacters Chữ số có ký tự in
FieldFreqLessThanPercentLimitForAllRecords Tần suất trường (Field Frequency) nhỏ hơn Giới hạn % (Pct Limit) với tất cả các Bản ghi
AgeInRangeNumeric Tuổi: Tuổi >= 0 và < 125
AdultInRangeNumeric Người lớn: Tuổi >= 18 và < 125
ChildInRangeNumeric Trẻ em: Tuổi >= 0 và < 18
AgeInRangeString Tuổi dữ liệu chuỗi : Tuổi >= 0 và < 125
AdultinrangeString Người lớn dữ liệu chuỗi : Tuổi >= 18 và < 125
ChildinrangeString Trẻ em dữ liệu chuỗi : Tuổi >= 0 và < 18
AgeinrangeCalc Tuổi dẫn xuất: Tuổi >= 0 và < 125
AdultinrangeCalc Người lớn tuổi dẫn xuất: Tuổi >= 18 và < 125
ChildinrangeCalc Trẻ em tuổi dẫn xuất: Tuổi >= 0 và < 18
ChildnotmarriedNumeric Nếu trẻ em (dạng số) thì Trạng thái hôn nhân = 'N'
ChildnotmarriedString Nếu trẻ em (chuỗi) thì Trạng thái hôn nhân = 'N'
ChildnotmarriedCalc Nếu trẻ em (có dẫn xuất) thì Trạng thái hôn nhân = 'N'
DobReasonableRangeNumeric Ngày sinh >= 1900-01-01 và <= Ngày hệ thống, không phải là một ngày tương lai
DobReasonableRangeString Ngày sinh >= 1900-01-01 và <= Ngày hệ thống, không phải là một ngày tương lai
IfDodExistsThenGtDobNumeric Ngày mất có thể để trống, nhưng nếu tồn tại, nó phải là >= Ngày sinh và không phải là một ngày tương lai
IfDodExistsThenGtDobString Ngày mất có thể để trống, nhưng nếu tồn tại, nó phải là >= Ngày sinh và không phải là một ngày tương lai
StartDtWeekday_Numeric Ngày bắt đầu là 1 ngày trong tuần
StartDtWeekday_String Ngày bắt đầu là 1 ngày trong tuần
MaturityDtExistsValidCondition Ngày trưởng thành tồn tại ở nơi mà điều kiện hợp lệ
Ssn9DigitNumeric SSN là số có 9 chữ số
SsnMatchesNumericFormat SSN chỉ phù hợp với định dạng số
SsnMatchesHyphenFormat SSN phù hợp với định dạng số với các dấu gạch ngang
TinMatchesHyphenFormat TIN phù hợp với định dạng số với các dấu gạch ngang
SsnMatchesRegex SSN phù hợp với định dạng regex (biểu thức chính quy)
CanadaSinMatchesRegex SIN phù hợp với định dạng regex
FranceInseeMatchesRegex INSEE phù hợp với định dạng regex
ItalyFiscalCdMatchesRegex FiscalCode phù hợp với định dạng regex
SpainNifMatchesRegex NIF phù hợp với định dạng regex
UkNinoMatchesRegex NINO phù hợp với định dạng regex
PassportNumMatchesRegex PassportNumber phù hợp với định dạng regex
CreditCardMatchesRegex CreditCard phù hợp với định dạng regex
PaidAmtWeeklyValid Tính toán số tiền thanh toán hợp lệ (phép nhân)
PaidAmtAnnualValid Tính toán số tiền thanh toán hợp lệ (phép nhân)
SalesamtBaseValid Tính toán định giá * hợp lệ (phép nhân)
SalesamtWTaxValid Tính toán định giá * hợp lệ (có salesTax – thuế doanh thu)
SalesamtWDiscountValid Tính toán định giá * hợp lệ (có giảm giá)
SalesamtWDiscountPlusTaxValid Tính toán định giá * hợp lệ (có giảm giá trước salesTax)
SalesamtPriceLookupValid Tính toán định giá * hợp lệ (phép nhân) – có tra cứu
SalesamtWTaxLookupValid Tính toán định giá * hợp lệ (có salesTax) — có tra cứu
SalesamtWDiscountLookupValid Tính toán định giá * hợp lệ (có giảm giá) – có tra cứu — có tra cứu
SalesamtWDiscount_TaxLookupValid Tính toán định giá * hợp lệ (có giảm giá trước salesTax) — có tra cứu
ProductDescriptionValidCharacters Mô tả sản phẩm có các ký tự hợp lệ
EmailAddrValidFormat Địa chỉ Email có định dạng hợp lệ
NotesEmailAddrValidFormat Địa chỉ email kiểu ghi chú, có định dạng hợp lệ
InternalEmailValidDomain Email nội bộ có tên miền hợp lệ
HostNameValidFormat Tên máy chủ có định dạng hợp lệ
UrlValidFormat URL có định dạng hợp lệ
IpaddressValidFormat IPAddress có định dạng hợp lệ
ValidNAmerAreaCode Mã vùng hợp lệ
ValidNAmerAreaCode_2 Mã vùng hợp lệ
ValidUsPhoneFormat Định dạng điện thoại Mỹ hợp lệ
ValidIsbnFormat Định dạng ISBN hợp lệ
ValidUpc_AFormat Định dạng UPC-A hợp lệ
ValidCountryOfOperation Quốc gia hoạt động hợp lệ
ValidCountryOfIssue Quốc gia ban hành hợp lệ
SameTaxid_Name_1 Cùng Mã định danh thuế (Taxid), cùng tên — v1
SamePolicy_CodeValue Tất cả các bản ghi, có số chính sách giống nhau, cần có một bộ mã cụ thể cho cùng một giá trị
SumLineItemsEqTotalQty Tổng của tất cả các mục dòng = tổng số lượng cho một đơn đặt hàng
SumLineItemsEqTotalValue Tổng của tất cả các giá trị của mục dòng = tổng giá trị cho một đơn đặt hàng
MrktValueChgCurr_Prior So sánh giá trị thị trường của danh mục đầu tư cho ngày kinh doanh hiện tại và ngày kinh doanh trước đó với thay đổi về giá trị lớn hơn 10%
CountryCodeExists Mã quốc gia hiện có
IsoCountryCode2DigitAlphaIsValid 2 số alpha của Mã quốc gia ISO hợp lệ
IsoCountryCode3DigitAlphaIsValid 3 số alpha của Mã quốc gia ISO hợp lệ
IsoCountryCode3DigitNumericIsValid 3 số Mã quốc gia ISO hợp lệ hoặc người dùng chỉ định (900-999)
IsoCountryCodeDidNotHaveStandardizationError 3 số Mã quốc gia ISO không có lỗi tiêu chuẩn hóa

Các định nghĩa quy tắc sau đây có trong tệp IARuleDefs-BaseSet1-USStan-v8x.xml.

Bảng 2. Các định nghĩa quy tắc trong IARuleDefs-BaseSet1-USStan-v8x.xml
Tên quy tắcMô tả tóm tắt quy tắc
NameExists Tên tồn tại
NameTypeIsIndividualOrOrganization Kiểu tên là Cá nhân hoặc Tổ chức
GenderCodeDerivedValid Mã giới tính có nguồn gốc hợp lệ
NamePrefixIfExistsThenValid Tiền tố tên nếu có thì hợp lệ
FirstNameValid Tên hợp lệ
MiddleNameValid Tên đệm hợp lệ
PrimaryNameValid Tên ban đầu hợp lệ
NameGenerationInRefList Tên thế hệ trong danh sách tham khảo
NameSuffixIfExistsThenValid Hậu tố tên nếu có thì hợp lệ
AdditionalNameIfExistsThenValid Tên bổ sung nếu có thì hợp lệ
UnhandledNamePatternExpectEmpty Mẫu tên không xử lý
UnhandledNameDataExpectEmpty Mẫu tên không xử lý
ExceptionNameDataExpectEmpty Dữ liệu tên ngoại lệ
FirstNameNoTestData Tên — Không có dữ liệu kiểm tra
MiddleNameNoTestData Tên đệm — Không có dữ liệu kiểm tra
PrimaryNameNoTestData Tên ban đầu — Không có dữ liệu kiểm tra
AdditionalNameNoTestData Tên bổ sung - Không có dữ liệu kiểm tra
FirstNameNysiis Tên NYSIIS tồn tại nếu Tên tồn tại
PrimaryName1Nysiis Tên ban đầu 1 NYSIIS tồn tại nếu tên ban đầu tồn tại
PrimaryName2Nysiis Tên ban đầu 2 NYSIIS tồn tại nếu tên ban đầu 2 tồn tại
MatchPrimaryWordsIs1 Nếu các từ ban đầu phù hợp là 1 thì chỉ có 1 từ phù hợp ban đầu
MatchPrimaryWordsIs2 Nếu các từ ban đầu phù hợp là 2 thì chỉ có 2 từ phù hợp ban đầu
MatchPrimaryWordsIs3 Nếu các từ ban đầu phù hợp là 4 thì chỉ có 4 từ phù hợp ban đầu
MatchPrimaryWordsIs4 Nếu các từ ban đầu phù hợp là 3 thì chỉ có 3 từ phù hợp ban đầu
MatchPrimaryWordsIsGe5 Nếu các từ ban đầu phù hợp nhiều hơn hoặc bằng 5 thì tất cả 5 từ phù hợp ban đầu
AddressExists Địa chỉ tồn tại
AddressTypeIfExistsThenIsInReferenceList Kiểu địa chỉ nếu có thì nằm trong danh sách tham khảo
HouseNumberOrSuffixIfExistsThenValidCharacter Số nhà hoặc Hậu tố nếu có thì các ký tự hợp lệ
StreetDirectionalIfExistsThenValidValues Hướng phố nếu có thì hợp lệ
StreetNameIfExistsThenValidCharacters Tên phố nếu có thì hợp lệ
BuildingNameIfExistsThenValidCharacters Tên tòa nhà nếu có thì hợp lệ
BoxTypeIfExistsThenValidValues Kiểu hộp nếu có thì hợp lệ
BoxTypeAndBoxValueCombo Kiểu hộp và kết hợp của giá trị hộp
FloorTypeIfExistsThenValidValues Kiểu tầng nếu có thì hợp lệ
FloorTypeAndFloorValueCombo Kiểu tầng và kết hợp của giá trị tầng
RuralRouteTypeIfExistsThenValidValues Kiểu đường nông thôn nếu có thì hợp lệ
RuralRouteTypeAndRuralRouteValueCombo Kiểu đường nông thôn và kết hợp của giá trị đường nông thôn
StreetTypeIfExistsThenValidCharacters Kiểu phố nếu có thì hợp lệ
UnitAndMultiunitTypeIfExistsThenValidValue Kiểu đơn vị và Nhiều đơn vị nếu có thì hợp lệ
UnitTypeAndUnitValueOrMultiunitType-Multi-Uni Kiểu đơn vị - Giá trị đơn vị hay Kiểu nhiều đơn vị và kết hợp giá trị nhiều đơn vị
AdditionalAddressIfExistsThenValid Địa chỉ bổ sung nếu có thì hợp lệ
UnhandledAddressPattern Các mẫu địa chỉ không xử lý
UnhandledAddressData Dữ liệu địa chỉ không xử lý
ExceptionAddressData Dữ liệu địa chỉ ngoại lệ
StreetNameNoTestData Không có dữ liệu kiểm tra tên phố
AdditionalAddressNoTestData Dữ liệu kiểm tra không có địa chỉ bổ sung
CityExists Thành phố tồn tại
StateCodeIsInReferenceSource Mã Bang trong nguồn tham khảo
ZipCodeIsInReferenceSource Mã ZIP trong nguồn tham khảo
ZipPlus4CodeIsInReferenceSource Mã ZIP+4 trong nguồn tham khảo
ZipPlus4CodeRemovingHyphensIsInReferenceSourc Mã ZIP+4 bỏ các dấu gạch ngang trong nguồn tham khảo
CityStateAndZipCodeComboIsValid Kết hợp Mã ZIP và City State hợp lệ
ValidStateLengthForCountryCode Độ dài Bang hợp lệ với Mã quốc gia của Mỹ
UnhandledAreaPattern Mẫu vùng không xử lý
UnhandledAreaData Dữ liệu vùng không xử lý
ExceptionAreaData Dữ liệu vùng ngoại lệ
CityNoTestData Dữ liệu kiểm tra không có thành phố

Các tải về

Mô tảTênKích thước
Rule-definition pkg 8.5IARuleDefs-BaseSet1-v85.zip11KB
Rule-definition pkg 8.7IARuleDefs-BaseSet1-v87.zip10KB

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Xây dựng dự án phát triển tiếp theo của bạn với Phần mềm dùng thử của IBM, có sẵn để tải về trực tiếp từ developerWorks.
  • Bây giờ bạn có thể sử dụng DB2 miễn phí. Tải về DB2 Express-C, một phiên bản miễn phí của Ấn bản DB2 Express (DB2 Express Edition) cho cộng đồng cung cấp các tính năng dữ liệu cốt lõi giống như DB2 Express Edition và cung cấp một cơ sở vững chắc để xây dựng và triển khai các ứng dụng.

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=802106
ArticleTitle=Sử dụng các định nghĩa quy tắc dựng sẵn với IBM InfoSphere Information Analyzer
publish-date=12152011