F8_4 là một chức năng hay nếu bạn biết vận dụng nó một cách nhuần nhuyễn, và "chế biến" dữ liệu một cách vô cùng mau lẹ và hiệu quả. Ngược lại nếu bạn chưa hiểu rõ cách sử dụng hoặc không kiểm soát được chức năng này thì SMART khuyên bạn không nên sử dụng vì có thể làm sai lệch số liệu của bạn.
Bài viết này sẽ hướng dẫn các bạn về nguyên lý và cách thức sử dụng chức năng này.
F8_4 là công cụ thay thế giá trị trong cột của những dòng đã chọn. Nó là một trong các công cụ để bạn quản trị bảng dữ liệu F8.
Vì là F8 công cụ quảng trị các bảng dữ liệu nên F8_4 cũng có thể dùng được ở hầu hết các bảng. Dưới đây là giao diện F8_4
Bảng đang xử lý F8_4
Cột trong bảng đang xử lý F8_4
Vị trí nhập công thức hoặc text muốn thay thế vào đây
Tick nếu biểu thức thay thế có chứa chữ tiếng việt có dấu.
Để cho dễ hiểu tôi sẽ đưa ra cho bạn một bài toán và hướng dẫn bạn cách giải.
1/ Kiểu thay thế là text
Ví dụ: thay thế giá trị trên cột diễn giải của tất cả các chứng từ trong KTSC bằng chữ " DOANH THU BÁN HÀNG"
Hướng dẫn:
Với yêu cầu như trên bạn phải thao tác tại cột diễn giải trên sổ chứng từ gốc (KTSC). Bằng cách click trái chuột vào cột diễn giải trong số chứng từ gốc sau đó thực hiện F8_4 và làm như hình dưới
(F8_4 là text thì làm như hình trên)
bạn nên kết hợp giữa F7 với F8_4 để có thể xử lý các bài toán phức tạp hơn. Trên đây chỉ là ví dụ nhưng thực tế bạn sẽ phải lọc các bút toán doanh thu sau đó mới sử dụng F8_4.
2/ Kiểu thay thế là hàm hoặc thay thế bằng giá trị của cột đã khác.
Cách thay thế này sẽ phức tạp hơn cách kia rất nhiều, nó đòi hỏi bạn phải có một suy nghĩ logic hơn.
Ví dụ: gán giá trị cột mặt hàng bằng cột diễn giải
(ví dụ gán cột mặt hàng bằng cột diễn giải)
Hướng dẫn:
Để làm làm được yêu cầu trên thì bạn sẽ thực hiện F8_4 tại cột mặt hàng như hình dưới đây
khi này tại ô "Biểu thức thay" bạn phải nhập mã cột muốn thay. Như ví dụ này bạn phải nhập mã của cột diễn giải là diengiai.
Để có thể làm được như ví dụ trên bạn phải biết được mã các cột trong bảng. Bằng cách nhấn Ctrl+~ sau khi mở bảng thì SMART sẽ hiển thị mã các cột trong bảng bạn đang mở.
Dưới đây là một số hình anh minh họa F8_4 để bạn hiểu rõ hơn và dễ dàng "xào nấu" dữ liệu của mình một cách hiệu quả và chính xác.
Hình 1: Thay giá trị 1 cột bằng một câu diễn giải động ở số hóa đơn
Hình 2: Giá trị thay là một biểu thức tính toán
Hình 3: Giá trị thay là chính nó trừ đi một số cố định là 300
Hình 4: thay ngày hđ bằng ngày chứng từ với số năm +2
Hình 5: Lấy cột mã công trình = 3 ký tự cuối tài khoản nợ
Nếu bạn có tư duy logic thì bạn sẽ trở thành 1 một "đầu bếp" chuyên nghiệp rồi đấy
Lưu ý:
- Nếu bạn tò mò bạn nên tạo ra 1 database riêng để thử nghiệm. Vì sau khi thực F8_4 sẽ không undo được đâu
- Bạn nên kết hợp giữa F7 với chức năng F8_4 thì hiệu quả sẽ tốt hơn. Nghĩa là sau khi lọc dữ liệu theo tiêu chi cần thiết thì bạn mới sử dụng chức năng F8_4 để quản trị trên dữ liệu đã lọc
- Nếu bạn am hiểu về các hàm trong SQL thì bạn có thể tự đưa ra những hàm tùy biên riêng ví dụ:
Ví dụ 1:
DIENGIAI = 'Nhập kho '+REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,LUONG),1), '.00','')+' '+DONVI+' '+TENDM
DIENGIAI = CONVERT(NVARCHAR(10),N'Nhập kho ',103)+REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,LUONG),1), '.00','')+' '+DONVI+' '+TENDM
DIENGIAI = 'Bán hàng theo HĐ số '+so_hd+', ngày '+CONVERT(CHAR(10),NGAY_HD,103)
DIENGIAI = ' Thuế GTGT đầu ra HĐ : '+so_hd+','+CONVERT(CHAR(10),NGAY_HD,103)
Ví dụ 2:
SOCT = CONVERT(VARCHAR,NGAYCT,12) + MADTPNCO
Ví dụ 3:
'Lấy ngày cuối tháng trước
NGAYCT = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(NGAYCT)),NGAYCT),101)
'Lấy ngày đầu tháng hiện tại
NGAYCT = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(NGAYCT)-1),NGAYCT),101)
'Lấy ngày cuối tháng này
NGAYCT = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,NGAYCT))),DATEADD(mm,1,NGAYCT)),101)
'Lấy ngày đầu tháng tiếp theo
NGAYCT = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,NGAYCT))-1),DATEADD(mm,1,NGAYCT)),101)
Ví dụ 4:
'thêm sô 0 cho đủ 7 ký tự trên cột số hóa đơn
SO_HD = REPLICATE('0',7-LEN(SO_HD))+SO_HD
SOCT = REPLICATE('0',7-LEN(SOCT))+SOCT
MATS = 'PB'+REPLICATE('0',4-LEN(STT))+CONVERT(VARCHAR(4),STT)
Ví dụ 5:
'chuyển dữ liệu ngày tháng năm sang chuỗi
GHICHU = CONVERT(NVARCHAR,YEAR(NGAYCT)) + CONVERT(NVARCHAR,MONTH(NGAYCT)) + CASE WHEN DAY(NGAYCT)>9 THEN CONVERT(NVARCHAR,DAY(NGAYCT)) ELSE '0' + CONVERT(NVARCHAR,DAY(NGAYCT)) END
Ví dụ 6:
Hàm cắt time trong cột format datetime
NGAYCT=CONVERT(nvarchar,ngayct,112)
Chúc bạn thành công !!!