Thì những cá nhân chúng ta cần có cái nhìn toàn diện và có cách tận dụng triệt để hơn về các công cụ hỗ trợ thông minh giúp quản lý hiệu quả các nguồn đữ liệu lớn, trong đó có các hệ hỗ
Trang 1Chu dé: OLAP - TABULAR SSAS
GVHD: ThS Nguyén Hoang An LOP: ITS718_232_1_D01 NHOM: 4
TP Hồ Chí Minh, tháng 4 năm 2024
Trang 2
DANH SÁCH THÀNH VIÊN NHÓM 4
Trang 3
MỤC LỤC
CHƯƠNG I TÔNG QUAN VỀ MÔ HÌNH DỮ LIỆU DẠNG BẢNG - TABULAR 2
1.1 Khái niệm và kiến trúc dữ liệu của Tabular SSAS . - 5-5552 S252 csxsscsa 2
by 0 a ỪD"<A^-:.Ã 4 , 2 1.2.1.DAX
1.2.2 MDX
E91 0.2 G6444 3
1.12 Sự khác biệt giữa mô hình Tabular và mô hình Đa chiều . - 5-5-5: 7
CHUONG II QUY TRÌNH THỰC HÀNH TẠO OLAP - TABULAR SSAS 10
2.1.2 Kích hoạt chế độ DirectQuery trong Visual Studio .- 5s 10 2.1.3 Kích hoat ché d6 DirectQuery trong SSMS .0.ccccccscccesescstecessteeseseseeneneees 11 2.1.4 Kiểm tra thuộc tính kết nối - - 52 tt SEt SE 2x2ESEExeEEEexrxsrrxerrrrsrree 12
2.2 Cách tạo và triển khai mô hình Tabular cho SSMS 55-55 cccscccsessss2 12
Trang 42.2.3 Đánh dấu bảng ngày tháng . - 2 S2 Sn t3 S221 11 1 2E 2.11 eEerrkrree 16
2.2.5 Tạo cột tính toán và thống kê số liệu . - 5: 52 S222 2t 2xx srxecerrrrsrsrea 17
2.2.7 Triển khai trên hệ thống SSMS 22 S2 Sn v2 2E S2 reo 19
2.3 Thực hành triển khai mô hình sau khi hoàn thành khởi tạo . - 19 2.3.1 Triển khai báo cáo PivotTable trong Exeel - 5-5 scncst Sex crexererrsrea 19 2.3.2 Triển khai mô hình Tabular với hệ thống phân cấp . 5: 22
IV 150i) 49709861470 0g '75^ 25
Trang 5DANH MUC TU VIET TAT
Trang 6
DANH MỤC BẢNG BIẾU Bang 1 So sánh mô hình Tabular với mô hình Đa chiềU 25-5555 5+5 +<s52 9
DANH MỤC HÌNH ẢNH
Hình 2 Ché độ truy vấn In-Mermory . +52 +s+s++s+z+z+eexeeeeeseersrereersrrrree 3 Hình 3 Ché độ truy vấn Direc†QUery - 5-7 S252 <+z+rseeve+xrrrrrrrrrrersrsrrree 4 Hình 4 Giao diện kích hoạt chế độ DirectQuery trong Visual Studio 11 Hình 5 Tạo dự án theo mô hình Tabular trong Visual Studio 13 Hình 6.Giao diện nhập dữ liệu từ cơ sở dữ liệudữ liệU” -ccccccsssesss 14
Hình 7 Giao diện chuyền đổi dữ liệu cần thiết vào trong dự án - 15 Hình 8 Giao diện lọc dữ liệu không cần thiết từ dữ liệu -=-<<<<+ 15
Hình 11 Giao diện sử dụng Measure đề tính toán giá trị trong cột . 18 Hình 12 Giao diện thống kê số lượng đơn hàng 5- + 5-2-2 =+<+s+z£+sz=zezzzexzeesz 18 Hình 13 Giao diện để triển khai dự án - 5Ă cà Snv11 E1 SH KH ky rrệp 19 Hình 14 Giao diện sử dụng PivotTable để trích xuất toàn bộ dữ liệu - 20 Hình 15 Giao diện sử dụng PivotTable đề lấy dữ liệu từ một quốc gia 20 Hình 16 Giao diện sử dụng Detail Row Expression - chớ 21
Hình 17 Kết quả của tinh nang Detail Row Expression 5-25 ss5s++s+s=s<+=<s+s 22 Hình 18 Giao diện sử dụng hệ thống phân cáp có hàng bị rời rạc . 22 Hình 19 Giao diện ân đi các hàng bị trốngbị rời rạc” -¿-s-+sc<scecexsseecveses 23 Hình 20 Két quả của việc sử dụng tính năng Hide members - - 2= =5 23
Trang 7MO DAU Trong bối cảnh phát triển mạnh mẽ của xu hướng “toàn cầu hóa” tiến đến xã hội tiện ích, tân tiến sau cuộc cách mạng khoa học dữ liệu Thì những cá nhân chúng ta cần có cái nhìn toàn diện và có cách tận dụng triệt để hơn về các công cụ
hỗ trợ thông minh giúp quản lý hiệu quả các nguồn đữ liệu lớn, trong đó có các hệ
hỗ trợ ra quyết định như Tabular Model - một hệ hỗ trợ ra quyết định quan trọng với nhiều công cụ mạnh mẽ giúp truy vấn dữ liệu nhanh và chính xác nhất Với sự gia tăng không ngừng của lượng đữ liệu và nhu cầu ngày cảng cao về phân tích, việc hiểu về các mô hình tabular và cách chúng hoạt động là bước quan trọng nhất để xây dựng các hệ thông phân tích thông tin linh hoạt và mạnh mẽ Với những lí do trên, chúng em đã xây dựng nên một bài tiêu luận về
“Tabular Model” bao gồm các định nghĩa, các thành phan trong cau trúc của Tabular Model và cách mô hình này hoạt động Mang đến cái nhìn sâu sắc hơn về cách hệ thông này vận hành và truy vấn dữ liệu, góp phần vào việc hỗ trợ ra quyết định hiệu qua va quản lý dữ liệu cho người dùng
Trang 8CHUONG I TONG QUAN VE MO HINH DU LIEU DANG BANG -
TABULAR 1.1 Khái niệm và kiến trúc dữ liệu của Tabular SSAS
Theo dinh nghia Tabular SSAS cua Microsoft: “Tabular models (mô hình dữ liệu dang bang) trong Analysis Service là cơ sở dữ liệu chạy trong bộ nhớ (In- memory) hoặc ở chế độ DirectQuery có nhiệm vụ kết nối đến dữ liệu từ các nguồn
dữ liệu phu tro (back-end data)” Nói cách khác, Tabular SSAS là một database dạng cột có hiệu suất truy vấn và tỷ lệ nén cao, hỗ trợ hai chế độ truy vấn là “In- memory” và “DirectQuery” Bằng cách sử dụng các thuật toán nén hiện đại và bộ
xử lý truy vấn đa luồng, mô hình Tabular giúp người dùng truy cập nhanh chóng đến các đối tượng và dữ liệu có trong mô hình băng cách xuất báo cáo sang các ứng dụng như Power BI và Excel
1.2 Ngôn ngữ truy vấn
Mô hình bảng (Tabular model) sử dụng ngôn ngữ DAX để định nghĩa các phép tính Tuy nhiên, có thể truy vấn một mô hình bảng bằng cả DAX và MDX 1.2.1 DAX
DAX là một ngôn ngữ theo hàm xử lý các biểu thức bảng và giá trị đơn (scalar), cung cấp hiệu suất tốt nhất bất kể mức độ chỉ tiết của tính toán (tổng hợp hoặc chỉ tiết từng dòng) Trong Tabular, DAX được dùng để tính toán và truy vấn
dữ liệu Một truy van trong DAX luôn trả về một bảng được tạo bởi số hàng có thê
Trang 9thay đối (tùy thuộc vào dữ liệu) và số cột cô định với kiểu dữ liệu nhất định (tùy thuộc vào câu lệnh truy vấn)
Đối với các mô hình dạng bảng, DAX được sử dụng để thao tác với các cột (calculated columns), cac dòng (row filters) va cac thuộc tính đo lường (measures) DAX kh6ng thé thao tac véi phan cap (hierarchies), không có các câu lệnh mệnh lệnh (mperative statements) ma sur dụng các hàm đặc biệt gọi là toán tử lặp (iterators) thực thí một biểu thức nhất định cho mỗi hàng của một bảng cho trước
1.2.2 MDX
Ngoài ngôn ngữ DAX, MDX cũng được dùng làm ngôn ngữ truy vẫn trong
mô hình Tabular Khác với DAX, MDX không được dùng để tính toán đữ liệu trong Tabular mà chỉ dùng để truy vấn đữ liệu Mặc dù MDX có thể được dùng để truy vấn các mô hình bảng và điều hướng phân cấp (hierarchies), tuy nhiên nó không định nghĩa được phép đo ngầm (implicit measures) và chỉ có thể truy vấn các phép đo đã được định nghĩa sẵn trong mô hình bảng
1.3 Các chế độ truy vẫn
Khi phát triển Tabular SSAS, có 2 chế độ truy vấn (Query Mode) cơ bản để
xử ly dữ liệu đó là: In-Memory mode và DirectQuery mode
1.3.1 In-memory mode (Vertipaq)
In-Memory mode (hay con goi la Vertipad) la ché d6 truy van mac định trong Tabular SSAS, sử đụng bộ nhớ (In-memory cache) để lưu trữ va truy van dit liệu Điều này mang lại hiệu suất truy vấn rất cao vì dữ liệu có thể được truy cập nhanh chóng mà không cần phải đọc từ đĩa Tuy nhiên, dữ liệu trong bộ nhớ sẽ không được cập nhật tự động khi dữ liệu nguồn thay đôi và cần phải xử lý lại Về khái niệm, chế độ In-Memory tương tự như MOLAP trong SSAS (mặc dù cấu trúc
Trang 101.3.2 DirectQuery mode
Chế độ này sử dụng dữ liệu quan hệ được lưu trữ trong cơ sở dữ liệu SQL Server (tương tự như khái niệm ROLAP trong mô hình đa chiều) Nó cho phép người dùng truy xuất đữ liệu trực tiếp từ nguồn đữ liệu SQL Server trong thời gian thực mà không cần trải qua quá trình xử lý dữ liệu và lúc này SSAS đóng vai trò như một mô hình ngữ nghĩa (semantic model) dé cải thiện trải nghiệm người dùng
Query issued from Query translated
Results returned by Results returned by
Hinh 3 Ché dé truy van DirectQuery 1.4 Relationships
Trong mô hình Tabular, relationships (mối quan hệ) là sự kết nối giữa hai bảng dữ liệu và thiết lập mối tương quan giữa đữ liệu trong hai bảng Các loại
Relationships trong mô hình Tabular:
- Mối quan hệ One-to-many: Đây là loại mối quan hệ phô biến nhất Trong đó, bảng “One” chứa các giá trị không trùng lặp trong cột được liên kết Bảng “Many” chứa các giá trị có thê trùng lặp trong cột được liên kết Ví dụ như một khách hàng có thê có nhiều đơn hàng, nhưng một đơn hàng không thể có nhiều khách hàng
- Mối quan hệ One-to-One: Trong trường hợp này, cả hai bên của mối
CustomerDiscounts xác định một tỷ lệ chiết khấu duy nhất cho mỗi khách hàng, có mỗi quan hệ một-một với bảng Customers
- Mối quan hệ Many-to-Many: Đây là mối quan hệ trong đó mỗi bản ghi trong một bảng có thê được liên kết với nhiều bản ghi trong bảng khác,
và ngược lại Ví dụ như mối quan hệ giữa Products và Customers, trong
đó một khách hàng có thể mua nhiều sản phẩm và cùng một loại sản phẩm có thê được mua bởi nhiều khách hàng khác nhau
Trang 111.5 Measures
Trong mô hình Tabular, bảng sự kiện sẽ bao gồm hai thành phần đó chính là khóa và độ đo (measures) Vậy thước đo đó chính là phép tính được tạo bằng công thức DAX để sử dụng trong ứng dụng các báo cáo Các số đo có thể dựa trên các hàm tong hợp tiêu chuẩn, chăng hạn như AVERAGE, COUNT hoặc SUM hoặc chúng ta có thể xác định công thức của riêng mình bằng cách sử dụng công thức DAX Khi các thước đo đã được xác định trong một mô hình, người dùng có thê thêm chúng vào các báo cáo hoặc PivotTable
Bên cạnh đó thi cột được tính toán và thước đo sẽ có những sự khác biệt cơ bản Ví dụ, trong bảng FactSales, chúng ta đang tính toán trên cột TotalProfit với một công thức nào đó Sau khi nhận được kết quả thì chúng ta có thé thay rang, trong một cột được tính toán, một độ đo sẽ đánh giá một giá trị cho mỗi hàng trong cột
® Đase value (Giá trị cơ sở): Được xác định băng thước đo phân giải thành
thước đo được tính toán, chăng hạn như Lợi nhuận trong một khoảng thời gian nhất định
thành giá trị hoặc bằng giá trị tuyệt đối Ví dụ: giá trị mục tiêu có thê là
số tiền mà người quản lý doanh nghiệp của một tổ chức muốn tăng doanh thu hoặc lợi nhuận
® S/atus thresholds (Ngưỡng trạng thái): Được xác định bởi phạm vị giữa ngưỡng thấp và ngưỡng cao hoặc theo một giá trị cô định Ngưỡng trạng thái hiển thị bằng đồ họa giúp người dùng đễ dàng xác định trạng thái cua Base value (Giá trị cơ sở) so với Target value (giá trỊ mục tiêu) 1.7 Hierarchies
Hierarchies (phân cấp) trong Tabular là siêu đữ liệu định nghĩa mối quan hệ giữa hai hoặc nhiều cột trong bảng Về cơ bản, phân cấp là một sắp xếp có thứ tự của các yếu tố dữ liệu đại diện cho các mức độ chỉ tiết Trong mô hình tabular, các phân cấp được xây dựng bằng cách kết hợp nhiều thuộc tính hoặc cột, tạo ra một mỗi quan hệ cha-con giúp người dùng dễ dàng điều hướng và tạo các báo cáo
Trang 121.8 Partitions
Partitions (phân vùng) có chức năng phân chia các dữ liệu thường xuyên với ít thường xuyên hơn Ví dụ: trong một bảng sự kiện bao gồm một số dữ liệu hiếm khi thay đổi nhưng cũng có một số dữ liệu thay đổi thường xuyên, thì phân vùng giúp cho chúng ta có thể xử lý một phần đữ liệu chứ không phải toàn bộ
Cách thức hoạt động của phân vùng: chia bảng thành các đôi tượng phân vùng hợp lý, mỗi vùng chỉ chứa một đoạn dữ liệu, sau đó xử lý dữ liệu đó theo tuần tự hoặc song song, độc lập với các phân vùng khác hoặc loại trừ hoàn toàn khỏi các hoạt động
xử lý
Giới hạn của phân vùng: không có giới hạn cứng nào về số lượng đối tượng phân vùng Tuy nhiên, mỗi phân vùng sẽ có ít nhất một phân đoạn dữ liệu có dung lượng bộ nhớ, nên quá nhiều phân vùng nhỏ có thể dẫn đến quá nhiều phân đoạn nhỏ — hiệu suất truy vấn có thể bị ảnh hưởng tiêu cực khi công cụ lưu trữ phải quét quá nhiều phân đoạn
1.9 Perspectives
Perspectives (góc nhìn) định nghĩa các tập hợp con có thể xem được của một
mô hình nhằm cung cấp các quan điểm tập trung, dành riêng cho doanh nghiệp hoặc dành riêng cho ứng dụng của mô hình
Perspectives giúp giảm bớt sự phức tạp của Tabular bằng cách cho phép người dùng lựa chọn tương tác với những phần nhỏ trong mô hình mà họ cần Trong một Perspective, các bảng, cột và các thước đo (bao gồm KPIs) được định nghĩa như các đối tượng trường và người dùng có thể chọn Perspective mà họ muốn sử dụng 1.10 Roles
Roles (vai tro) trong mô hỉnh dạng bảng xác định quyên thành viên cho mô hình, các thành viên có vai trò mới có thê thực hiện các hành động trên mô hình Có 2 loại vai tro:
® Vai trò máy chú: một vai trò cô định cung cấp cho quản trị viên quyền truy cập vào phiên ban may chu Analysis Services Vai tro may chu khéng ap dung cho
Power BI
e Vai tro co so dt liệu: vai trò được xác định bởi tác giả mô hỉnh và quan tri viên để kiểm soát quyền truy cập vào cơ sở dữ liệu mô hình và dữ liệu cho người dùng không phải quản trị viên Và các vai trò được xác định trong mô hình dạng bảng chính là vai trò cơ sở dữ liệu
Roles trong mô hình Tabular có thể được xác định rõ hơn bằng bộ lọc hàng - bảo mật cấp hàng Bộ lọc hàng sử dụng biểu thức DAX để xác định những hàng nào trong bảng có thể được truy vấn bởi các thành viên có vai trò cụ thê Tuy nhiên, nếu bộ lọc hàng không được xác định cho một bảng cụ thê thì các thành viên của vai trò có quyền
6
Trang 13Đọc và Xử lý, có thể truy vấn tất cả các hàng trong bảng trừ khi áp dụng lọc chéo từ một bảng khác
1.11 Ưu và nhược điểm của mô hình Tabular
1.11.1 Ưu điểm
- Mô hình dạng bảng có nguồn đữ liệu đa dạng: có thê nhập dữ liệu từ nhiều nguồn khác nhau như tệp phẳng (flat file), các bảng quan hệ (relational tables), -_ Mô hình dạng bảng rat dé str dung va dé tiếp cận: bởi vì nô được phát triển gần giống với Excel nên rất phù hợp cho những người sử dụng thành thạo Excel, bên cạnh đó, giao diện rất gần gũi, quen thuộc
- M6 hinh dang bang cho phép tích hợp với PowerPivor: cac mô hình PowerPivot nâng cấp liền mạch lên các mô hình dạng bảng Điều này cung cấp các mối liên
hệ cho người dùng doanh nghiệp và chuyên gia Công nghệ thông tin trong các công cụ quen thuộc (Excel hoặc Visual Studio)
-_ Mô hình dạng bảng hiệu suất truy vấn nhanh hơn: bởi vì nó lưu trữ thông tin đữ liệu theo cột nên khi muốn chạy truy van cho một cột thì kết quả sẽ hiển thị nhanh hơn
-_ Kích cỡ dữ liệu: mô hình dạng bảng có thể nén dữ liệu nhiều hơn so với mô hình
đa chiều Ví dụ: nén đa chiều bằng 1⁄4 CSDL ban đầu thì nén dạng bảng có thê bằng 1/10 CSDL gốc
1.11.2 Nhược điểm
hiệu suất sẽ cảng tốt, nếu không đủ bộ nhớ thì mô hình đạng bảng coi như không thành công Ví dụ: CSDL yêu cầu dung lượng 5TB nhưng máy tính không đủ bộ nhớ thì mô hình dạng bảng không thê triển khai được
-_ Khó thay đôi thuộc tỉnh: điều này có nghĩa là mỗi lần đôi tên bảng và cột cũng như thay đôi cài đặt thuộc tính, thông tin này sẽ được ghi vào mô hình workspace database trên máy chủ đạng bảng SSAS cục bộ và chỉ sau khi các thay đổi đã được thực hiện, quyền kiểm soát sẽ được trả lại cho nguol thiết kế mô hình 1.12 Sự khác biệt giữa mô hình Tabular và mô hình Đa chiều
Trong SQL Server Analysis Services, ban đầu chỉ có mô hình dữ liệu đa chiều nhưng sau này Microsoft đã cải tiến bằng cách thêm vào đó mô hình dữ liệu Tabular Tính năng Tabular được tạo ra dựa trên mô hỉnh đa chiều, họ đã thêm một số tính năng cũng như là tách biệt một số tính năng để phù hợp hơn với nhu cầu kinh doanh và bản
chất đữ liệu
Trang 14Mô hình Tabular Mô hình Đa chiều
Nguồn dữ liệu
- Có thể nhập dữ liệu từ nhiều nguồn dữ liệu khác nhau như các tệp phẳng (flat
(relational tables) và một số nguồn cap di liệu (data feeds)
cơ sở dữ liệu quan hệ Dữ liệu sau đó được lưu trữ ở định dạng nén, cột
— Mang lại hiệu suất truy vấn cao
- Tổ chức dữ liệu thành các hình khối, kích thước và số
đo Dữ liệu được lưu trữ ở định dạng phân cấp
— Tối ưu hóa cao, lý tưởng cho các cầu trúc dữ liệu phủ tạp
ngữ truy vấn và tính toán dữ liệu Ngoài ra có thể sử dung MDX để truy vấn đữ liệu
— DAX được thiết kế giỗng với các hàm Excel, giúp nhiều người dùng dé dang
(MDX) làm ngôn ngữ truy vấn
— MDX manh mẽ nhưng
Trang 15
Trường hợp sử
dụng
- Nhu cầu lập mô hỉnh đữ
liệu tương đối đơn giản và có
- Khôi lượng dữ liệu lớn nên
đòi hỏi hiệu suât cao
Báng 1 So sánh mô hình Tabular với zô hình Đa chiêu