Tải bản đầy đủ (.pdf) (38 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 3: Gọi khai phá động từ Cognos khi sử dụng một ví dụ phân tích giỏ thị trường pot

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 (1.18 MB, 38 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 3: Gọi khai phá động từ Cognos khi sử dụng một ví
dụ phân tích giỏ thị trường
Benjamin G. Leonhardi, Kỹ sư phần mềm, IBM
Christoph Sieb, Kỹ sư phần mềm cao cấp, IBM
Dr. Michael J. Wurst, Kỹ sư phần mềm cao cấp, IBM
Tóm tắt: Các quy tắc kết hợp biểu thị các mặt hàng, các sự kiện hoặc các thực thể
khác nào thường xảy ra đồng thời trong các tập dữ liệu lớn. Ví dụ, có thể áp dụng
kiến thức này trong việc phân tích giỏ hàng (ND: một lần mua sắm ở một cửa
hàng có thể được xem như một giao dịch và tất cả các mặt hàng đã mua trong quá
trình này sau đó cùng xuất hiện và được gọi là một giỏ hàng hay giỏ thị trường) để
sử dụng các tiềm năng bán hàng chéo bằng cách giới thiệu các sản phẩm thường
được mua cùng với nhau. Bạn có thể áp dụng khai phá các quy tắc kết hợp trong
InfoSphere Warehouse và xuất khẩu mô hình kết quả tới các báo cáo Cognos,
tương tự như cách các bài viết trước trong loạt bài này đã làm với các mô hình
Cụm và Phân loại. Do việc khai phá quy tắc kết hợp là một nhiệm vụ tương tác
cao, nên một giải pháp tốt hơn sẽ là cho phép người dùng gọi khai phá trực tiếp từ
một báo cáo Cognos, có thể chỉ định các tham số bổ sung. Cách tiếp cận như vậy
có thể được bao hàm như là khai phá đặc biệt hoặc khai phá động. Trong bài viết
này, bạn sẽ tìm hiểu để đạt được điều này.
Mở đầu
Khi bạn đang làm việc với lượng dữ liệu lớn, điều quan trọng là bạn hiểu rõ các
quy tắc về các thực thể khác nhau có liên quan với nhau như thế nào. Thường phát
hiện ra các quy tắc này là một quá trình phức tạp. Các quy tắc kết hợp rất đơn giản
chỉ là chủ nghĩa hình thức có tác động mạnh đến các quy tắc mô tả các tập dữ liệu
vì chúng biểu thị các thực thể nào có thể xuất hiện đồng thời với nhau.
Một ví dụ truyền thống về các quy tắc kết hợp có thể thường thấy trong lĩnh vực
bán lẻ. Ví dụ, một quy tắc kết hợp chung là “NẾU trứng VÀ sữa thì SAU ĐÓ là
đường” nói lên rằng khi mua hàng nhiều khách hàng mua trứng và sữa cũng mua
đường. Quy tắc này có thể được phát hiện có hiệu quả thậm chí từ các các tập dữ
liệu rất lớn. InfoSphere Warehouse cho phép bạn tìm các quy tắc này một cách


thuận tiện như bài viết này đã mô tả chi tiết.
Bài viết trước của loạt bài này đã mô tả cách trước hết xây dựng mô hình khai phá
trong InfoSphere Warehouse và sau đó xuất bản các kết quả bằng cách sử dụng
Cognos. Điều này là tốt trong một số kịch bản. Tuy nhiên, một nhà phân tích
thường muốn tác động đến việc phân tích tương tác, ví dụ, hạn chế các quy tắc
được tìm thấy. Chuyển sang InfoSphere Warehouse DesignStudio rồi quay lại
Cognos mỗi khi thay đổi một tham số thật không thuận tiện chút nào. Do đó bạn
muốn tạo các bản ghi tương tác cho phép người dùng thiết lập các tham số trong
một báo cáo Cognos, tự động gọi khai phá trong nền tảng rồi cung cấp các kết quả
trả lại Cognos. Bài viết này cho bạn thấy cách thực hiện chính xác các bước đó.
Trước tiên, hãy tìm hiểu về nhiệm vụ khai phá quy tắc kết hợp và cách có được nó
trong InfoSphere Warehouse. Sau đó, hãy xem cách gọi động khai phá dữ liệu từ
Cognos. Cuối cùng, hãy xem một ví dụ về việc có thể sử dụng cơ chế này theo
thời gian thực.


Phân tích giỏ hàng và khai phá quy tắc kết hợp
Các quy tắc kết hợp và các ứng dụng của chúng
Các quy tắc kết hợp mô tả những mục nào thường xảy ra cùng nhau. Khái niệm về
một giao dịch có tầm quan trọng thiết yếu trong ngữ cảnh này. (Một truy cập đơn
vào một cửa hàng có thể được xem như một giao dịch và tất cả các mặt hàng đã
mua trong quá trình truy cập này sau đó đang cùng xuất hiện và được gọi là một
giỏ hàng hay tổng quát hơn là giỏ thị trường). Mặc dù, tất cả các mua sắm của
một khách hàng trong suốt một năm cũng có thể được xem như là một giao dịch.
Điều đó phụ thuộc vào loại các quy tắc nào mà bạn quan tâm.
Hãy xem xét một ví dụ đơn giản. Bảng sau đây chứa các giao dịch về các mặt
hàng. Mỗi giao dịch có chứa tất cả các mặt hàng mà một khách hàng đã mua trong
một lần truy cập vào một cửa hàng.

Hình 1. Các giao dịch mẫu


Như bạn thấy, máy tính (PC) được mua khá thường xuyên. Ngoài ra, sự kết hợp
của máy tính và màn hình (Monitor) xuất hiện trong 20% các giao dịch. Như bạn
cũng có thể thấy, trong 50% trường hợp đã mua một máy tính (PC) và màn hình
(Monitor), cũng mua một con chuột (Mouse). Nếu chúng ta lấy điều này làm một
quy tắc: [PC, Monitor]->Mouse, ở đây [Pc, Monitor] là phần thân còn Mouse là
phần đầu hoặc phần đích, thì số lượng các giao dịch bao gồm các phần thân và
phần đầu được chia cho số lượng tất cả các giao dịch có hiệu lực được gọi là sự hỗ
trợ (20%). Cách tính này cho chúng ta biết quy tắc này xuất hiện trong dữ liệu
thường xuyên như thế nào. Mặc dù nó không cho chúng ta biết độ chính xác của
quy tắc này bằng bao nhiêu. Độ tin cậy mô tả tỷ lệ phần trăm số lần phần thân của
một quy tắc xuất hiện trong một giao dịch và phần đầu cũng xuất hiện. Điều này
mang đến thông tin về tính chính xác của quy tắc này. Khai phá các quy tắc kết
hợp đòi hỏi người sử dụng phải nói sự hỗ trợ và độ tin cậy tối thiểu. Sau đó thuật
toán xác định chính xác các cách kết hợp các mặt hàng và các quy tắc để thực hiện
tiêu chuẩn này
Có nhiều kịch bản ứng dụng trong đó sử dụng khai phá quy tắc kết hợp. Chúng ta
đã đề cập đến một sự khai phá nổi bật nhất: đó là bán lẻ. Ví dụ, các quy tắc kết
hợp được dùng để sắp xếp hàng hóa trong một siêu thị sao cho các sản phẩm
thường được mua trong cùng một lần truy cập đến một cửa hàng được đặt gần
nhau. Quan trọng hơn là, sử dụng các quy tắc kết hợp để tận dụng tiềm năng bán
hàng chéo trong thương mại điện tử bằng cách giới thiệu cho những người sử dụng
các mặt hàng nào có thể cần quan tâm thêm nữa với họ. Một lĩnh vực ứng dụng
khác là chăm sóc sức khỏe. Có thể sử dụng các quy tắc kết hợp để tìm hiểu về các
vấn đề sức khỏe thường xuất hiện cùng nhau để cho các bệnh nhân có chẩn đoán
cụ thể có thể được khám các vấn đề sức khỏe phát sinh thường đi kèm với nhau
trong chẩn đoán này. Các lĩnh vực ứng dụng khác bao gồm phát hiện xâm nhập,
phân tích bản ghi nhật ký web, các mẫu truy cập cơ sở dữ liệu và v.v.
Một biến thể hơi khác một chút của các quy tắc kết hợp là các quy tắc tuần tự. Các
quy tắc này không những nói rõ các thực thể nào mà còn nói rõ các sự kiện nào có

liên quan đến sự xuất hiện liên quan của chúng theo thời gian. Ví dụ, các quy tắc
như vậy có thể nói rõ rằng các khách hàng đầu tiên đã mua một máy tính xách tay
rồi mua một túi đựng cho nó, có lẽ sẽ mua một con chuột di động trong một
khoảng thời gian sáu tháng. Hầu hết những gì được trình bày trong phần còn lại
của bài viết này cũng áp dụng theo các quy tắc tuần tự.
Khai phá các quy tắc kết hợp trong InfoSphere Warehouse
Khai phá các quy tắc kết hợp được dẫn ra bằng cách gọi một thủ tục đã lưu trữ làm
tất cả các hoạt động khai phá khác trong InfoSphere Warehouse. Các định dạng
giao dịch khác nhau được hỗ trợ và trong phần sau chúng ta sẽ sử dụng một định
dạng giao dịch dựa trên trình bày sau đây.

Hình 2. Bảng giao dịch

Để thực hiện khai phá, bạn phải nói cho các thuật toán biết nó tìm thấy các mặt
hàng thực tế trong cột nào và cột nào chứa các thông tin về cách phân nhóm các
mặt hàng trong các giao dịch. Trong trường hợp này, tên của cột này là TRANSID
để phân nhóm các mặt hàng theo từng lần mua hàng của khách hàng. Chúng ta
cũng có thể đã sử dụng mã định danh (id) khách hàng làm một mã định danh nhóm
để tìm các cách kết hợp theo toàn bộ lịch sử mua hàng của khách hàng. Khi sử
dụng lệnh SQL IDMMX.BuildRuleModel hoặc toán tử Associations (Các cách kết
hợp) trong DesignStudio, chúng ta gọi khai phá. Bạn phải cung cấp một tên mô
hình, tên của bảng giao dịch, cột nhóm, sự hỗ trợ và độ tin cậy tối thiểu và chiều
dài quy tắc tối đa. Xin lưu ý rằng các mặt hàng được mô tả theo các id. Các tên
mặt hàng có thể được thêm vào một bảng ánh xạ tên trong đó có các id mặt hàng
và một sự mô tả tương ứng. Có rất nhiều tùy chọn bổ sung có thể như phân loại,
trọng lượng mặt hàng và v.v Xin vui lòng tham khảo hướng dẫn InfoSphere
Warehouse để biết thêm chi tiết.
Các mô hình quy tắc có thể được hiển thị trực quan trong DesignStudio giống như
các mô hình phân loại hay phân cụm. Chúng ta cũng có thể trích xuất thông tin có
trong mô hình này vào một bảng, cũng như với các cụm. Điều này có thể đạt được

bằng lệnh IDMMX.DM_getRules hoặc bằng toán tử Extractor trong
DesignStudio. Tập kết quả chứa một quy tắc cho mỗi bản ghi với thông tin sau:
 phần đầu
 phần thân
 độ tin cậy
 hỗ trợ
 nâng lên
 chiều dài
Bảng có các quy tắc được trích xuất có thể trông như sau:

Hình 3. Bảng các quy tắc

Phần dưới đây cho thấy cách bạn có thể chuyển giao thông tin này tới Cognos để
hiển thị trực quan nó theo cách tiện lợi.


Gọi các thủ tục khai phá từ Cognos
Trong bài viết trước, bạn đã thấy rằng có thể gọi thủ tục DB2 đã lưu trữ từ Cognos
Reporting (Việc tạo báo cáo Cognos) bằng cách bao gồm chúng như là Query
Subjects (Các truy vấn đối tượng) trong Cognos Metadata (Siêu dữ liệu Cognos).
Điều này làm cho thủ tục đã lưu trữ thực hiện ngay báo cáo được chạy và sau đó
bạn có thể sử dụng nó để trích xuất thông tin từ một mô hình khai phá PMML
(Ngôn ngữ đánh dấu mô hình hóa dự báo) hiện có.
Trong bài này, hãy tiến thêm một bước nữa và tạo một mô hình khai phá động
theo một thủ tục đã lưu trữ được tham số hóa bằng cách sử dụng SQL API của
Khai phá InfoSphere Warehouse. Sau đó thủ tục đã lưu trữ tương tự trích xuất
thông tin từ mô hình và trả nó về cho Cognos Report (Báo cáo Cognos)
Thực sự chỉ có hai cuộc gọi liên quan đến quá trình tạo các quy tắc và chuyển giao
chúng cho Cognos. Một cuộc gọi để xây dựng mô hình quy tắc trong cơ sở dữ liệu
và một cuộc gọi thứ hai để trích xuất các quy tắc và trả chúng về như là tập kết

quả. Tuy nhiên, cuộc gọi để tạo một mô hình là một thủ tục đã lưu trữ không trả về
bất kỳ giá trị nào. Để gọi khai phá từ Cognos, thật lý tưởng là thực hiện cả hai
trong một cuộc gọi duy nhất tới cơ sở dữ liệu.
Để làm được điều này, ý tưởng cơ bản là tạo ra một hàm kết hợp do người dùng
định nghĩa để trước hết gọi quá trình tạo mô hình và sau đó trích xuất các quy tắc
và trả chúng về như là một tập kết quả. Quá trình này được thể hiện trong hình
sau.

Hình 4. Các hàm kết hợp do người dùng định nghĩa để khai phá động

Bạn có thể tạo một thủ tục đã lưu trữ được kết hợp bằng thủ công. Tuy nhiên, có
khả năng để tạo ra nó trực quan nhờ sử dụng InfoSphere Warehouse. Bạn sẽ tìm
hiểu cách có được điều này bằng cách làm theo cùng với ví dụ đi dần qua từng
bước sau đây.
Sử dụng InfoSphere Warehouse để tạo ra các thủ tục đã lưu trữ khai phá phức tạp
Trước tiên, bạn phải tạo logic khai phá phức tạp. InfoSphere Warehouse có
Mining Editor (Trình soạn thảo khai phá) làm cho nó có thể thiết kế các luồng khai
phá (các chuỗi lệnh khai phá) bằng đồ họa. Các luồng khai phá này có thể được
thực hiện trong DesignStudio hoặc được triển khai đến Bàn điều khiển quản trị của
InfoSphere Warehouse (InfoSphere Warehouse Administration Console) để được
chạy trên một cơ sở lịch trình dự kiến. Nhưng do tất cả các hoạt động khai phá dựa
vào SQL, nên nó cũng có thể tạo ra một kịch bản lệnh SQL từ một luồng khai phá
(trừ một số toán tử như phân tích Mining Visualizers (Các trình hiển thị trực quan
khai phá) và Text (Văn bản) không được thực hiện trong cơ sở dữ liệu). Các toán
tử khai phá như Association Operator và Rules Extractor (được sử dụng trong ví
dụ sau đây) được dịch sang SQL. Lệnh "Generate SQL Code" (Tạo mã SQL) của
Mining Editor tạo ra DDL của SQL biểu diễn luồng khai phá và có thể được bao
gồm trong một thủ tục đã lưu trữ bằng cách trả về bảng kết quả của luồng khai phá
như là kết quả của thủ tục đã lưu trữ. Ví dụ cho bạn thấy cách làm điều này.
Sau khi bạn đã tạo ra logic khai phá phức tạp, trở ngại thứ hai là tạo, triển khai và

kiểm tra thủ tục SQL đã lưu trữ mà bạn muốn tạo. InfoSphere Warehouse
DesignStudio có Data perspective (Phối cảnh dữ liệu) với dự án Data
Development (Phát triển dữ liệu) đưa ra sự hỗ trợ để tạo ra các thủ tục đã lưu trữ
của Java và SQL và các hàm do người dùng định nghĩa. Một trình thủ thuật tạo
một thủ tục đã lưu trữ khuôn mẫu để giúp bạn có thể triển khai và thử nghiệm trực
tiếp từ DesignStudio.
Trong ví dụ sau đây, hãy xem cách tạo ra luồng khai phá, việc tạo mô hình kết hợp
và trích xuất các quy tắc từ nó. Sau đó hãy xem cách tạo mã SQL từ luồng này.
Trong bước tiếp theo, sử dụng việc tạo công cụ để tạo ra một thủ tục đã lưu trữ của
mã SQL. Chúng ta sẽ thêm các tham số đầu vào cho các thủ tục đã lưu trữ để sau
đó có thể được thiết lập trong Cognos Report và sẽ tham số hóa mô hình khai phá
được tạo ra. Các quy tắc được trích xuất của các mô hình kết hợp được thủ tục đã
lưu trữ trả về và được nhập khẩu vào Cognos làm các chủ thể truy vấn. Cuối cùng,
hãy tìm hiểu một báo cáo Cognos đơn giản đang chỉ ra một danh sách doanh thu
cho các sản phẩm và cho phép truy vấn ngược (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ới các quy tắc kết hợp có liên quan với các sản
phẩm đó.


Việc sử dụng các kết quả Khai phá dữ liệu động trong Các báo cáo Cognos: Một
ví dụ từ khu vực bán lẻ
Trong ví dụ này, chúng ta sẽ thực hiện phân tích giỏ hàng dựa vào dữ liệu bán lẻ
của giao dịch. Dữ liệu biểu diễn các giỏ hàng (các giao dịch) từ một cửa hàng bán
lẻ. Bảng đầu tiên chứa các mã định danh (ID) của giao dịch đang xác định một giỏ
hàng duy nhất cùng với các ID của sản phẩm. Để thu được các kết quả có ý nghĩa,
hãy áp dụng một bảng ánh xạ-tên cho các ID của sản phẩm.
Bảng này có thể có trong các ví dụ đi kèm với InfoSphere Warehouse. Để nhập
khẩu nó vào cơ sở dữ liệu của bạn:
 Mở cửa sổ lệnh DB2.

 Vào thư mục cài đặt của bản cài đặt InfoSphere Warehouse của bạn.
 Chuyển hướng đến thư mục con SQLLIB\samples\dwe\ModelingDB2.
 Nối với cơ sở dữ liệu làm việc của bạn (trong ví dụ này, đó là cơ sở dữ liệu
mẫu DWESAMP: db2 CONNECT TO DWESAMP).
 Thực hiện lệnh db2 -tvf retailImport.db2 để nhập khẩu các bảng mẫu vào
lược đồ của bạn (trong ví dụ của chúng ta, lược đồ này được gọi là
IMINER).
 Ngoài ra hãy tạo một sơ đồ mới, ASSOC, được sử dụng trong ví dụ sau đây
bằng lệnh db2 CREATE SCHEMA ASSOC.
Mục tiêu phân tích là để trích xuất các quy tắc kết hợp theo biểu mẫu:
Toy car + flash light => Battery (support: 3%, confidence: 83%)


Quy tắc trên nói rõ rằng trong 83% các trường hợp ở nơi người ta mua các xe ô tô
đồ chơi và các đèn flash, thì cũng mua pin . Tất cả các sản phẩm đi cùng với nhau
có thể có trong 3% của tất cả các giỏ hàng (còn gọi là hỗ trợ).
Thay vì tính toán trước các quy tắc, một báo cáo Cognos kích hoạt tính toán.
Trong báo cáo, bạn có thể nhập các tham số để thay đổi các tham số khai phá.
Trong ví dụ này, một danh sách sản phẩm cho mỗi doanh thu cho phép bạn truy
vấn ngược (drill-through) đến các quy tắc kết hợp cho các sản phẩm cụ thể. Bạn có
thể định nghĩa sự hỗ trợ và chiều dài tối thiểu của các quy tắc. Sau đó các quy tắc
được tính toán theo yêu cầu và được trả về cho người dùng thông qua bản ghi
khác. Ví dụ, có thể sử dụng các quy tắc để thực hiện bố trí sản phẩm thông minh
trong cửa hàng để tăng doanh thu.
Tạo các quy tắc kết hợp trong InfoSphere Warehouse DesignStudio
Trước tiên, bạn phải tạo ra một mô hình quy tắc kết hợp được lưu trữ như PMML
từ đó bạn có thể trích xuất các quy tắc vào trong một bảng cơ sở dữ liệu để truy
cập Cognos sau đó. Để biết thêm thông tin về PMML, hãy tham khảo trang Web
chuẩn PMML.
Tạo một dự án Data Warehouse (Kho dữ liệu):

Trong Project Explorer (Trình thám hiểm Dự án), nhấn chuột phải và chọn New >
Data Warehouse project như Hình 5 minh họa.

Hình 5. Tạo một dự án Data Warehouse

Trong trình thủ thuật sau đây, gõ vào tên dự án, ví dụ, "AdvancedAnalytics." Sau
đó nhấn Finish.
Tạo ra một luồng khai phá rỗng:
 Mở rộng dự án vừa tạo ra.
 Nhấn chuột phải vào thư mục Mining Flow (Luồng khai phá). Chọn New -
> Mining Flow.
 Trong trình thủ thuật sắp tới, gõ AssocFlow làm tên luồng khai phá.
 Trong ví dụ này, bạn sẽ làm việc dựa vào cơ sở dữ liệu, do đó cứ giữ
nguyên giá trị mặc định và nhấn Next.
 Chọn cơ sở dữ liệu DWESAMP database (hoặc cơ sở dữ liệu mà bạn đã
chọn) và nhấn Finish.
Tạo luồng khai phá:
Trình soạn thảo Mining Flow mở ra. Ở phía bên phải của trình soạn thảo Khai phá,
bạn có thể thấy một bảng các toán tử. Với các toán tử này bạn có thể xây dựng một
Mining Flow bằng cách kéo và thả chúng vào khung trình soạn thảo.

Hình 6. Luồng khai phá bên trong Design Studio

Để tạo ra mô hình khai phá quy tắc kết hợp và trích xuất các quy tắc tới một bảng
cơ sở dữ liệu, hãy làm như sau:
 Trong bảng các toán tử bạn có thể tìm thấy phần Sources and Targets (Các
nguồn và các đích). Chọn một toán tử Table Source (Nguồn bảng) và kéo
nó vào trình soạn thảo.
 Trong hộp thoại chọn bảng, mở rộng lược đồ IMINER (hoặc lược đồ mặc
định của bạn) và chọn bảng RETAIL (Bán lẻ). Sau đó nhấn Finish.

 Tạo một toán tử Table Source khác với một bảng gọi là RETAIL_NAMES.
 Trong bảng các toán tử bạn có thể tìm thấy phần Mining Operators (Các
toán tử khai phá). Chọn một toán tử Associations và kéo nó vào trình soạn
thảo.
 Nối Output Port (cổng đầu ra) của bảng RETAIL tới Associations Input
Port (Đầu vào cổng kết hợp) và Output Port của bảng RETAIL_NAME với
Associations Names Port (Cổng các tên kết hợp).
 Chọn toán tử Associations.
 Trong thẻ các đặc tính dưới trình soạn thảo khai phá, chọn thẻ Mining
Settings (Các giá trị cài đặt khai phá) ở phía bên trái.
 Trong danh sách chọn cột Group, chọn TRANSID. Tất cả các sản phẩm
(ITEMID) có cùng một TRANSID đã được mua trong một giỏ thị trường
duy nhất.
 Bây giờ hãy chọn trang đặc tính Name Maps (Các ánh xạ tên) và thiết lập
"Item Id Column" (Cột mã ID mặt hàng) thành "ITEMID" và "Item Name
Column" (Cột tên mặt hàng) thành "DESCRIPTION" (Mô tả). Cả hai cột
đều đến từ bảng RETAIL_NAMES biểu diễn một bảng tra cứu tên.
 Tiếp tục với trang Column Properties (Các đặc tính cột). Thiết lập "Field
Usage Type" (Kiểu sử dụng trường) của tất cả các cột đầu vào thành
Inactive (Không hoạt động) trừ cột ITEMID được thiết lập là Active (Hoạt
động).
 Bên phải của "Field Usage Type", bạn có thể chỉ rõ Name Mapping (Ánh
xạ tên) cho các cột. Đối với cột ITEMID, chỉ định ánh xạ tên là Names.
Names là tên của cổng đầu vào được nối với bảng ánh xạ tên
RETAIL_NAMES.
 Từ bảng các toán tử trong Mining Operators, bạn có thể tìm thấy một toán
tử Associations Extractor (Trình trích xuất các kết hợp). Kéo nó vào trình
soạn thảo và nối các cổng đầu ra Model của toán tử Associations với toán
tử cổng đầu vào Model của trình trích xuất. Toán tử của trình trích xuất sẽ
trích xuất mô hình PMML của biểu mẫu các quy tắc kết hợp được toán tử

Associations tạo ra và cung cấp chúng trong một cấu trúc bảng quan hệ.
 Cuối cùng, bạn phải lưu trữ các quy tắc kết hợp đã trích xuất vào một bảng
vật lý. Để làm điều này, hãy nhấn chuột phải vào cổng đầu ra "quy tắc" của
trình trích xuất và chọn Create Suitable Table (Tạo bảng thích hợp).
 Đặt tên bảng là RETAIL_RULES và, với lược đồ, chọn đồ lược đồ mặc
định ở nơi bảng RETAIL thường trú. Nhấn Finish.
 Bây giờ cần cho thấy một toán tử bảng đích cho "RETAIL_RULES" trong
luồng khai phá. Để chỉ nhận các quy tắc hiện tại cho từng lần chạy, hãy
đánh dấu chọn vào 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ử bảng đích.
 Lưu luồng khai phá.
Bây giờ, luồng khai thác đã sẵn sàng để chạy.
Chạy luồng khai phá:
Luồng này tạo ra một mô hình có chứa các quy tắc kết hợp và lưu nó như là một
mô hình PMML trong cơ sở dữ liệu. Sau đó, các quy tắc được trích xuất tới một
bảng cơ sở dữ liệu để bạn có thể truy cập chúng sau từ bên trong Cognos. Trong
khung nhìn bên dưới trình soạn thảo, chọn thẻ Execution Status (Trạng thái thực
hiện) và trên phần bên phải của khung nhìn, bạn có thể thấy đầu ra bảng của toán
tử cuối cùng, đó là, toán tử Target Table. Bảng này cho thấy các quy tắc trích xuất,
mỗi quy tắc đều có một thông tin ID, phần đầu và phần thân và các số liệu thống
kê về mỗi quy tắc. Bạn có thể khám phá trực quan các quy tắc kết hợp bằng cách
nhấn chuột phải vào toán tử Associations và chọn Open Model.
Triển khai luồng khai phá quy tắc kết hợp như là một thủ tục đã lưu trữ của DB2
Sau đó, trong Cognos, bạn có thể muốn gọi động luồng khai phá được thiết kế
trước đây của bạn với đầu vào do người dùng định nghĩa. Như đã đề cập ở trên,
đầu vào này là sự hỗ trợ tối thiểu cho các quy tắc để trích xuất và chiều dài của
chúng. Để cho phép cuộc gọi động, bạn cần tạo một thủ tục đã lưu trữ có hai tham
số và gọi luồng khai phá với đầu vào của người dùng này.
Tạo một thủ tục đã lưu trữ mới trong một dự án Data Development (Phát
triển dữ liệu):

Để tạo ra dự án Data Development làm như sau:
 Nhấn chuột phải trong "Data Project Explorer" và chọn New -> Data
Development Project. Nếu không thể tìm thấy dự án Data Development,
hãy chọn Project . . . để thay thế và tìm kiếm trong toàn bộ danh sách dự
án.
 Chỉ rõ tên là Assoc Stored Procedure (Thủ tục đã lưu trữ kết hợp) và nhấn
Next.
 Chọn Use an existing connection (Sử dụng một kết nối hiện có) và chọn
các cơ sở dữ liệu trong đó bạn đã nhập khẩu các bảng bán lẻ. Nhấn vào
Finish.
 Nếu được hỏi liệu bạn có muốn chuyển đổi phối cảnh không, chọn No.
Để tạo Stored Procedure (Thủ tục đã lưu), làm như sau:
 Mở rộng dự án mới và nhấn chuột phải vào thư mục Stored Procedure.
Chọn New" -> Stored Procedure.
 Đặt tên thủ tục là "ASSOC_PROC" và chọn SQL làm ngôn ngữ thủ tục.
Nhấn Next.
 Trên màn hình trình thủ thuật tiếp theo, chấp nhận câu lệnh SQL được đề
xuất và nhấn Next.
 Trên màn hình Parameters (Các tham số), định nghĩa hai tham số đầu vào
hỗ trợ và chiều dài. Nhấn Add, đặt tên là support và chọn FLOAT làm
kiểu. Nhấn OK.
 Làm tương tự với tham số thứ hai "length" với kiểu "INTEGER".
 Nhấn Finish.
 Một trình soạn thảo có phần thân thủ tục đã lưu trữ mở ra.
Sửa lại thủ tục đã lưu trữ để thực hiện luồng khai phá được định nghĩa trước đây:
1. Có hai câu lệnh trong phần thân của thủ tục này định nghĩa một con trỏ cho
phép trả về các hàng của bảng. Sửa lại câu lệnh đầu tiên khai báo con trỏ
thành:
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT * FROM IMINER.RETAIL_RULES;


2.
Con trỏ trả về nội dung của bảng RETAIL_RULES chứa các quy tắc kết
hợp. Hãy nhớ rằng, IMINER là lược đồ mặc định trong ví dụ này và có thể
khác với thiết lập của bạn.
3. Bây giờ, chuyển đổi luồng khai phá trực quan trong các câu lệnh SQL mà
chúng ta có thể dán vào phần thân thủ tục đã lưu trữ. Chuyển đến trình soạn
thảo AssocFlow bằng cách chọn thẻ tương ứng trong vùng soạn thảo.
4. Trong trình đơn, chọn Mining Flow -> Generate SQL Code.
5. Một trình soạn thảo mở ra chứa SQL biểu diễn luồng này. Đánh dấu toàn
bộ nội dung của trình soạn thảo và sao chép nó.
6. Chuyển sang trình soạn thảo thủ tục đã lưu trữ ASSOC_PROC và chuyển
mã giữa việc khai báo con trỏ và câu lệnh "OPEN" con trỏ. Lưu phần soạn
thảo.
7. Chuyển đến đầu trình soạn thảo thủ tục đã lưu trữ và loại bỏ "CURRENT"
khỏi câu lệnh thiết lập lược đồ và thay thế tên lược đồ bằng lược đồ
"ASSOC"mà bạn tạo ra lúc đầu:


Liệt kê 1. Thay thế tên lược đồ bằng lược đồ ASSOC
P1: BEGIN
Declare cursor
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT * FROM IMINER.RETAIL_RULES;

SET SCHEMA="ASSOC";


Sử dụng lược đồ ASSOC để triển khai thủ tục.
8. Chuyển đến câu lệnh CALL IDMMX.BuildRuleModel và sửa lại nó để

thiết lập động sự hỗ trợ và chiều dài quy tắc tối thiểu qua các tham số hỗ trợ
và chiều dài, chỉ cần sửa lại tham số thứ tư và thứ sáu như Liệt kê 2 cho
thấy.


Liệt kê 2. Sửa lại tham số thứ tư và thứ sáu
CALL IDMMX.BuildRuleModel('AssocAnalysis.IM_ASSOC_03',
'INPUT_03',
'TRANSID',
support,
25.0,
length,

'DM_addNmp(''nameMap'',''NAMEMAP_03'',

''ITEMID'',''DESCRIPTION''),

DM_setFldNmp(''ITEMID'',''nameMap''),

DM_setFldUsageType(''ITEMID'',1),

DM_setFldUsageType(''STOREID'',2),

DM_setFldUsageType(''CUSTOMER_ID'',2),

DM_setFldUsageType(''ITEMPRICE'',2),

DM_setFldUsageType(''TRANSDATE'',2),

DM_setMaxNumRules(10000),

DM_setAlgorithm(''SIDE'',

''<NumBins>5</NumBins>'')');


9. Cuối cùng, đi tới câu lệnh
ALTER TABLE "IMINER"."RETAIL_RULES" ACTIVATE NOT LOGGED
INITIALLY WITH EMPTY TABLE;

10.
và thay thế nó bằng câu lệnh
DELETE FROM "IMINER"."RETAIL_RULES";

11.
12. Lưu phần soạn thảo.
Triển khai thủ tục đã lưu trữ tới cơ sở dữ liệu:
Để triển khai các thủ tục đã lưu trữ được tạo ra trước đó làm như sau:
1. Trong Data Project Explorer, mở rộng dự án Data Development "Assoc
Stored Procedure", mở rộng thư mục Stored Procedure và nhấn chuột phải
vào thủ tục ASSOC_PROC; chọn Deploy
2. Trong hộp thoại Deploy Routines (Các thường trình triển khai), thay đổi
lược đồ là "ASSOC" và nhấn Finish.
Bây giờ, thủ tục đã lưu trữ ASSOC_PROC được triển khai đến lược đồ ASSOC.
Bạn có thể kiểm tra việc triển khai bằng cách chuyển hướng đến thư mục Stored
Procedure trong lược đồ bằng cách sử dụng Database Explorer (xem hình 7). Thủ
tục đã lưu trữ cho phép bạn gọi động luồng khai phá được thiết kế trước đây với
các giá trị thiết lập đặc tính do người dùng định nghĩa.

Hình 7. Thủ tục đã lưu trữ ASSOC_PROC được triển khai trong Design
Studio


Trong phần tiếp theo, hãy xem cách sử dụng Cognos để truy cập thủ tục đã lưu trữ
và xây dựng một báo cáo bằng cách sử dụng khai phá quy tắc kết hợp theo cách
động.
Tạo siêu dữ liệu để tạo bản ghi sau này bằng cách sử dụng Cognos Framework
Manager
Trước khi bạn có thể tạo một báo cáo bằng cách sử dụng các kết quả khai phá, bạn
cần phải định nghĩa các tài nguyên nào (cơ sở dữ liệu, bảng biểu, các thủ tục đã
lưu trữ) nên được sử dụng. Framework Manager cho phép bạn định nghĩa siêu dữ
liệu này và cũng cho phép bạn làm giàu thêm các nguồn dữ liệu bằng cách định
nghĩa các mối quan hệ.

Trong các đoạn sau đây, hãy xem cách tạo ra một dự án Cognos Framework
Manager, định nghĩa hai bảng đầu vào và thủ tục đã lưu trữ được tạo ra trước đó.
Cuối cùng, hãy tìm hiểu cách xuất bản dự án và làm cho nó có sẵn cho báo cáo.
Mở Framework Manager và tạo một dự án mới:
 Khởi chạy Cognos Framework Manager.
 Sau khi khởi động xong, nhấn vào Create a new project (Tạp một dự án
mới).
 Trong hộp thoại sắp tới, chỉ rõ tên là AssociationExample (Ví dụ kết hợp)
và nhấn OK.
 Chọn English (Tiếng Anh) làm ngôn ngữ sử dụng và nhấn OK.
 Khi bạn muốn tạo ra siêu dữ liệu từ một cơ sở dữ liệu DB2, chọn Data
Sources và nhấn Next.
 Trong bước tiếp theo, chọn cơ sở dữ liệu mà bạn đã sử dụng trong suốt ví
dụ này và nhấn Next. Nếu bạn vẫn chưa có một kết nối đến cơ sở dữ liệu,
bạn cần phải tạo một kết nối. Để biết thông tin về cách tạo kết nối này, hãy
tham khảo tài liệu Cognos.
 Bây giờ bạn được yêu cầu chọn đối tượng dữ liệu mà bạn muốn nhập khẩu
làm siêu dữ liệu. Mở rộng lược đồ mặc định của bạn tại nơi đặt bảng

RETAIL và RETAIL_NAMES, mở rộng thư mục Tables và chọn các bảng
nêu trên.
 Sau đó, mở rộng lược đồ ASSOC và thư mục Procedures và chọn thủ tục
ASSOC_PROC mà bạn đã triển khai trước đó. Nhấn Next.
 Các giá trị thiết lập trên trang này là tốt, vì thế nhấn Import rồi nhấn
Finish.

×