Bài tập thực hành viề Calculation

BÀI TẬP THỰC HÀNH VỀ CALCULATED FIELD

Phần 1. Cơ bản – Làm quen với Calculated Field

Bài 1: Tạo trường doanh thu mới

  • Dữ liệu: Quantity, Unit Price
  • Yêu cầu: Tính Sales = Quantity * Unit Price
  • Mục tiêu: Làm quen với Calculated Field đơn giản.

Bài 2: Phân loại trạng thái đơn hàng

  • Dữ liệu: Status (Shipped, Cancelled, In Progress)
  • Yêu cầu: Tạo trường OrderFlag:

IF [Status] = “Shipped” THEN 1 ELSE 0 END

  • Mục tiêu: Làm quen với IF…ELSE.

Bài 3: Nhóm khách hàng theo doanh thu

  • Dữ liệu: Customer ID, Sales
  • Yêu cầu: Nếu doanh thu > 10,000 thì “VIP”, ngược lại “Thường”.

IF SUM([Sales]) > 10000 THEN “VIP” ELSE “Thường” END

Phần 2. Trung cấp – Sử dụng hàm và tập hợp

Bài 4: Tính lợi nhuận biên

  • Dữ liệu: Sales, Profit
  • Yêu cầu: Tính tỷ lệ lợi nhuận:
[Profit Margin] = SUM([Profit]) / SUM([Sales])

Bài 5: Tính số ngày giao hàng

  • Dữ liệu: Order Date, Shipped Date
  • Yêu cầu:

DATEDIFF(‘day’, [Order Date], [Shipped Date])

  • Mục tiêu: Làm quen với hàm ngày tháng.

Bài 6: Đếm số khách hàng duy nhất

  • Yêu cầu:

COUNTD([Customer ID])

  • Mục tiêu: Phân biệt COUNT và COUNTD.

Bài 7: Tính số tháng khách hàng có giao dịch

  • Yêu cầu:

COUNTD(DATETRUNC(‘month’, [Order Date]))

  • Mục tiêu: Dùng hàm DATE + COUNTD.

Phần 3. Nâng cao – Bảng tính toán & phân tích Pareto

Bài 8: Xếp hạng khách hàng

  • Yêu cầu: Tính rank theo doanh thu:

RANK(SUM([Sales]), ‘desc’)

Bài 9: Tính % tích lũy

  • Yêu cầu:

RUNNING_SUM(SUM([Sales])) / TOTAL(SUM([Sales]))

Bài 10: Phân tích Pareto

  • Yêu cầu: Dùng [Cumulative %] để phân loại khách hàng:

IF [Cumulative %] <= 0.8 THEN “Pareto Top” ELSE “Others” END

Bài 11: Tìm khách hàng không mua trong năm nay

  • Yêu cầu: So sánh YEAR([Order Date]) với YEAR(TODAY()).

Phần 4. Chuyên sâu – LOD Expressions

Bài 12: Tính doanh thu trung bình theo khách hàng

{ FIXED [Customer ID] : SUM([Sales]) }

Bài 13: Tính số lần mua hàng mỗi năm

{ FIXED [Customer ID], YEAR([Order Date]) : COUNTD([Order ID]) }

Bài 14: Tìm khách hàng lớn nhất mỗi năm

IF SUM([Sales]) = { FIXED YEAR([Order Date]) : MAX(SUM([Sales])) }

THEN “Top Customer” END

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *