Tải bản đầy đủ (.pdf) (19 trang)

Tích hợp khai phá dữ liệu trong InfoSphere Warehouse với việc tạo báo cáo Cognos của IBM Phần 2: Phát hiện sai lệch với InfoSphere Warehouse và Cognos pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (742.53 KB, 19 trang )

Tích hợp khai phá dữ liệu trong InfoSphere Warehouse với việc tạo
báo cáo Cognos của IBM
Phần 2: Phát hiện sai lệch với InfoSphere Warehouse và Cognos
Mở đầu
Phát hiện hành vi đáng ngờ đúng lúc là một nhiệm vụ quan trọng trong nhiều ứng dụng CNTT
hiện nay. Ví dụ, hãy tưởng tượng các giao dịch thẻ tín dụng. Nếu một người dùng cho thấy có
hành vi mua sắm cao bất thường (ví dụ, mua sắm tại một cửa hàng giảm giá thường xuyên và sau
đó mua đồ trang sức đắt tiền), thì thật là tốt để có thể kiểm tra các giao dịch tương ứng có dấu
hiệu gian lận. Tuy nhiên, có thể sử dụng các sai lệch trong nhiều tình huống khác hơn là chỉ để
phát hiện gian lận và giả mạo. Các cơ quan về nguồn nhân lực sử dụng việc phát hiện sai lệch để
tìm ra các nhân viên hoặc các ứng cử viên không phù hợp với các phạm trù thông thường và có
thể bỏ qua khi áp dụng các quy tắc cố định để xác định các tiềm năng cao.
Các bản ghi dữ liệu lệch khỏi toàn bộ phân bố các bản ghi dữ liệu được gọi là các ngoại lệ. Việc
xử lý ngoại lệ thường không phải là một nhiệm vụ hoàn toàn được tự động hóa. Đúng hơn là, sử
dụng việc khai phá dữ liệu để chỉ ra các bản ghi dữ liệu đáng được xem xét kỹ hơn bởi một nhà
phân tích hoặc một chuyên gia về con người, là người sau đó phải quyết định xem có hành động
hay không. Vì thế, một giao diện người dùng và mô hình tương tác tinh vi là một điều kiện tiên
quyết để xử lý thành công các ngoại lệ. Cognos rất thích hợp cho công việc này. Trên thực tế,
một bản ghi tương tự như bản ghi được tạo ra trong bài viết đầu tiên của loạt bài này có thể được
sử dụng để hiển thị trực quan các ngoại lệ. Hãy tận dụng toàn bộ tiềm năng của Cognos để hiển
thị các ngoại lệ, tuy nhiên, bạn cần sử dụng một số tính năng cao cấp hơn. Trước tiên, hãy xem
cách sử dụng "truy vấn ngược-drill-through" (ND: drill-through là một tính năng cho phép người
dùng từ báo cáo tổng hợp tìm ngược về tận bản ghi dữ liệu gốc. Sau đây gọi là truy vấn ngược)
để tạo các báo cáo Cognos tương tác và cách liên kết các bản ghi. Điều này sẽ giúp tóm tắt thông
tin và vẫn dành chỗ để truy cập nhanh đến các bản ghi dữ liệu ngoại lệ có liên quan. Thứ hai, tìm
hiểu cách có thể trích xuất thông tin bổ xung từ các mô hình khai phá dữ liệu giúp các chuyên gia
về con người hiểu bản chất của một ngoại lệ.
Ví dụ đang chạy trong bài viết này là một ứng dụng giúp các nhân viên của một ngân hàng nhận
biết các khách hàng tỏ ra có hành vi bất thường. Có thể sử dụng việc này để tránh gian lận hoặc
để phát hiện khách hàng đáng được quan tâm đặc biệt. Trong phần sau, trình bày một tổng quan
về phát hiện sai lệch và xem cách có thể sử dụng InfoSphere Warehouse để tìm ra các ngoại lệ


trong các tập dữ liệu lớn. Các phần tiếp theo trình bày các vấn đề cơ bản về truy vấn ngược
(drill-through) và trích xuất thông tin từ các mô hình khai phá dữ liệu và cho thấy cách có thể sử
dụng để cả hai kỹ thuật này để tạo ra các kết quả phát hiện sai lệch dễ hiểu và dễ sử dụng hơn.
Về đầu trang
Phát hiện sai lệch với InfoSphere Warehouse
Phát hiện sai lệch là gì?
Phát hiện sai lệch được định nghĩa như là nhiệm vụ tìm các bản ghi dữ liệu bất thường trong các
tập dữ liệu lớn. Các bản ghi này được gọi là các bản ghi ngoại lệ. Làm thế nào để định nghĩa
chính xác "bất thường" là chủ đề tranh luận học thuật và cũng có thể phụ thuộc vào lĩnh vực áp
dụng phát hiện sai lệch. Ở một mức chung, phát hiện sai lệch nhằm để tìm các bản ghi dữ liệu có
các đặc tính không tuân theo sự phân bố thống kê của đa số các bản ghi dữ liệu. Tùy thuộc vào
lĩnh vực của ứng dụng, các sai lệch có thể là:
1. Dữ liệu không đúng (ví dụ, nếu một người có tuổi là 300, đây có lẽ là do nhập không
đúng vào cơ sở dữ liệu).
2. Hành vi bất thường của các quá trình phía dưới (ví dụ, các giao dịch thẻ tín dụng không
thực hiện theo các quy trình thông thường).
Do đó, có thể sử dụng việc phát hiện sai lệch cho các nhiệm vụ khác nhau. Nếu bạn giả định rằng
dữ liệu của bạn có chứa dữ liệu không đúng, thì bạn có thể áp dụng việc phát hiện sai lệch để làm
sạch dữ liệu, vì thế hãy tìm kiếm các mục nhập không đúng trong cơ sở dữ liệu của bạn. Trong
trường hợp thứ hai, dữ liệu đúng, nhưng cho biết rằng một số các quy trình được phản ánh trong
các dữ liệu cho thấy có hành vi bất thường. Cùng với việc làm sạch dữ liệu, ứng dụng phát hiện
sai lệch chính thứ hai có thể được sử dụng để phát hiện gian lận. Như đã chỉ ra ở trên, hành vi bất
thường không nhất thiết là gian lận. Ví dụ, nó cũng có thể cho biết các quá trình mới đang nổi
lên, tức là "các khách hàng cao tuổi thực hiện quá nhiều các cuộc đấu giá trực tuyến". Việc phát
hiện từ rất sớm các các quá trình đang nổi lên như vậy, cho phép các công ty cung cấp rất sớm
các sản phẩm hay dịch vụ mới, tạo cho họ một lợi thế quan trọng so với đối thủ cạnh tranh. Một
ứng dụng tương tự có thể có trong lĩnh vực tài chính. Việc phát hiện sai lệch được sử dụng để
tìm các khoản đầu tư đầy hứa hẹn không phù hợp với các quá trình thông thường và vì thế cho
đến nay vẫn chưa được công nhận. Trong mọi trường hợp, một nhà phân tích về con người phải
kiểm tra các các bản ghi ngoại lệ để xem liệu các giá trị số liệu không đúng hay không hoặc liệu

có phải thực hiện một số hành động để tránh gian lận hoặc để tận dụng một số cơ hội cho đến
nay vẫn chưa được công nhận không. Trong phần sau, hãy tìm hiểu cách InfoSphere Warehouse
phát hiện các ngoại lệ và cách bạn có thể áp dụng việc phát hiện sai lệch cho dữ liệu của bạn.
Phần còn lại của bài viết này thảo luận cách hiển thị trực quan các ngoại lệ tương tác trong
Cognos.
Phát hiện sai lệch trong InfoSphere Warehouse
Trong những năm gần đây, người ta đã đề xuất nhiều phương pháp khác nhau để phát hiện sai
lệch. InfoSphere Warehouse sử dụng một phương pháp đặc biệt mạnh mẽ dùng để phát hiện sai
lệch đó là dựa trên phân cụm dữ liệu. Phân cụm biểu thị một kỹ thuật khai phá dữ liệu để phân
nhóm các bản ghi dữ liệu thành các cụm (cluster) có cặp bản ghi giống nhau theo các đặc tính
của chúng. Chúng ta hãy xem Hình 1. Mỗi điểm trong biểu đồ đại diện cho một khách hàng.
Trong trường hợp đơn giản này, các khách hàng chỉ được mô tả theo độ tuổi và số dư trung bình.
InfoSphere Warehouse sử dụng một thuật toán phân cụm thống kê để phân nhóm các khách hàng
giống nhau theo cả hai chiều thành đó thành các cụm. Như bạn thấy, có một số các cụm lớn hơn
và tập trung nhiều hơn những cụm khác (Cluster 1 trái với Cluster 3). InfoSphere Warehouse kết
hợp một số đặc tính để gán cho mỗi cụm một mức "độ lệch". Nếu mức độ lệch này cao hơn,
nhiều khả năng các bản ghi trong cụm đó có thể được coi là các ngoại lệ.

Hình 1. Phát hiện sai lệch bằng phân cụm

Vì vậy, không có một sự phân biệt rõ ràng giữa ngoại lệ và không ngoại lệ. Do đó, người sử
dụng phải xác định một ngưỡng cho các ngoại lệ. Tất cả các cụm có một mức ngoại lệ ở trên
ngưỡng này được đánh dấu là các cụm ngoại lệ và tất cả các thành viên của chúng là các ngoại
lệ. Ngưỡng này có thể được thiết lập theo hai cách. Thứ nhất, nếu bạn chỉ có một số lượng hạn
chế các chuyên gia có khả năng kiểm tra các ngoại lệ, thì bạn chỉ cần sử dụng các bản ghi dữ liệu
thuộc về các cụm có mức độ lệch cao nhất. Nếu bạn đang tìm kiếm các công ty hứa hẹn để đầu
tư, bạn có thể sẽ bắt đầu với các cụm có mức độ lệch cao nhất và sau đó hạ dần mức của bạn
xuống, miễn là bạn có các nguồn lực. Thứ hai, có thể cố định ngưỡng. Đây sẽ là trường hợp
trong các kịch bản cảnh báo yêu cầu thực hiện hành động đó nếu có bất kỳ bản ghi dữ liệu mới
nào được gán cho một cụm có một mức độ lệch trên ngưỡng cụ thể. InfoSphere Warehouse cho

phép bạn thực hiện cả hai cách bằng cách chỉ cần gán một mã định danh cụm (id cluster) và một
mức độ lệch tương ứng cho mỗi bản ghi dữ liệu. Bạn có thể hoặc lọc các bản ghi hoặc sắp xếp
chúng để có được các ngoại lệ mà bạn muốn xem lại hoặc là bạn phải kiểm tra. Phần sau đây
cung cấp một ví dụ từng bước một về cách tìm ra các ngoại lệ bằng InfoSphere Warehouse và
cách gán các mức độ lệch cho các bản ghi dữ liệu riêng rẽ.
Một ví dụ thực tế
Trong ví dụ sau đây, việc phát hiện sai lệch được áp dụng cho các mục nhập về các khách hàng
của ngân hàng. Dữ liệu mẫu của bảng tương ứng được chỉ trong Hình 2. Bảng
BANK.BANKCUSTOMERS đi kèm với các mẫu của InfoSphere Warehouse.

Hình 2. Dữ liệu mẫu trong bảng BANK.BANKCUSTOMERS

Để phát hiện các ngoại lệ trong bài viết này:
1. Tạo một luồng khai phá mới, như đã thấy trong bài viết trước.
2. Ngoài ra, như đã thấy trong bài viết trước, bạn phải kéo một toán tử nguồn bảng vào trình
soạn thảo.
3. Nhấn đúp vào toán tử để mở nó, chỉ rõ BANK.BANKCUSTOMERS làm bảng cơ sở dữ liệu
nguồn và nhấn OK để xác nhận.
4. Bây giờ, kéo một toán tử "Find Deviations" (Các sai lệch tìm thấy) vào vùng bên cạnh
nguồn bảng và nối chân đầu ra của nguồn bảng với chân đầu vào của "Find deviations".
Thay đổi tên mô hình của mô hình cụm được toán tử "Find deviations" tạo ra thành
IDMMX.OUTLIERMODEL. Nhấn đúp vào toán tử đó để mở các đặc tính và thay đổi tên mô
hình trên trang trình thủ thuật thứ hai.
5. Cuối cùng, tạo ra một bảng đích phù hợp bằng cách chọn "Create Suitable Table " (Tạo
bảng thích hợp ) từ trình đơn ngữ cảnh nhấn chuột phải của cổng đầu ra của toán tử
"Find Deviations". Trên trang trình thủ thuật đầu tiên, chọn lược đồ BANK (Ngân hàng)
và nhập tên bảng là CUSTOMERS_OL. Nhấn chuột vào Finish. (Kết thúc). Một toán tử
"Table Target" (Đích bảng) sẽ được nối tới luồng này. Nếu bạn muốn chạy luồng này
nhiều lần, thì nên đánh dấu chọn hộp kiểm tra "Delete Previous Content" (Xóa nội dung
trước) trong các đặc tính của các toán tử "Table Target".

Luồng này chỉ cần nạp bảng khách hàng, chuyển nó tới thuật toán phát hiện sai lệch và viết các
kết quả vào một bảng mới (xem Hình 3). Có thể được thấy trích xuất các kết quả trong Hình 4.

Hình 3. Sử dụng luồng khai phá để phát hiện sai lệch.

Như bạn thấy, có hai cột bổ sung, cụ thể là cột DEV_DEGREE và cột CLUSTER_ID. Cột Mức
độ lệch đầu tiên chỉ rõ làm thế nào để coi bản ghi này là một ngoại lệ. Cột mã định danh cụm là
mã định danh của cụm "ngoại lệ" có bản ghi này thuộc về nó. Có thể trích xuất thông tin bổ sung
về các cụm này nhờ phân tích mô hình cụm đã được toán tử sai lệch tìm thấy tạo ra bên trong.
(Bài viết này thảo luận về điều này sau).

Hình 4. Dữ liệu mẫu từ bảng kết quả, BANK.CUSTOMER_OL

Về đầu trang
Tạo một báo cáo Cognos tương tác để phát hiện sai lệch
Trong phần này, hãy tìm hiểu cách để tạo ra một báo cáo Cognos cho phép bạn kiểm tra các
ngoại lệ theo cách tương tác. Đầu tiên, bạn có thể sử dụng một báo cáo tương tự như trong bài
viết đầu tiên của loạt bài này. Thay cho một bảng các bệnh nhân với một bộ chỉ báo cho biết
những ai trong số họ được đề xuất khám sức khỏe, bây giờ bạn có một danh sách các khách hàng
với một bộ chỉ báo cho biết các khách hàng nào cần được kiểm tra về hành động gian lận hoặc
khả nghi. Trong khi cách tiếp cận này hoạt động tốt với một lượng các khách hàng nhỏ hơn, nên
một danh sách có hàng ngàn mục nhập sẽ không thuận tiện. Ngoài ra, một nhà phân tích có thể
muốn xem cái gì làm cho một khách hàng cụ thể trở thành một "ngoại lệ". Bạn cần một số thông
tin bổ sung để đưa ra một lời giải thích như vậy. Vì thế, chúng ta hãy mở rộng phương pháp đơn
giản này theo hai cách:
 Nhóm các khách hàng theo nghề và đưa ra một tổng quan về có bao nhiêu các ngoại lệ có
thể có theo từng thể loại nghề. Việc dùng loại phân nhóm này là một cách hay để đối phó
với số lượng lớn thông tin. Ví dụ, người ta có thể cho rằng mỗi thể loại được xem xét và
phân tích bởi một nhân viên cụ thể chịu trách nhiệm về thể loại này. Thay vì theo nghề
nghiệp, cũng có khả năng theo các lĩnh vực khác (chẳng hạn theo vị trí).

 Làm giàu cho mỗi bản ghi ngoại lệ bằng thông tin về lý do tại sao coi bản ghi cụ thể là
một ngoại lệ. Như đã nói ở trên, mỗi bản ghi được gán cho một cụm và tất cả các thành
viên của một cụm chia sẻ cùng một mức độ lệch. Bạn có thể sử dụng các đặc tính của một
cụm để mô tả các ngoại lệ. Ví dụ, nếu một cụm chứa hầu hết nhưng người rất trẻ có số dư
trung bình cao thì điều này có thể là một lời giải thích tốt về lý do tại sao cụm này được
xác định là một ngoại lệ.
Phần sau đây trước tiên cho thấy cách làm giàu các ngoại lệ bằng thông tin bổ sung. Sau đó, bạn
sẽ tạo ra một bản ghi tương tác để phân nhóm các khách hàng theo nghề của họ và cho phép bạn
chọn các ngoại lệ một cách tương tác theo một thể loại cụ thể bằng cách sử dụng tính năng "truy
vấn ngược" (drill-through) của Cognos.
Trích xuất thông tin bổ sung từ các mô hình khai phá dữ liệu
Bảng CUSTOMER_OL chứa thông tin có liên quan về các ngoại lệ. Như đã nói ở trên, mỗi bản
ghi được gán cho một cụm. Toán tử "Find Deviations" tạo ra một mô hình cụm trên nền tảng lưu
trữ thông tin chi tiết về các cụm này. Thông tin này được lưu trữ theo định dạng PMML
(Predictive Model Markup Language-Ngôn ngữ đánh dấu mô hình dự báo) trong cơ sở dữ liệu.
Nó chứa thông tin về:
 Sự phân bố các giá trị trong một cụm.
 Số lượng bản ghi trong một cụm.
 Tầm quan trọng của các biến cho mỗi cụm.
 Tính đồng nhất của các cụm.
 Nhiều thông tin hơn nữa.
Bạn có thể sử dụng các thủ tục lưu sẵn có trong InfoSphere Warehouse để trích xuất thông tin
này vào các bộ kết quả có thể được sử dụng trong Cognos. Các tập kết quả này có thể được coi là
"các khung nhìn" không chỉ được tạo rõ ràng trong cơ sở dữ liệu nhưng còn được tạo ra trong lúc
đang chạy bằng các thủ tục lưu sẵn.
Nếu bạn muốn trích xuất thông tin nguyên văn về các cụm, bạn có thể sử dụng lệnh sau đây:
SELECT ID, DESCRIPTION FROM TABLE(IDMMX.DM_GETCLUSTERS((SELECT MODEL FROM
IDMMX.CLUSTERMODELS WHERE MODELNAME='IDMMX.OUTLIERMODEL'))) AS CT
Lệnh này sẽ cung cấp cho bạn một bảng chứa các cột sau:
 ID: mã định danh của cụm (tương ứng với ID trong bảng CUSTOMER_OL).

 DESCRIPTION (Mô tả): Mô tả nguyên văn của cụm này.
Các tập kết quả như vậy có thể được Cognos sử dụng như là các khung nhìn hoặc các bảng chính
quy. Điều duy nhất bạn phải nhận biết là các thủ tục đã lưu trữ này không chỉ được bao gồm
trong DB2 mà còn được InfoSphere Warehouse thêm vào. Hãy quay lại phần này sau một lát
nữa. Hình 5 tóm tắt hai cách lấy thông tin từ InfoSphere đến Cognos: theo các khung nhìn/các
bảng cơ sở dữ liệu đơn giản hoặc theo các trích xuất từ các mô hình khai phá đang sử dụng các
thủ tục đã lưu trữ. Các thủ tục đã lưu trữ này không chỉ tồn tại với các mô hình cụm mà còn với
nhiều mô hình khai phá khác. Với một danh sách đầy đủ các hàm trích xuất mô hình có sẵn, hãy
xem tài liệu InfoSphere Warehouse (xem phần Tài nguyên). Trong phần sau đây, chúng tôi sẽ
cho bạn thấy có thể sử dụng Nhà quản lý khung công tác Cognos (Cognos framework manager)
để kết hợp cả hai loại thông tin như thế nào.

Hình 5. Hai cách truy cập thông tin liên quan đến khai phá trong Cognos

Nhập khẩu và kết hợp các kết quả khai phá trong Cognos Framework Manager
Với báo cáo của mình, bạn cần hai chủ thể truy vấn trong dự án Cognos mà sau đó bạn nối vào
để có được một sự mô tả nguyên văn cho mỗi ngoại lệ:
 Một chủ thể truy vấn đơn giản truy cập vào bảng ngoại lệ BANK.CUSTOMER_OL được
tạo trong phần đầu tiên. Chủ thể truy vấn này chứa bản ghi khách hàng cùng với mức độ
lệch và mã định danh cụm.
 Một chủ thể truy vấn có sử dụng một thủ tục đã lưu để truy cập thông tin cụm của mô
hình phân cụm do thuật toán khai phá tạo ra. Như mô tả ở trên, trong số các thông tin
khác, thông tin cụm chứa một mô tả văn bản ngắn của cụm (trong trường hợp này, đó là
một mô tả tất cả bản ghi ngoại lệ trong cụm này).
Trước tiên, bạn phải tạo ra một dự án Cognos Framework Manager được kết nối đến cơ sở dữ
liệu mẫu DWESAMP của InfoSphere Warehouse và có bảng BANK.CUSTOMERS_OL, được
tạo ra ở trên. Trong bài viết đầu tiên của loạt bài này đã cung cấp hướng dẫn chi tiết về cách đạt
được điều này. Đó là cách làm tốt để tạo ra một chủ thể truy vấn trong vùng tên
PresentationView (Khung nhìn trình diễn) có chứa thông tin bạn cần từ cơ sở dữ liệu để có một
tầng trừu tượng trên các chủ thể truy vấn, được tạo ra từ các câu lệnh SQL. Điều này cũng cho

phép bạn thay đổi các tên cột theo các văn bản có tính mô tả hơn và thêm các cột bổ sung. Bạn
cần một mục truy vấn cờ-ngoại lệ để cho biết liệu một bản ghi đã được coi là một ngoại lệ chưa.
Hãy tính toán điều này từ mục truy vấn mức độ lệch DEV_DEGREE.
Để tạo chủ thể truy vấn bảng ngoại lệ được báo cáo này sử dụng:
1. Tạo một chủ thể truy vấn mới "OutlierTable" (Bảng ngoại lệ) trong vùng tên
PresentationView từ mô hình (các chủ thể truy vấn và các mục truy vấn hiện có).
2. Thêm tất cả các mục truy vấn từ chủ thể truy vấn CUSTOMER_OL và thay đổi các tên
cho các nhãn có tính mô tả hơn.
3. Thêm một mục truy vấn mới với định nghĩa biểu thức sau đây:
IF ([PresentationView].[OutlierTable].[Deviation factor] > 1000) then (1)
else (0)
4.
Mục truy vấn này sẽ bằng "1" nếu độ lệch cao hơn 1000; nếu không nó sẽ bằng "0".
Tham số độ lệch 1000 đã được chọn làm một tham số ngưỡng độ nhạy cho tập dữ liệu
của chúng ta. Thật có ích để làm cho độ nhạy sai lệch này được tham số hóa để trả về
nhiều hay ít các bản ghi là các ngoại lệ.

Định nghĩa chủ thể truy vấn của bạn sẽ trông giống như Hình 6:

Hình 6. Định nghĩa chủ thể truy vấn của bảng ngoại lệ

Mục truy vấn thứ hai là một bảng có thông tin về các cụm của mô hình phân cụm đã được tạo ra
trong quá trình chạy độ lệch tìm thấy. Mô tả dạng bảng này của mô hình phân cụm có thể được
trích xuất trong Khai phá dữ liệu InfoSphere Warehouse bằng hàm do người sử dụng định nghĩa
IDMMX.DM_GETCLUSTERS trả về một bảng các cụm trong mô hình cùng với một mô tả văn bản
ngắn về phân bố trường trong cụm này. Các mô hình phân cụm được lưu như CLOBS trong bảng
IDMMX.CLUSTERMODELS cùng với một cột "MODELNAME" có thể được dùng để chọn
mô hình đúng. Hàm do người dùng định nghĩa cần được bao bọc trong một câu lệnh SELECT do
Cognos sử dụng. Do các hàm bảng Khai phá InfoSphere Warehouse không phải là các hàm DB2
chuẩn, nên cần thay đổi một số tùy chọn Cognos trước khi có thể tạo chủ thể truy vấn này.

Để tạo chủ thể truy vấn mô tả cụm từ hàm bảng DB2:
1. Chọn cơ sở dữ liệu DWESAMP trong thư mục Data Sources (Các nguồn dữ liệu) của
Project Viewer và thay đổi đặc tính "Query Processing" (Xử lý truy vấn) trong khung
nhìn các đặc tính thành "Limited Locale" (Vị trí giới hạn). Điều này cho phép các chủ thể
truy vấn từ SQL mà Cognos vẫn chưa biết.
2. Tạo một chủ thể truy vấn mới "OutlierClusters" (Các cụm ngoại lệ) trong vùng tên
PresentationView và lựa chọn để mô hình hóa chủ thể truy vấn từ một nguồn dữ liệu.
Việc mô hình hóa nó từ một thủ tục đã lưu sẽ chỉ hỗ trợ cho các thủ tục đã lưu trữ mà
Cognos đã biết.
3. Trên trang "Select a data source" (Chọn một nguồn dữ liệu), chọn DWESAMP và xóa
dấu chọn hộp kiểm tra Run database query subject wizard (Chạy trình thủ thuật chủ
thể truy vấn cơ sở dữ liệu). Trình thủ thuật chủ thể truy vấn chỉ làm việc cho SQL chuẩn.
Nhấn Finish.
4. Sau khi đã tạo ra chủ thể truy vấn, trình thủ thuật Query Subject Definition (Định nghĩa
chủ thể truy vấn) sẽ mở ra. Nhập mã SQL để trả về các cụm trong mô hình đó, ở đây
IDMMX.OUTLIERMODEL là tên của mô hình phân cụm được tạo ra trong quá trình
chạy "các độ lệch tìm thấy".
SELECT * FROM TABLE(IDMMX.DM_GETCLUSTERS((SELECT MODEL
FROM IDMMX.CLUSTERMODELS WHERE MODELNAME='IDMMX.OUTLIERMODEL'))) AS CT


5.
6. Do lúc này không có Cognos nào phù hợp với SQL, nên kiểu truy vấn SQL cần phải
được thiết lập tới "Native" (Nguyên gốc), để nói cho Cognos biết chuyển SQL tới cơ sở
dữ liệu, thay vì giải thích nó. Để thay đổi thiết lập này, hãy mở thẻ "Query Information"
(Truy vấn thông tin) của các đặc tính các chủ thể truy vấn. Chọn "Options" (Các tùy
chọn) và thay đổi "SQL type" trong thẻ "SQL settings" (Các giá trị cài đặt SQL) thành
"Native".
7. Việc chạy "Test Sample" (Kiểm tra mẫu) cần trả về một bảng có các cụm của mô hình
đó, như cho thấy trong Hình 7:


Hình 7. Các kết quả kiểm tra của chủ thể truy vấn cụm ngoại lệ

Việc sử dụng một thủ tục đã lưu trữ làm đầu vào chủ thể truy vấn có lợi thế là không tạo ra các
bảng hoặc các khung nhìn không cần thiết trong cơ sở dữ liệu. Quan trọng hơn, thủ tục đã lưu trữ
sẽ được thực hiện trong việc tạo báo cáo. Điều này làm cho có khả năng thực hiện động các tính
toán khai phá tại thời điểm tạo báo cáo. Chủ thể này được trình bày nhiều hơn trong các bài viết
sắp tới của loạt bài này.
Để tạo các bản ghi đã nối các bảng các chủ thể truy vấn OutlierTable (Bảng ngoại lệ) và
OutlierClusters (Các cụm ngoại lệ), bạn phải tạo ra một mối quan hệ giữa mã định danh cụm đã
cho điểm của các bản ghi ngoại lệ và mã định danh cụm của bảng cụm.
Để tạo một mối quan hệ giữa các chủ thể truy vấn OutlierTable và OutlierClusters:
1. Chọn Create Relationship (Tạo mối quan hệ) từ trình đơn ngữ cảnh của OutlierTable
này.
2. Với chủ thể truy vấn bên trái, chọn mã định danh cụm của OutlierTable và thiết lập
cardinality (số các tham số trong một tập) là 1 n do có quá nhiều bản ghi thuộc cùng một
cụm.
3. Với chủ thể truy vấn bên phải, thêm chủ thể truy vấn OutlierClusters, chọn cột ID và thiết
lập cardinality là 1 1 do chỉ có một hàng cho mỗi cụm.
4. Chọn OK.

Hình 8. Mối quan hệ giữa các chủ thể truy vấn OutlierTable và OutlierClusters

Bây giờ bạn đã tạo ra các chủ thể truy vấn cần thiết cho báo cáo Cognos và có thể triển khai một
"OutliersPackage" (Gói các ngoại lệ) có chứa các PresentationView của dự án cho Cognos
Content Store (Kho lưu trữ nội dung Cognos). Việc tạo và triển khai gói đạt được đúng như đã
mô tả trong bài viết trước của loạt bài này.

Hình 9. Các tài nguyên được tạo trong Framework Manager


Liên kết các báo cáo Cognos bằng truy vấn ngược (drill-through)
Khái niệm ban đầu của "drill-through" nói đến nhiệm vụ chuyển hướng từ các giá trị tổng hợp
đến các bản ghi riêng biệt. Đây là một nhiệm vụ phổ biến trong các ứng dụng OLAP. Trong
Cognos, khái niệm này được dùng theo nghĩa rộng hơn như là bất kỳ loại "liên kết" các báo cáo
nào với nhau. Như vậy, các định nghĩa truy vấn ngược (drill-through) phù hợp với một mục đích
tương tự như các siêu liên kết trong HTML. Liên kết các báo cáo tự nó sẽ không phải là một tính
năng rất mạnh mẽ. Điều làm cho các định nghĩa truy vấn ngược (drill-through) trở thành một
công cụ mạnh là sử dụng các tham số. Ví dụ, mỗi báo cáo trong Cognos có thể chứa các tham số
có thể được sử dụng để tạo các truy vấn dễ tham số hóa. Nếu các tham số này không được thiết
lập, người dùng sẽ được nhắc nhở về chúng. Trong một định nghĩa truy vấn ngược (drill-
through), các tham số này có thể được định nghĩa như là một phần của siêu liên kết (giống như
trong các yêu cầu HTTP GET). Các giá trị cho các tham số này có thể được rút ra từ ngữ cảnh liên
kết. Phần sau đây đưa ra ví dụ minh họa cho khái niệm này bằng cách sử dụng hai báo cáo được
liên kết.
Tạo một bản ghi ngoại lệ bằng Cognos Report Studio (Công cụ tạo báo cáo Cognos)
Trong phần này, hãy tạo một dự án có hai trang báo cáo dựa vào OutliersPackage đã triển khai:
 Trang chính cho thấy một tổng quan về các bản ghi khách hàng được nhóm lại theo nghề
với số lượng các ngoại lệ tương ứng cho mỗi nghề.
 Một trang báo cáo cho thấy các báo cáo sai lệch thực sự với một nghề nhất định.
Cả hai báo cáo sẽ được kết hợp sao cho có khả năng truy vấn ngược (drill-through) đến các bản
ghi sai lệch so với trang tổng quan chính.
Do trang tổng quan có các liên kết đến các trang chi tiết, nên hãy tạo nó trước tiên. Trang các chi
tiết ngoại lệ chứa các bản ghi khách hàng được gắn cờ như là các ngoại lệ, thuộc về nghề được
lựa chọn trong trang báo cáo chính. Để tạo sự tương tác này, bạn cần phải thêm một tham số cho
nghề đó vào bản ghi và sử dụng nó trong một bộ lọc các bản ghi. Bạn cũng cần thêm một điều
kiện cho bộ lọc để chỉ trả về các bản ghi có một mục truy vấn Outlier Flag (Cờ truy vấn) bằng
"1" (tất cả các bản ghi có mức độ lệch vượt ngưỡng).
Để tạo ra trang báo cáo "Outlier Details" (Các thông tin chi tiết), hãy làm như sau:
1. Tạo một Report (báo cáo) mới trong Cognos Report Studio bằng cách sử dụng
OutliersPackage.

2. Thêm một đối tượng danh sách vào báo cáo.
3. Thêm chủ thể truy vấn OutlierTable vào danh sách bằng cách kéo nó từ khung nhìn
"Insertable Objects" (Các đối tượng chèn vào).
4. Thêm mục truy vấn DESCRIPTION (Mô tả) của chủ thể truy vấn OutlierClusters vào
danh sách.
5. Thêm một bộ lọc vào danh sách bằng cách chọn danh sách và nhấn vào biểu tượng
"Filters" (Bộ lọc) trên thanh công cụ hoặc từ trình đơn Data > Filters.
6. Trong trình thủ thuật, thêm một "Details filter" (Bộ lọc các thông tin chi tiết) với biểu
tượng "Add".
7. Trong trang "Detail Filter Expression" (Chi tiết về biểu thức lọc), thêm mã sau đây vào
"Expression Definition" (Định nghĩa biểu thức).
([PresentationView].[OutlierTable].[Outlier flag] = 1)
AND ([PresentationView].[OutlierTable].[Profession] = ?Profession?)

8.
Cognos sẽ tự động phát hiện từ khoá "Profession" (Nghề nghiệp) được bao quanh bằng
dấu "?" như một tham số và thêm nó vào danh sách tham số của báo cáo.
9. Xác nhận các bộ lọc bằng cách nhấn OK.

Hình 10. Bộ lọc cho trang Outlier Details

10. Thay đổi văn bản tiêu đề báo cáo và các tiêu đề cột theo ý thích của bạn và lưu các báo
cáo của bạn như là OutlierDetails.

Hình 11. Cognos Report Studio với báo cáo Outlier Details

Trang tổng quan có chứa một danh sách tất cả các nghề có số lượng các bản ghi khách hàng và
số các ngoại lệ cho mỗi nghề. Số lượng các bản ghi sẽ được tính bằng cách sử dụng các hàm
tổng hợp Cognos.
Để tạo trang OutlierOverview (Tổng quan ngoại lệ):

1. Tạo một báo cáo mới trong Cognos Report Studio bằng cách sử dụng OutliersPackage.
2. Thêm một đối tượng danh sách vào báo cáo.
3. Từ chủ thể truy vấn OutlierTable trong khung nhìn "Insertable Objects", kéo các mục
truy vấn: Profession (Nghề nghiệp), Customer ID (Mã định danh khách hàng) và
Outlier flag (Cờ ngoại lệ) vào danh sách.
4. Cột mã định danh Khách hàng được sử dụng để cho biết số lượng các bản ghi khách hàng
cho mỗi nghề. Để tính toán điều này, bạn cần phải thay đổi hàm tổng hợp của cột tới
"Count" (Đếm) trong khung nhìn các đặc tính của cột.
5. Cột OutlierFlag được sử dụng để cho biết số lượng các bản ghi sai lệch cho mỗi nghề. Do
cột này chứa "1" cho mỗi bản ghi sai lệch và "0" cho các bản ghi không sai lệch, bạn cần
thêm các giá trị này của cột. Thay đổi hàm tổng hợp của cột vào Total (Tổng số).
6. Thay đổi các đặc tính "Data Item" > "Name" và "Data Item" > "Label" của cột "Customer
ID" và "Outlier flag" thành Number of customersvà Number of outliers.
7. Để cho phép một truy vấn ngược (drill-through) đến OutlierDetails Report (Báo cáo các
chi tiết ngoại lệ), chọn cột Number of Outliers (không phải là tiêu đề, mà là cột bên
dưới nó) và chọn Drill-Through Definitions (Các định nghĩa truy vấn ngược) từ trình
đơn ngữ cảnh nhấn chuột phải.
8. Thêm một định nghĩa truy vấn ngược (drill-through) mới.
9. Trong thẻ Target Report của các đặc tính, chọn báo cáo OutlierDetails làm báo cáo.
10. Chọn Run the report làm hành động.
11. Đánh dấu chọn hộp kiểm tra Open in new window (Mở cửa sổ mới).
12. Thêm một tham số được liên kết mới với nút Edit bên dưới danh sách các tham số.
13. Trong hộp thoại Parameters (Các tham số), chọn Pass data item value (Chuyển giá trị
mục dữ liệu qua) làm một phương thức để liên kết tham số vào một giá trị hàng trong
danh sách.
14. Chọn mục truy vấn Profession làm nguồn mục dữ liệu và chọn OK.

Hình 12. Các tham số định nghĩa truy vấn ngược (drill-through).

15. Nhấn OK để lưu định nghĩa truy vấn ngược (drill-through).


Hình 13. Trang định nghĩa truy vấn ngược (drill-through)

16. Thay đổi văn bản tiêu đề và lưu báo cáo là OutlierOverview.
17. Bây giờ bạn có thể chạy báo cáo của mình từ trình đơn Run > Run HTML hoặc từ
Cognos Connect (Nối Cognos).
18. Nhấn chuột vào một liên kết trong số lượng cột ngoại lệ để xem các bản ghi chi tiết.

Hình 14. Trang tổng quan về ngoại lệ

Dự án này đơn giản chỉ gồm hai bản ghi. Nhờ sử dụng một định nghĩa "truy vấn ngược " (drill-
through) có chứa một tham số được định nghĩa bởi ngữ cảnh liên kết, bạn không cần tạo ra một
liên kết cho mỗi nghề riêng. Các bài viết sắp tới của loạt bài này cho thấy cách thực hiện nhiều
điều mạnh mẽ hơn với các định nghĩa truy vấn ngược (drill-through), ví dụ như cách gọi khai
phá dữ liệu động.
Về đầu trang
Kết luận
Trong bài này, bạn đã tìm hiểu về việc phát hiện sai lệch và cách thực việc hiện phát hiện sai
lệch bằng InfoSphere Warehouse. Phát hiện sai lệch là một nhiệm vụ tương tác cao và thường
phải kiểm tra các ngoại lệ bằng thủ công để xem liệu chúng có cho biết gian lận, các lỗi trong dữ
liệu hay một số cơ hội thú vị không. Cognos rất rất thích hợp để hỗ trợ nhiệm vụ phân tích ngoại
lệ tương tác. Ngoài các kỹ thuật đơn giản được sử dụng trong bài viết đầu tiên của loạt bài, này,
bạn đã tìm hiểu hai kỹ thuật bổ sung. Đầu tiên, có thể trích xuất thông tin bổ sung từ các mô hình
khai phá chưa có trong bảng cho điểm bằng cách sử dụng thủ tục đã lưu trữ. Thứ hai, các báo cáo
Cognos có thể được liên kết bằng cách sử dụng tính năng "truy vấn ngược " (drill-through), cho
phép các bản ghi tương tác với nhau. Trong các bài viết sắp tới của loạt bài này, hãy tìm hiểu
cách để tiến xa hơn bằng cách gọi khai phá dữ liệu động từ Cognos.

×