Nhờ thầy giải đáp.
1. Em chưa thực sự hiểu khi tạo relationship giữa 2 data table thì kết quả trả về sai như thế nào.
2. Như trong ảnh tạo snowflake dưới, thì bảng 2 là data table còn bảng 3 là lookup table phải không ạ? Theo như thầy có giảng thì việc đánh giá 1 bảng là data hay lookup table là tương đối, nếu vậy thì bảng 2 là data table có đúng không vì bảng này toàn text chứ không phải dạng number.
Em cảm ơn
Hi bạn,
- Data Table thường là bảng chứa dữ liệu số, số ở đây là số sử dụng ở trường value trong các biều đồ. Ví dụ điển hình là bảng Sale, bảng Return, chúng ta có dữ liệu về Số lượng bán, Doanh số bán, Số lượng hàng bị trả lại ... Khi làm báo cáo, số liệu thường lấy từ bảng này.
- Lookup Table thường là bảng thông tin, do đó nó thường chứa dữ liệu dạng text chứ ko phải cứ chứa dữ liệu text là bảng Lookup, để định nghĩa là bảng Lookup thì yếu tố quan trọng là nó chứa thông tin bổ sung. Ví dụ bảng Product, về số liệu chúng ta có bảng Sale - nơi có chi tiết giao dịch theo mã sản phẩm, mã KH ... sau đó chúng ta cần biết thông tin chi tiết về sản phẩm như màu sắc, công dụng, nơi sản xuất ... thì ta liên kết tới bảng Lookup qua Mã sản phẩm.
- Kết nối giữa bảng Data và bảng Lookup thường là Many-To-One, nghĩa là bảng Data có trường lặp key có giá trị lặp lại, còn bảng Lookup có trường làm key có giá trị duy nhất. Ví dụ bảng Sale là có mã sản phẩm lặp lại vì có nhiều giao dịch, 1 sản phẩm được bán nhiều lần - còn ở bảng Product thì mỗi mã sản phẩm chỉ là 1 dòng duy nhất. Do đó khi Power BI tham chiếu mới tìm được. Nguyên tắc của nó là tham chiếu từ bảng Data về bảng Lookup, ví dụ mã sản phẩm 00001 xuất hiện nhiều lần trên bảng Sale, cần tham chiếu để bổ xem nó màu gì, thì cần tham chiếu về đúng mã 00001 trên bảng Product, nếu bảng Product là bảng Lookup mã 00001 chỉ xuất hiện 1 lần thì đúng logic. Còn nếu 2 bảng cùng là Data table, ví dụ bảng Sale và bảng Return, thì kết nối là Many-to-Many, ở bảng Sale mã 00001 xuất hiện nhiều lần, ở bảng Return mã 00001 cũng xuất hiện nhiều lần, nên nó không tham chiếu được. Nếu bạn dùng Excel thì nguyên tắc tham chiếu giống hàm Vlookup.
- Trong hình thì bảng 1 là bảng data, còn bảng 2 3 4 đều là lookup.
Vậy là có thể tạo relationship giữa 2 lookup table phải không ạ?
Được bạn à, relationship giữa 2 bảng lookup thì được vì nó là mối quan hệ One-to-One (trường làm key ở cả 2 bảng đều là trường chứa các giá trị riêng biệt), nên khi tìm kiếm sẽ ra được kết quả
Chào Thầy,
Về 2 bảng data table tạo relationship với nhau, ví dụ mã 00001 xuất hiện nhiều lần ở sales và nhiều lần ở return, thì nếu tạo relationship và lấy theo giá trị Sum của value thì có trả ra kết quả đúng tổng số sales và tổng số return không ạ?