<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Tiền xử lý dữ liệu (ETL)
và phân tích đa chiều OLAPNguyễn Danh Tú
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
Tiền xử lý & OLAP
Visualization
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">
<b>● OLAP: Hệ thống </b>
phân tích dữ liệu đa chiều
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
OLTP và OLAP
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
OLAP -
Online analytical processing
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">
Nội dung
<b>1. OLAP Cubea. Dimensionb. Fact</b>
<b>2. Các thao tác phân tích cơ bản trong OLAP</b>
a. Roll-upb. Drill-downc. Slice and diced. Pivot (rotate)
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">
OLAP Cube: Là một khối dữ liệu nhiều chiều mà có thể dễ dàng phân tích
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">
Dimension & Fact
Pivot Chart Kéo vào Filters, Legend (Series), Axis
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
OLAP Cube: Ví dụ
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">
Hệ thống chiều khái niệm (voi dim)/ Data taxonamy
<small>Bộ phậnChức danhLoại phụ cấpLoại lươngNhân viênLoại BHXHThángFact</small>
<small>Bộ phận bán </small>
<small>Bộ phận </small>
<small>T.Vụ….</small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">
Roll-up: Tổng hợp dữ liệu theo một cơng thức nào đó theo các chiều dữ liệu
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">
Dice: Chọn một vài dữ liệu trong một chiều
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">
Pivot: Xoay dữ liệu
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">
<b>● Star schema:</b>
<b>○ Link 1Link 2</b>
<b>● Measure● Dimension● Fact</b>
<b>● OLAP cube: Link</b>
<b>OLAP - Data Model</b>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">
OLAP Data model
Thực hành: Vẽ Data model cho Nhân sự
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">
Mơ hình dữ liệu OLTP vs OLAP
OLAP
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">
Mơ hình hình sao (Star model)
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">
Mơ hình bơng tuyết (Snowflake Model)
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">
Mơ hình dải thiên hà (Galaxy model)
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">
ETL-Extract, Transform, Load
Tiền xử lý dữ liệu
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">
ETL - Extract, Transform, Load
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">
Vùng Staging - Thực hiện các hoạt động tiền xử lý dữ liệu
Chứa các bản copy của dữ liệu được tải vào từ dữ liệu hoạt động
- Dữ liệu được chuẩn bị trong vùng staging (tích hợp, làm sạch,…)
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">
<small>Type of Transform (Concept)Tools/ExampleExamples</small>
<small>Bucketing/BinningDate, Split, Add ColumnLấy dữ liệu Năm, Tháng, Lấy Tỉnh thành từ một chuỗiData Aggregation/ Data </small>
<small>Summarization</small> <sup>Group by</sup> <sup>Lấy doanh thu theo tháng, chủng loại hàng, loại khách hàng</sup><small>Data CleansingRemove Error, Remove Column, Row, Replace ValuesBỏ các dữ liệu lỗi, bỏ các cột, dòng thừa</small>
<small>Data Deduplication</small> <b><small>Remove duplicate</small></b> <small>Loại bỏ dùng trùng</small>
<small>Data DerivationAdd column, SplitTrích rút thơng tin từ một hoặc 1 vài trường dữ liệu. Từ ngày, tháng, năm -> DateData FilteringFilter</small>
<small>Data IntegrationNew sources, Append QueriesTích hợp dữ liệu từ nhiều nguồnData JoiningMerge Queries</small>
<small>Data SplittingSplit Column,</small><b><small> Text to Column</small></b>
<small>Data ValidationData Type, </small><b><small>Data Validation</small></b>
<small>Format RevisionData TypeDữ liệu ngày tháng bị loạn, chuẩn hóa lại. Dữ liệu số dạng Text, chuẩn hóa lạiKey RestructuringIndex Colum</small>
<small>Z-Score Normalization and Min Scaling</small>
<small>Max-Data Rotation</small> <b><small>Transpose</small></b><small>, </small><b><small>Pivot</small></b><small>, Unpivot</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">
Data Validation
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">
Data Binning
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">
Data Integration - Append Queries
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">
Data Join - Merge Queries
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">
Data join
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">
Data Rotation - Pivot
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">
Data Rotation - Unpivot
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">
Case study: Tối ưu hóa
Tỷ lệ hồn trả cho cơng ty sữa Ngô
Mô tả hoạt động kinh doanh:● Kinh doanh sữa ngô tươi
● Giao cho các đại lý, cửa hàng bán lẻ (rất nhiều điểm)● Sản phẩm khi không tiêu thụ hết được hoàn/đổi trả● Sản phẩm sau khi trả/đổi là mất vì là đồ tươi. Khơng sử
dụng đượcVấn đề cần giải:
● Cần giảm được tỷ lệ hoàn/đổi trả
● Giảm thiểu tối đa thiệt hại khi tôi ưu (VD: giảm doanh thu, giảm khách hàng
Giải pháp: Đưa ra được các phương án tối ưu dựa trên dữ liệu● Cần làm gì để tối ưu?
● Khi làm việc đó thì tác động lên doanh nghiệp ntn? (doanh thu, tỷ lệ đổi trả,...)
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">
Tổng kết
1. Hệ thống xử lý giao dịch (OLTP): ERP, CRM, …2. Hệ thống phân tích dữ liệu đa chiều (OLAP)3. Khối dữ liệu OLAP: Dimension, Fact
4. Các thao tác với khối dữ liệu1. Roll-up, Drill-down
2. Slice, dice3. Pivot (rotate)
5. Tiền xử lý dữ liệu: Trích rút (Extract), Biến đổi (Transform), Lưu (Load)1. Data Cleaning
2. Data Binding
3. Data Rotation (Pivot, Unpivot)
4. Data Integration (Merge-Join, Append-Union)5. …..
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">
Tài liệu tham khảo
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">
<b>OLAP</b>
</div>