An
An
Thảo luận 3 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 95 lượt xem

Mình có một số câu cho bài 12 Mình dùng 3 files (Sales 2017 Return Product)

Mình có một số câu hỏi cho bài 12

- Mình dùng 3 files (Sales 2017, Return, Product), và merge Sales và Return vào Products (ảnh) - và thử tạo report theo một số cách khác nhau. Nếu mình tạo rpt k dùng trường ProductKey from Product files, thì hai file Return và Sales không có quan hệ gì? Vậy bất cứ report nào nếu muốn có cả Return và Sales đều fai dùng ProductKey từ Product file?

- Mình có một số files như sau và muốn tạo liên kết

  + Sales: có sales ID, ProductKey, CustomerID, và OrderQuanity

  + Supply: có ProductKey, MaterialCode và ProductionQuantity

  +Price: có ProductKey và Price

  +Cost: có MaterialCode và Cost

  +Rebate: có CustomerID và RebateAmount

==> Làm sao để link các files này để có 1 bảng với đầy đủ các thông tin SalesID, ProductKey, CustomerID, OrderQuantity, MaterialCode, Price, Cost và RebateAmount?


Ảnh 2 - Run rpt Quant from Sales, ReturnQuantity from Return và ProductKey from Product - report ok


Ảnh 3 - Run rpt OrderQuantity và ProductKey from Sales; ReturnQuantity from Return - Rpt không ra kết quả đúng cho Return





Thảo luận 3 câu trả lời
Lượt xem 95 lượt xem
Vỗ tay vỗ tay
An 22:05 - May 10, 2021

Chào bạn, giảng viên xin phản hồi các câu hỏi của bạn như sau: 

- Câu hỏi 1: Bắt buộc 2 bảng muốn Merge với nhau phải có trường dữ liệu chung, như vậy thì mới tham chiếu được, như trong Excel chúng ta dùng tính năng Vlookup, thì ở đây chúng ta dùng relationship. Hàng trả lại (Return) chúng ta phải đối chiếu đc với Doanh thu, như vậy chúng ta cần có các cột tham chiếu như Mã giao dịch, Mã sản phẩm ... thì chúng ta mới biết Return đó của Sale nào tương ứng, ở đây trong bài giảng mình dùng Mã sản phẩm. Ở đây, Return phát sinh nhiều giao dịch - có thể có nhiều Return cho cùng 1 mã sản phẩm, Doanh thu cũng tương tự như vậy, do vậy ta cần 1 bảng Product mà phần Mã Sản phẩm là Unique - còn nếu ko, ta Merge trực tiếp Return và Sale, nó sẽ ko tham chiếu được là giao dịch Return đó, thì tương ứng sale là gì (nhưng nếu là Mã giao dịch, và mã giao dịch trong bảng Return là Unique, thì lại được nhé)

- Câu hỏi 2: Merge thường chỉ link được 2 bảng. Case của bạn thì phải Merge bảng Sale và Supply bằng ProductKey tạo ra 1 query có kết quả là bảng mới 1, bảng mới 1 đó lại Merge với Price vẫn qua ProductKey ra bảng mới 2, bảng mới 2 lại merge với Cost qua Material Cost ra bảng mới 3, bảng mới 3 Merge với Rebate qua Customer ID.

Tuy nhiên, trong phân tích dữ liệu nói chung, chúng ta rất không nên tạo ra 1 bảng có tất cả mọi thứ, như vậy sẽ ko tối ưu về Data Model (bài 22 mình có lưu ý) đặc biệt khi dữ liệu lớn, chúng ta nên sử dụng Relationship giữa các trường - tốc độ xử lý sẽ nhanh hơn rất nhiều. Chúng ta có Relationship và sau này DAX thì có hàm Related để khai thác rồi. 

Vỗ tay vỗ tay
An 22:05 - May 10, 2021

Bạn chia ra: 

- Bạn có Data Table là Sale, connect với các Lookup Table là Supply, Price, Rebate. Riêng bảng Cost sẽ bắc cầu qua Supply (bài về SnowFlake nha)

Vỗ tay vỗ tay
An 13:05 - May 11, 2021

Cảm ơn thầy! Mình có một câu hỏi nữa là tính năng Merge có ưu việt gì hơn so với relationship không? Vì dùng relationship, mọi tính toán vẫn có thể thực hiện đầy đủ. Và nếu mình muốn có giá trị cột tham chiếu (ví dụ bảng Sales có ProductKey, Quantity và Product có ProductKey, Price - mình muốn có cột Price trong bảng Sale) thì nên merge hay tạo relationship rồi dùng làm Related?

Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội