📓Nhu Liệu

Nhu liệu được dùng để tập hợp dữ liệu thô từ nhiều nguồn khác nhau cho việc tạo các báo cáo tài chính và quản trị.

Tạo Nhu Liệu

Ví dụ, bạn có thể tạo một bộ nhu liệu bao gồm tất cả các chương trình gây quỹ lấy từ trong bảng dữ liệu campaign.

Để làm điều này, bạn cần lấy tất cả các dữ liệu tử bảng campaign. Hãy đi vào Lập Báo Cáo > Nhu Liệu và nhấn vào biểu tượng dấu + để tạo một bộ nhu liệu mới.

Đặt tên cho bộ nhu liệu này là ONEIRO_DT_CP, và chọn nguồn dữ liệu là npayme, sau đó nhấn vào nút Thêm Bảng rồi chọn bảng dữ liệu campaign.

Luôn luôn đặt tên bộ nhu liệu của bạn với một tiếp đầu ngữ riêng để tránh đụng độ khi bạn muốn kế thừa từ các gói know-how của người khác. Ví dụ trong nhu liệu ONEIRO_DT_CP, ONEIRO là tên công ty và DT_CP là viết tắt của Data Table of Campaign .

Để ý bên tay phải là tất cả các cột của bảng dữ liệu campaign.

Nhớ lại:

  • campaign_address: địa chỉ của hợp đồng thông minh trên blockchain củ chương trình gây quỹ.

  • campaign_name: tên của chương trình gây quỹ.

  • creator_name: tên người tạo ra chương trình gây quỹ.

  • campaign_url: đường dẫn liên kết đến hình ảnh đại diện cho chương trình gây quỹ.

  • creator_fee: tỷ lệ phí trả cho người tạo chương trình gây quỹ.

  • affiliate_fee: tỷ lệ phí trả cho cộng tác viên.

  • expiration: ngày kết thúc chương trình gây quỹ.

  • created_on: Ngày tạo chương trình gây quỹ.

  • goal: mục tiêu kỳ vọng của chương trình gây quỹ.

Lưu lại và nhấn biểu tượng Run để chạy nhu liệu này. Bạn sẽ thấy kết quả là tất cả các chương trình gây quỹ đã được tạo ra.

Bạn có thể dễ dàng tải bất kỳ nhu liệu nào vê máy tính của bạn bằng cách nhấn vào biểu tượng Excel.

Tượng tự vậy, hãy tạo một bộ nhu liệu bao gồm tất cả các hợp đồng thông minh củ các chương trình gây quỹ.

Hãy đi vào Lập Báo Cáo > Nhu Liệu và nhấn vào biểu tượng dấu + để tạo một bộ nhu liệu mới. Đặt tên cho bộ nhu liệu này là ONEIRO_DT_CT, chọn nguồn dữ liệu là npayme, sau đó nhấn vào nút Add Table và chọn bảng dữ liệu contract.

Ứng Dụng Nhu Liệu

Nhu liệu được sử dụng trong các báo cáo tổng hợp, nơi chúng được sàng lọc và trích xuất để lấy ra chính xác các thông tin cần thiết cho công việc.

Ví dụ các thông tin về các chiến dịch gây quỹ như sau:

Bạn có thể lấy các thông tin này từ bộ nhu liệu ONEIRO_DT_CP theo các bước sau:

Bước 1: Chọn menu Lập Báo Cáo > Tổng Hợp và nhấn vào biểu tượng dấu + để tạo một báo cáo mới tên là ONEIRO_ALL_CP. Chọn nguồn nhu liệu là ONEIRO_DT_CP chúng ta vừa tạo ở trên, và nhấn biểu tượng Lưu để lưu lại.

Bước 2: Nhấn vào biểu tượng Sửa và kéo các cột dữ liệu cho báo cáo từ bên trái vào lưới kết xuất bên tay phải, phía bên dưới như sau:

Bước 3: Nhấn vào biểu tượng Chạy để chạy báo cáo. Bạn sẽ có kết quả chỉ bao gồm các thông tin bạn đã chọn, giống như sau:

Bí Danh

Bạn cũng có thể đặt bí danh (tên riêng) cho các cột của bộ nhu liệu và dùng bí danh này khi tạo báo cáo để tránh nhầm lẫn.

Quan Trọng: bí danh phải là các ký tự không dấu, viết liền không có khoảng trắng. Khuyến nghị: dùng ký tự gạch nối để đặt bí danh như là: dia_chi hay ten_chuong_trinh.

Ví dụ bạn có thể đặt bí danh cho cột tên và địa chỉ trong bảng dữ liệu beneficiarybeneficiary_namebeneficiary_address.

Bộ Lọc Giản Đơn

Ví dụ bạn muốn tập hợp các dữ liệu tương tác của người dùng trên mạng xã hội facebook để phân tích. Bạn có thể tạo bộ nhu liệu ONEIRO_ANLYS_FB từ bảng analysis_click bằng cách lọc lấy chỉ các bản ghi có giá trị của cột platform (nền tảng) là facebook.

Tương tự vậy, bạn có thể tạo bộ nhu liệu ONEIRO_ANLYS_TW bao gồm tất cả các tương tác của người dùng trên mạng xã hội Twitter từ bảng analysis_click bằng cách lọc lấy chỉ các bản ghi có giá trị của cột platformtwitter.

Kết Nối Các Nhu Liệu

Quá trình liên kết các bộ nhu liệu được gọi là nối (joining).

KNOWINS cung cấp nhiều loại nối như nối trong (inner join), nối trái (left join), nối phải (right join):

Nối Trong

Nối trong loại bỏ các hàng không khớp với bất cứ một hàng nào của bộ nhu liệu kia.

Giả sử, bạn có hai bộ nhu liệu: A và B. Bộ nhu liệu A có bốn hàng: (1,2,3,4) và bộ nhu liệu B có bốn hàng: (3,4,5,6).

Khi bộ nhu liệu A nối với bộ nhu liệu B bằng cách sử dụng nối trong, bạn có kết quả (3,4) là phần giao của bộ nhu liệu A và bộ nhu liệu B.

Đối với mỗi hàng trong bộ nhu liệu A, nối trong sẽ tìm các hàng khớp trong bộ nhu liệu B. Nếu một hàng được khớp, nó sẽ được chèn vào trong kết quả cuối cùng.

Chúng ta sẽ sử dụng các bộ nhu liệu các chương trình gây quỹ - ONEIRO_DT_CP, và bộ nhu liệu các hợp đồng - ONEIRO_DT_CT, đã tạo bên trên để minh họa cách nối trong hoạt động.

Để ý là cột campaign_address trong bộ nhu liệu ONEIRO_DT_CP và cột address trong bộ nhu liệu ONEIRO_DT_CT, là hai cột chứa cùng một giá trị là địa chỉ ví của chương trình gây quỹ trên blockchain. Do vậy chúng có thể dùng để kết nối hai bộ nhu liệu này với nhau.

Đi đến menu Lập Báo cáo > Nhu Liệu, chọn ONEIRO_DT_CP và nhấp vào biểu tượng Sửa để chỉnh sửa.

Bước 1: Nhấp vào biểu tượng dấu + trong cột Nối kế bên bảng campaign.

Bước 2: Bạn sẽ thấy bộ nhu liệu ONEIRO_DT_CT, mà chúng ta đã tạo ở trên, được hiển thị trên lưới bên phải cùng với các bộ nhu liệu khác. Nhấp chuột để chọn nó.

Bước 3: Chọn cột contract_address bên bộ nhu liệu ONEIRO_DT_CP và cột address bên bộ nhu liệu ONEIRO_DT_CT để làm cột kết nối hai bộ nhu liệu. Nhấn OK, bạn sẽ thấy màn hình như bên dưới đây. Hãy tưởng tượng bộ nhu liệu ONEIRO_DT_CP mới như một bảng dữ liệu gồm các dòng dữ liệu có tất cả các thông tin của từng chương trình gây quỹ và có thêm thông tin chi tiết về hợp đồng bên dưới của nó.

Lưu ý: Luôn luôn kiểm tra sô lượng các hàng dữ liệu trong kết quả vì chúng có thể khác với mong muốn của bạn khi nối nhu liệu.

Ví dụ, giả sử một công ty có 5 phòng ban và 100 nhân viên. Bạn đã tạo hai bộ nhu liệu: một cho phòng ban và một cho nhân viên. Bây giờ bạn muốn nối hai bộ nhu liệu này lại sử dụng cột mã phòng ban để lấy ra danh sách liệt kê tất cả các phòng ban và các nhân viên của nó. Bạn kỳ vọng sẽ có đầy đủ tất cả 5 phòng ban trong bộ nhu liệu kết quả.

Tuy nhiên, nếu trong bộ nhu liệu nhân viên, không có nhân viên nào được xếp vào phòng ban thứ 5, thì bảng kết quả sẽ chỉ liệt kê 4 phòng ban và nhân viên của các phòng ban đó. Không có phòng ban thứ 5 trong bộ nhu liệu kết quả.

Tương tự vậy, nếu vì lý do nào đó, bạn quên gán thông tin phòng ban cho một nhân viên nào đó, thì nhân viên đó cũng không xuất hiện trong bộ nhu liệu kết quả.

Bước 4: Bây giờ, hãy quay về menu Lập Báo Cáo > Tổng Hợp, chọn lại báo cáo ONEIRO_ALL_CP, và nhấn vào biểu tượng Xem, trong phần các cột dữ liệu bên trái, bạn sẽ thấy có thêm bộ nhu liệu ONEIRO_ALL_CT.

Nhấn vào dấu cộng phía trước ONEIRO_ALL_CT để thấy các cột dữ liệu của nó. Kéo cột contract_name vào lưới kết xuất và chạy báo cáo, bạn sẽ có kết quả như bên dưới:

Nối Trái

Trong khi nối trong trả về các hàng nếu có ít nhất một hàng trong cả hai bảng khớp với điều kiện nối, thì nối trái trả về tất cả các hàng từ bộ nhu liệu bên trái cho dù có hàng khớp với chúng trong bộ nhu liệu bên phải hay không.

Giả sử bạn có hai bộ nhu liệu A và B. Bộ nhu liệu A có bốn hàng 1, 2, 3 và 4. Bộ nhu liệu B cũng có bốn hàng 3, 4, 5, 6.

Khi bạn nối trái bộ nhu liệu A với bộ nhu liệu B, tất cả các hàng trong bộ nhu liệu A (bộ nhu liệu bên trái) được bao gồm trong bộ kết quả dù có hàng khớp trong bộ nhu liệu B hay không.

Bạn có thể mường tượng cách thức nối nhu liệu hoạt động tương tự như hàm VLOOKUP của Excel. Đầu tiên bạn cần tìm trong mỗi bộ nhu liệu một cột có cùng giá trị ở cả hai bộ nhu liệu. Sau đó bạn sử dụng các cột đó để nối hai bộ nhu liệu. Khi chạy, KNOWINS sẽ lấy tất cả các dòng của bộ nhu liệu bên trái. Sau đó, trên từng dòng "VLOOKUP" dòng dữ liệu tương ứng trong bộ nhu liệu bên phải và nối thêm các cột chứa tất cả thông tin của dòng đó.

Quan trọng: Khác với VLOOKUP, nếu nối trái tìm thấy hai hay nhiều hơn các dòng dữ liệu tương ứng khớp với giá trị LOOKUP, nó sẽ nhân bản số dòng dữ liệu trong bộ nhu liệu bên trái lên tương ứng khi chèn trong bộ nhu liệu kết quả.

Trong ví dụ bên dưới chúng ta sẽ dùng cột contract_address (địa chỉ ví của chương trình gây quỹ) làm cột kết nối hai bộ nhu liệu. Chúng ta sẽ tạo ra một báo cáo, cho một cộng tác viên cho chương trình gây quỹ và tất cả các giao dịch quyên góp tiền liên quan.

Bước 1: Hãy tạo bộ nhu liệu có tên là ONEIRO_AF_TX sử dụng bảng dữ liệu affiliate như sau:

Khi chạy bộ nhu liệu này, bạn sẽ thấy ứng với mỗi chương trình được một cộng tác viên quảng bá sẽ có một dòng tương ứng trong dữ liệu kết quả.

Bộ nhu liệu ONEIRO_AF_TX chỉ chứa các thông tin về cộng tác viên như tên (name), địa chỉ ví cộng tác viên (address) và các địa chỉ ví của chương trình gây quỹ (contract_address) mà họ giúp quảng bá. Nó thiếu các thông tin chi tiết về các chương trình đó. Các thông tin này có ở trong bộ nhu liệu ONEIRO_DT_CP.

Bạn có thể làm phong phú hơn bộ nhu liệu ONEIRO_AF_TX bằng cách nối thêm các cột của bộ nhu liệu ONEIRO_DT_CP. Tuy nhiên, lưu ý là ngay cả khi địa chỉ ví của chương trình gây quỹcontract_address trong nhu liệu ONEIRO_AF_TX không được tìm thấy trong nhu liệu ONEIRO_DT_CP, bạn vẫn muốn giữ nó trong kết quả. Đó là lúc bạn cần dùng nối trái (LEFT JOIN).

Bước 2: Nhấp vào biểu tượng dấu + trong cột Nối kế bên bảng affiliate. Bạn sẽ thấy bộ nhu liệu ONEIRO_DT_CP, mà chúng ta đã tạo trong phần trước, được hiển thị trên lưới bên phải cùng với các bộ nhu liệu khác. Nhấp chuột để chọn nó. sau đó, ở phía bên dưới chọn cột contract_address bên bộ nhu liệu ONEIRO_AF_TX và cột address bên bộ nhu liệu ONEIRO_DT_CP để làm cột kết nối hai bộ nhu liệu.

Lưu ý: Mỗi dòng trong bộ nhu liệu ONEIRO_AF_TX là một cộng tác viên và chương trình họ tham gia quảng bá. Một cộng tác viên có thể quảng bá cho nhiều chương trình gây quỹ khác nhau, và ngược lại, một chương trình gây quỹ có thể được quảng bá bởi nhiều cộng tác viên.

Ta nói, mối quan hệ giữa cộng tác viên và chương trình gây quỹ là quan hệ nhiều-nhiều.

Quan hệ nhiều-nhiều có thể làm tăng số lượng các hàng dữ liệu trong kết quả khác với mong muốn của bạn. Ví dụ, nếu một người tham gia quảng bá cho 2 chương trình gây quỹ, thì sẽ có hai dòng thông tin về người đó trong bộ nhu liệu kết quả.

Nếu bạn không muốn số lượng hàng dữ liệu trong kết quả cuối cùng bị tăng lên, hãy đảm bảo rằng giá trị của các cột dùng để nối hai bộ nhu liệu là duy nhất trong bộ nhu liệu bên phải.

Hãy tưởng tượng bộ nhu liệu ONEIRO_AF_TX sửa đổi như một bảng dữ liệu mới gồm nhiều dòng liệt kê tất cả các cộng tác viên và các chương trình họ quảng bá. Mỗi quảng bá là một dòng. Mỗi dòng này có các cột mới với các thông tin như tên, miêu tả chương trình gây quỹ, tỷ lệ phần trăm cộng tác viên được hưởng trên mỗi đóng góp .v.v. mà được "VLOOKUP" từ bộ nhu liệu ONEIRO_DT_CP.

Lưu ý: Vì giá trị của cột contract_address là duy nhất trong bộ nhu liệu ONEIRO_DT_CP nên số lượng dòng dữ liệu trong bộ nhu liệu ONEIRO_AF_TX sau khi nối sẽ không thay đổi.

Bước 3: Tiếp theo, chúng ta cần tập hợp các giao dịch quyên góp. Nhớ lại là tất cả các khoản đóng góp được lưu giữ bên trong bảng dữ liệu transaction. Hãy tạo một bộ nhu liệu có tên là ONEIRO_DT_TX dựa trên bên bảng transaction, như sau:

Bước 4: Quay trở lại với bộ nhu liệu ONEIRO_AF_TX, nhấp vào biểu tượng dấu + trong cột Nối kế bên bảng affiliate.

Bước 5: Lần này chúng ta sẽ nối với bộ nhu liệu ONEIRO_DT_TX mà chúng ta vừa tạo. Chọn cột contract_address address trong bộ nhu liệu ONEIRO_AF_TX để làm cột kết nối với contract_addressaffiliate_address của bộ nhu liệu ONEIRO_DT_TX.

Thông thường sẽ có nhiều giao dịch đóng góp cho một chương trình gây quỹ, nên tổ hợp giá trị của cột contract_addressaffiliate_address không phải là duy nhất trong bộ nhu liệu ONEIRO_DT_TX. Do đó số lượng dòng dữ liệu trong bộ nhu liệu ONEIRO_AF_TX sửa đổi cũng sẽ tăng lên tương ứng. Ví dụ, nếu có 10 đóng góp cho chương trình C thông qua link quảng cáo của cộng tác viên A, thì trong bố dữ liệu kết quả sẽ có 10 dòng dữ liệu cho chương trình C với cộng tác viên A. Mỗi dòng này giờ sẽ được mở rộng thêm có các cột mới với các thông tin về các giao dịch góp tiền như số tiền, địa chỉ ví người cho tiền, sử dụng quảng bá trên mạng xã hội nào...

Bước 6: Để kiểm tra kết quả, hãy quay trở lại menu Lập Báo Cáo > Tổng Hợp, và tạo một báo cáo mới có tên là ONEIRO_AF_CP. Chọn nguồn dữ liệu cho báo cáo là bộ nhu liệu ONEIRO_AF_TX, như sau:

Trong các cột dữ liệu bên tay trái, bạn sẽ thấy xuất hiện thêm hai bộ nhu liệu là ONEIRO_DT_TXONEIRO_DT_CP. Nhắp vào biểu tượng dấu + bên cạnh chúng để xem chi tiết và các kéo tất cả các cột bạn muốn cho báo cáo vào lưới kết xuất bên tay phải.

Lưu lại và nhấn vào biểu tượng Chạy để chạy báo cáo. Dữ liệu của bạn sẽ có tất cả các thông tin giao dịch quyên góp theo từng chương trình cho tất cả các cộng tác viên.

Bạn có thể ứng dụng bộ lọc giản đơn theo hướng dẫn bên trên để lấy ra các giao dịch liên quan đến một cộng tác viên cụ thể. Tuy nhiên, chúng ta có cách khác để làm điều đó trong phần tiếp theo.

Nối Phải

Trong khi nối trái trả về tất cả các hàng từ bộ nhu liệu bên trái cho dù có hàng khớp với chúng trong bộ nhu liệu bên phải hay không, nối phải, ngược lại, trả về tất cả các hàng từ bộ nhu liệu bên phải cho dù có hàng khớp với chúng trong bộ nhu liệu bên trái hay không.

Last updated