Tóm tắt: 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.
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.
- 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
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).
Ở 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ả).
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ố
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).
- LƯU Ý: Information Analyzer có hai bước kiểm
tra riêng biệt về định dạng dữ liệu:
- Đ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).
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
totalAmountlà 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).
- LƯU Ý: Quy tắc này cũng có thể được viết
ngược lại, ở đây
- 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à/) và các dấu ngoặc đơn có liên quan.
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ệnIF, 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ệnTHENtiế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
THENlà cơ sở để đáp ứng hoặc không đáp ứng định nghĩa quy tắc. Trong điều kiện đó, chức năngrtrimloại bỏ bất kỳ khoảng trống nào ở bên phải củaRuralRouteTypevà 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…THENnà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
Trong trường hợp này, bạn có thể làm như sau: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.- Đăng nhập vào Information Analyzer.
- 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.
- 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). - 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
- Trong hộp thoại Create a Copy (Tạo một bản sao), chọn OK.
- 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).
- 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'}
- Thay đổi tên định nghĩa-quy tắc:
- Lưu định nghĩa quy tắc cập nhật của bạn.
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ý.
- 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ư
- 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.
- 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:
- Đượ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
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.
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)
<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ó 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
- Các định nghĩa quy tắc miền và điều kiện chung:
- 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
- Các định nghĩa quy tắc miền và điều kiện chung:
- 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:
- 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.
- Lưu tệp đó vào một vị trí trên máy tính của bạn.
- 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.
- Không có các chương trình phụ trợ (add-on)
- 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.
- 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).
- Nó đòi hỏi một chương trình phụ trợ
- 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.
- 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).
- 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 đó.
- Lưu (các) tệp XML.
Để thực hiện nhập khẩu các định nghĩa quy tắc Information Analyzer qua
CLI:
- 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. - Chuyển hướng đến C:\IBM\InformationServer\ASBNode\bin.
- Chạy lệnh
sau:
IAAdmin -user xxxxx -password xxxxx -host your-server -port 9080 -create -projectContent C:\Temp\IARuleDefs-BaseSet1-General-v87.xml
- 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ụngv85hoặcv87trong 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
-updatethay 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
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):
- Mở Firefox và chuyển hướng đến https://addons.mozilla.org/en-US/firefox/addon/poster/.
- Chọn Add to Firefox.
- Chọn Install Now khi được nhắc.
- Đóng và khởi động lại Firefox.
- 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
- 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
- Mở Firefox và chuyển hướng đến add-on.
- 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
- Đ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. - 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ắc | Mô 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ắc | Mô 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ên | Kích thước | Phương thức tải |
|---|---|---|---|
| Rule-definition pkg 8.5 | IARuleDefs-BaseSet1-v85.zip | 11KB | HTTP |
| Rule-definition pkg 8.7 | IARuleDefs-BaseSet1-v87.zip | 10KB | HTTP |
Tài nguyên
Học tập
- Để biết thông tin cơ bản về tạo và sử dụng
các định nghĩa quy tắc và các quy tắc dữ liệu trong Information Analyzer,
hãy xem Tạo các quy tắc Information Analyzer trong Hướng dẫn người dùng
Information Analyzer.
- Để có các hướng dẫn thực hành tốt nhất với
chức năng của các quy tắc dữ liệu, xem Phương pháp luận chất lượng dữ liệu 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.
- Để biết thông tin về các quy tắc chất
lượng dữ liệu trong một ngữ cảnh rộng lớn hơn, xem ấn phẩm Sách Đỏ
(Redbooks®) của IBM "Quản
lý siêu dữ liệu với IBM InfoSphere Information Server."
- Từ quan điểm triển khai quy tắc dữ liệu,
xem bài trên developerWorks "Các hướng dẫn thực hành tốt nhất của InfoSphere: Sử dụng các quy tắc
chất lượng dữ liệu của InfoSphere Information Analyzer của IBM trong
một môi trường sản xuất."
- Để biết thêm thông tin về cách sử dụng
chức năng API và CLI trong Information Analyzer, xem Phát triển các ứng dụng với các API HTTP trong Hướng dẫn người
dùng của Information Analyzer.
- Để biết thông tin về thực hiện các quy
tắc, xem bài trên developerWorks "Các hướng dẫn thực hành tốt nhất của InfoSphere: Hiểu biết về cách sử
dụng tài nguyên của các quy tắc chất lượng dữ liệu trong InfoSphere
Information Analyzer của IBM."
- Trong vùng InfoSphere Data Architect trên developerWorks, hãy nhận lấy
các tài nguyên mà bạn cần để nâng cao các kỹ năng mô hình hóa dữ liệu của
bạn.
- Tìm hiểu thêm về Quản lý thông tin tại Vùng Quản lý thông tin
của developerWorks. Tìm tài liệu kỹ thuật, các bài hướng dẫn, kiến
thức, các bản tải về, thông tin sản phẩm và nhiều hơn nữa.
- Theo sát các sự
kiện kỹ thuật và webcast của developerWorks.
- Làm theo developerWorks trên
Twitter.
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.




0 comments:
Post a Comment