QlikView - Tham chiếu vòng tròn
Circular Referencexảy ra khi chúng ta có thể di chuyển từ bảng này sang bảng khác bằng hai hoặc nhiều đường dẫn khác nhau. Điều này có nghĩa là bạn có thể tham gia Table1 với Table2 trực tiếp bằng cách sử dụng một cột hoặc trước tiên bạn cũng có thể tham gia Table1 với Table3 và sau đó là table3 với Table2. Điều này có thể dẫn đến kết quả không chính xác trong kết quả được hình thành bởi mô hình dữ liệu, mô hình này tải cả ba bảng này. QlikView ngăn chặn việc tải dữ liệu đó vào bộ nhớ của nó khi nó nhận ra một tham chiếu vòng.
Dữ liệu đầu vào
Chúng ta hãy xem xét ba tệp dữ liệu CSV sau đây, được sử dụng làm đầu vào cho các minh họa thêm.
SalesCountries:
ProductID,ProductCategory,Country,SaleAmount
1,Outdoor Recreation,Italy,4579
2,Clothing,USA,4125
3,Costumes & Accessories,South Korea,6521
4,Athletics,Japan,4125
5,Personal Care,Brazil,5124
6,Arts & Entertainment,China,1245
7,Hardware,South America,456
8,Home & Garden,Peru,241
9,Food,India,1247
10,Home & Garden,Singapore,5462
11,Office Supplies,Hungary,577
ProductCountry:
ProductID, Country
3,Brazil
3,China
2,Korea
1,USA
2,Singapore
7,Sri Lanka
1,Italy
Tải tập lệnh
Chúng tôi tải dữ liệu đầu vào ở trên bằng trình chỉnh sửa tập lệnh, được gọi bằng cách nhấn Control+E. Chọn tùy chọnTable Files và duyệt tìm tệp Đầu vào.
Tải dữ liệu
Sau khi tạo tập lệnh trên, chúng ta tải dữ liệu vào bộ nhớ của QlikView bằng lệnh Control+R. Đây là khi chúng tôi nhận được lời nhắc lỗi đề cập đến sự hiện diện của vòng lặp tròn trong các bảng đang được tải.
Mô hình dữ liệu
Để tìm nguyên nhân chính xác của cảnh báo trên, chúng ta có thể xem xét mô hình dữ liệu bằng cách sử dụng lệnh menu cho trình xem bảng - Control+T. Màn hình sau xuất hiện, hiển thị rõ ràng tham chiếu hình tròn. Tại đây, có thể trực tiếp đạt được sự kết hợp giữa RegionCountry và SalesRegion bằng cách sử dụng trườngRegion. Nó cũng có thể đạt được bằng cách đầu tiên vào bảng ProductCountry, sử dụng trườngCountry và sau đó ánh xạ ProdcutID với Salesregion.
Giải quyết Tham chiếu Thông tư
Tham chiếu vòng tròn ở trên có thể được giải quyết bằng cách đổi tên một số cột trong tập dữ liệu để QlikView không tự động tạo liên kết giữa các bảng bằng cách sử dụng tên cột. Đối với điều này, chúng tôi sẽ đổi tên cột quốc gia trong RegionCountry thành SalesCountry. Trong tập dữ liệu ProdcuCountry, chúng tôi đổi tên cột Quốc gia thành ProductCountry.
Mô hình dữ liệu được chỉnh sửa
Mô hình dữ liệu được chỉnh sửa sau khi đổi tên cột ở trên có thể được nhìn thấy bằng cách sử dụng lệnh Control+T. Bây giờ chúng ta có thể thấy rằng mối quan hệ giữa các bảng không tạo thành một vòng lặp.
Ép Control+R việc tải lại dữ liệu sẽ không cung cấp cho chúng tôi cảnh báo nữa và chúng tôi có thể sử dụng dữ liệu này để tạo báo cáo.