HỖ TRỢ
02873 00 38 48
1900 636 507
 
Giờ làm việc
Sáng 07h30 đến 12h00
Chiều 13h30 đến 17h00
EX0008 | F8_4 để quản trị và thay thế hàng loạt

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
 

 
(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 !!!
0
Giỏ hàng
Chat ngay
Hotline02516544809
Chat ngay