Cách làm việc với dữ liệu trong Appsheet

Nội dung được viết bởi Kim Thu

Lưu trữ và quản lý dữ liệu là một phần quan trọng trong quá trình xây dựng và sử dụng ứng dụng bằng Appsheet. Tuy nhiên, quá trình này có thể là thách thức với người mới vì làm việc với dữ liệu trong Appsheet khá phức tạp.

Bởi vậy, hôm nay Gitiho sẽ hướng dẫn bạn chi tiết cách làm việc với dữ liệu trong Google Appsheet và giới thiệu các loại dữ liệu trong thực tế nhé. Cùng tìm hiểu ngay!

Thành phần cấu tạo nên một ứng dụng

Các Thành phần cấu tạo nên một ứng dụng
Các Thành phần cấu tạo nên một ứng dụng

Cấu trúc dữ liệu (Data Structure): Cách dữ liệu được tổ chức và quản lý trong ứng dụng, bao gồm tạo bảng, cột và quan hệ giữa chúng.

Giao diện người dùng (User Interface): Phần mà người dùng trực tiếp tương tác khi sử dụng ứng dụng, bao gồm nút, menu, hình ảnh và các thành phần khác.

Chức năng (Functionality): Các tính năng ứng dụng có thể thực hiện, bao gồm thu thập, xử lý và quản lý dữ liệu, quản lý người dùng và quyền truy cập, tích hợp nguồn dữ liệu bên ngoài và ra quyết định.

Quy tắc và luật (Rules and Logic): Các quy tắc và logic điều khiển hoạt động của ứng dụng và xử lý dữ liệu.

Tích hợp API (API Integration): Cho phép ứng dụng kết nối với các dịch vụ và công cụ khác nhau, sử dụng tính năng và dữ liệu từ các nguồn khác.

Bảo mật (Security): Chính sách và quy trình bảo vệ dữ liệu và hệ thống của ứng dụng.

Cấu trúc dữ liệu trong Appsheet (Data Structure):

Các bảng Table trong Appsheet

Một bảng dữ liệu trong Google Appsheet là một tập hợp dữ liệu có cấu trúc, được tổ chức thành các hàng và cột. Mỗi bảng đại diện cho một loại đối tượng hoặc một nhóm đối tượng liên quan và chứa thông tin đặc biệt về chúng.

Ví dụ, khi tạo ứng dụng quản lý danh sách nhân viên, bạn có thể tạo bảng "Nhân viên" với các cột như tên, ngày sinh, email, số điện thoại và vị trí công việc. Dữ liệu có thể được nhập thủ công hoặc kết nối với nguồn dữ liệu như Google Sheets hoặc Microsoft Excel.

Thêm bảng mới vào data trong Appsheet
Thêm bảng mới vào data trong Appsheet

Sau khi tạo bảng dữ liệu, bạn có thể sử dụng nó để tạo biểu mẫu, báo cáo và các chức năng khác trong ứng dụng của mình.

Lưu ý: AppSheet hỗ trợ kết nối với nhiều nguồn dữ liệu như Excel, Google Sheets, MySQL,... Đặc biệt, Appsheet vận hành tốt khi kết nối với các ứng dụng trong hệ sinh thái Google. Bởi vậy trong bài này, chúng tôi sẽ tập trung vào việc sử dụng Google Sheets.

Lợi ích khi kết nối Appsheet với Google Sheet

  • Sử dụng hoàn toàn miễn phí 
  • Giao diện thân thiện và tiện lợi để quản lý và chỉnh sửa dữ liệu. Khi kết hợp với AppSheet, việc xử lý và quản lý dữ liệu trở nên tự động và hiệu quả hơn.
  • Google Sheets dễ dàng tích hợp với nhiều công cụ khác như Google Forms, Google Calendar và nhiều công cụ khác.
  • Dữ liệu có thể chia sẻ với nhiều người cùng lúc.
  • Google Sheets có nhiều hàm mạnh mẽ cho việc xử lý mảng, như UNIQUE, ARRAYFORMULA, QUERY.
  • Việc xuất và nhập dữ liệu từ nhiều nguồn khác nhau như Excel, CSV và nhiều định dạng khác bằng Google sheet khá đơn giản và tiết kiệm thời gian.
  • Khi kết hợp với AppSheet, bạn có thể tạo báo cáo và thống kê dữ liệu theo nhu cầu riêng, giúp quản lý và ra quyết định trở nên hiệu quả và linh hoạt hơn.

Một số hạn chế khi lưu dữ liệu cho ứng dụng bằng Google Sheet

Hạn chế số lượng dòng và cột trong mỗi bảng tính. Cụ thể, một bảng có thể chứa tối đa 10 triệu ô tính. Số dòng tối đa phụ thuộc vào số cột bạn sử dụng. Ví dụ, nếu bạn sử dụng 5 cột, bạn có thể có tối đa 2 triệu dòng (5 cột x 2 triệu dòng = 10 triệu ô). 

Mỗi tài khoản Google được cung cấp 15GB dung lượng lưu trữ miễn phí. Người dùng cũng có thể mua thêm dung lượng lưu trữ khi cần.

Mỗi bảng trong Google Sheets giới hạn số người có thể chia sẻ là 200.

Với số lượng dữ liệu lớn, Google Sheets có thể xử lý chậm hơn so với các công cụ quản lý dữ liệu khác.

Google Sheets không hỗ trợ các tính năng phức tạp như xử lý dữ liệu, tạo quy trình tự động, hoặc tích hợp với các hệ thống khác. Đối với những tính năng này, người dùng cần phải sử dụng các công cụ bổ sung cùng với Google Sheets.

Cài đặt dữ liệu trong Appsheet

Khi tạo ứng dụng bằng dữ liệu được lưu trên Google sheet cần chuyển sang ngôn ngữ tiếng Anh. Vì mặc định trong tiếng Việt và tiếng Anh là hai loại format khác nhau (ví dụ dấu phẩy, dấu chấm dùng để phân tách đơn vị hoặc số thập phân), nên dùng Tiếng Anh sẽ giúp ích cho việc truy vấn dữ liệu trên BigQuery được chính xác.

Cài đặt ngôn ngữ tiếng Anh cho Google sheet
Cài đặt ngôn ngữ tiếng Anh cho Google sheet

Các loại dữ liệu trong thực tế

Dữ liệu đóng một vai trò cực kỳ quan trọng trong bất kỳ lĩnh vực nào trong cuộc sống. Để hiểu và xử lý dữ liệu một cách hiệu quả, chúng ta sẽ khám phá hai dạng cấu trúc dữ liệu phổ biến: Dữ liệu dạng dọc (Relational Data Structure) - Long và Dữ liệu dạng ngang (Flat Data Structure) - Wide:

Bảng dữ liệu dạng dọc và ngang
Bảng dữ liệu dạng dọc và ngang

So sánh dữ liệu ngang - dọc:

 Dữ liệu dạng dọc (Relational Data Structure) - LongDữ liệu dạng ngang (Flat Data Structure) - Wide 
Thông tin

Dữ liệu dạng dọc (còn gọi là dữ liệu quan hệ) là cách tổ chức dữ liệu thành bảng với hàng và cột. Mỗi hàng đại diện cho một đối tượng và mỗi cột biểu thị một thuộc tính của đối tượng đó. Dữ liệu dạng dọc nổi bật với khả năng kết nối các bảng khác nhau qua khóa chính và khóa ngoại.

Ví dụ: Cơ sở dữ liệu quản lý sinh viên trong trường đại học, với các bảng như Sinh viên, Lớp học, Giảng viên, Khoa, vv. Các bảng này được kết nối với nhau thông qua các khóa chính và khóa ngoại.

Dữ liệu dạng ngang (còn gọi là dữ liệu phẳng) là cách tổ chức dữ liệu trong một bảng duy nhất với hàng và cột. Mỗi hàng đại diện cho một đối tượng và mỗi cột biểu thị một thuộc tính của đối tượng đó. Trong dữ liệu dạng ngang, tất cả thông tin về một đối tượng được lưu trữ trong cùng một hàng và không có liên kết giữa các hàng với nhau.

Ví dụ: Bảng danh sách khách hàng của một cửa hàng, trong đó mỗi hàng chứa thông tin về tên, địa chỉ, số điện thoại, email, v.v. của một khách hàng.

Ưu điểm

Có thể mở rộng bảng và quản lý dữ liệu dễ dàng.

Hỗ trợ liên kết và truy vấn phức tạp giữa các bảng.
 

Dễ sử dụng, không yêu cầu nhiều kiến thức về lập trình hoặc thiết kế cơ sở dữ liệu.

Truy vấn nhanh hơn với dữ liệu đơn giản so với cấu trúc dữ liệu dạng dọc.

Dễ dàng nhập và xuất dữ liệu từ các tệp như CSV, Excel.

Nhược điểm
  • Yêu cầu kiến thức sâu về lập trình và thiết kế cơ sở dữ liệu.
  • Tốc độ truy vấn có thể chậm đối với dữ liệu lớn và phức tạp.
  • Khó mở rộng và quản lý khi dữ liệu trở nên phức tạp và lớn.
  • Không hỗ trợ truy vấn phức tạp giữa các bảng.
  • Có thể gặp vấn đề về tính nhất quán và độ tin cậy của dữ liệu.
So sánh

Tóm lại, dữ liệu dạng dọc cho phép kết nối thông tin giữa các bảng qua khóa chính và khóa ngoại, trong khi dữ liệu dạng ngang không thể làm điều này.

Dữ liệu dạng ngang dễ dàng nhập và xuất dữ liệu từ các tệp như CSV và Excel, trong khi dữ liệu dạng dọc thường yêu cầu sử dụng phần mềm quản lý cơ sở dữ liệu (RDBMS).

Dữ liệu dạng dọc thích hợp cho các dự án lớn, phức tạp, trong khi dữ liệu dạng ngang phù hợp cho các dự án nhỏ, đơn giản.


 

Một số định dạng dữ liệu trên Appsheet

  • Định dạng văn bản (text): LongText, Name, Text, Ref
  • Định dạng số (Number): Number, Decimal, Percent, Price
  • Định dạng ngày tháng (Date): Date,Datetime, Duration, Time
  • Định dạng Change: ChangeCounter, ChangeLocation, ChangeTimestamp
  • Định dạng danh sách (List): Enum, EnumList, Color
  • Định dạng Content: Image, Signature, File, video….
  • Định dạng Communication: Email, Phone
  • Định dạng Map:  Address, LatLong, XY
  • Định dạng cột ảo Inline colums: List

Để tiện cho việc khai báo cột cho ứng dụng, nên tạo sẵn 3 dòng dữ liệu phía dưới cột tiêu đề. Lúc này, AppSheet sẽ tự động xác định loại dữ liệu cho mỗi cột.

Lưu ý, khi cài đặt kiểu dữ liệu, hãy đảm bảo luôn chính xác với mọi tình huống. Chỉ cần một trường hợp sai trong 10000 trường hợp, dữ liệu sẽ bị sai.

QR code trong Appsheet

QR code là một loại mã vạch hai chiều, dùng để chuyển đổi thông tin từ dạng văn bản sang hình ảnh có thể quét. Bằng cách quét bằng điện thoại hoặc máy quét mã vạch, bạn có thể truy cập vào các thông tin như địa chỉ web, số điện thoại, hoặc thông tin liên hệ.

QR code trong Appsheet
QR code trong Appsheet

Chúng ta có thể sử dụng công thức hàm sau:

CONCATENATE(“https://chart.googleapis.com/chart?chs=100x100&cht=qr&chl= ”&ENCODEURL([product_id]))

Kết quả là API của Google sẽ trả về một đường link chứa QR code.

Một số lưu ý khi tạo dữ liệu trên Appsheet

  • Tên bảng (table) và tiêu đề (header) phải là duy nhất.
  • Tiêu đề (header) không chứa dấu và không có khoảng trắng.
  • Mỗi dòng phải có một khóa (key) duy nhất, không dấu và không khoảng trắng.
  • Để kết nối hai bảng với nhau, cần sử dụng khóa ngoại (forge key).

Một số cài đặt dữ liệu cần lưu ý

Một số tính năng cài đặt đặt dữ liệu trong Appsheet

Valid IF (validate) - Xác thực dữ liệu: đây là tính năng được sử dụng để kiểm tra tính hợp lệ của dữ liệu nhập vào. Ví dụ, bạn có thể kiểm tra rằng một số phải là số dương hoặc một email phải có định dạng chính xác. Nếu dữ liệu không hợp lệ, người dùng sẽ nhận thông báo lỗi và không thể lưu dữ liệu cho đến khi sửa lại thành dữ liệu hợp lệ.

Cài đặt tính năng Xác thực dữ liệu
Cài đặt tính năng Xác thực dữ liệu trong Appsheet

Show IF (hiển thị): là tính năng điều khiển hiển thị trong Appsheet. Nó cho phép bạn định nghĩa điều kiện cho việc hiển thị của một trường hoặc một đối tượng giao diện khác trong ứng dụng của bạn. Với tính năng này, bạn có thể chỉ hiển thị một trường khi một điều kiện được thỏa mãn.

Cài đặt điều kiện hiển thị trong Appsheet
Cài đặt điều kiện hiển thị trong Appsheet

Required IF (Yêu cầu nhập): là tính năng bắt buộc người dùng nhập thông tin vào một trường khi một điều kiện được thỏa mãn. Điều này cho phép bạn yêu cầu người dùng cung cấp thông tin cho một trường chỉ khi điều kiện cụ thể được đáp ứng. Ví dụ, bạn có thể yêu cầu người dùng nhập thông tin cho trường "Ngày kết thúc" chỉ khi họ chọn "Hoàn thành" trong trường "Trạng thái". 

Cài đặt yêu cầu đăng nhập trong Appsheet
Cài đặt yêu cầu đăng nhập trong Appsheet

Editable IF (cho phép chỉnh sửa): là cho phép hoặc không cho phép người dùng chỉnh sửa một trường dựa trên điều kiện nào đó. Với tính năng này, bạn có thể cài đặt một trường có thể hoặc không thể được chỉnh sửa tùy thuộc vào giá trị của một trường khác hoặc một điều kiện cụ thể. Điều này giúp giới hạn quyền truy cập và chỉnh sửa của người dùng để đảm bảo tính toàn vẹn và an toàn của dữ liệu.

Cài đặt điều kiện cho phép chỉnh sửa trong Appsheet
Cài đặt điều kiện cho phép chỉnh sửa trong Appsheet

Hàm Appscript hỗ trợ định dạng lại dữ liệu

Hàm định dạng header sang tiếng Việt không dấu:

function resetSheet() {
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    for (var i = 0; i < sheets.length; i++) {
        var sheet = sheets[i];
        var range = sheet.getDataRange();
        var values = range.getValues();
        var headers = values[0];
        
        // Chuyển đổi các tiêu đề
        range.clearFormat();
        range.setFontFamily("Arial").setFontSize(11).setBackground("#ffffff").setFontWeight("normal");
        
        for (var j = 0; j < headers.length; j++) {
            var header = headers[j];
            if (header) {
                header = header.toLowerCase(); // Chuyển thành chữ thường
                header = header.replace(/[àáạảãâầấậẩẫăằắặẳẵ]/g, 'a');
                header = header.replace(/[èéẹẻẽêềếệểễ]/g, 'e');
                header = header.replace(/[ìíịỉĩ]/g, 'i');
                header = header.replace(/[òóọỏõôồốộổỗơờớợởỡ]/g, 'o');
                header = header.replace(/[ùúụủũưừứựửữ]/g, 'u');
                header = header.replace(/[ỳýỵỷỹ]/g, 'y');
                header = header.replace(/đ/g, 'd');
                
                range.getCell(1, j + 1).setFontFamily("Arial").setFontWeight("bold").setFontSize(12).setBackground("#ebedfc");
                headers[j] = header;
            }
        }
    }
}

Hàm đổi tên sheet sang tiếng Việt không dấu:

function convertSheetNames() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheets = ss.getSheets();
    for (var i = 0; i < sheets.length; i++) {
        var sheet = sheets[i];
        var originalName = sheet.getName();
        var convertedName = removeDiacriticsAndSpaces(originalName).toUpperCase();
        sheet.setName(convertedName);
    }
}

function removeDiacriticsAndSpaces(str) {
    var diacriticsMap = {
        'Á': 'A','À': 'A','Ả': 'A','Ã': 'A','Ạ': 'A','Ă': 'A','Ắ': 'A','Ằ': 'A','Ẳ': 'A','Ẵ': 'A','Ặ': 'A','Â': 'A',
        'Ấ': 'A', 'Ầ': 'A', 'Ẩ': 'A', 'Ẫ': 'A', 'Ậ': 'A', 'Đ': 'D', 'É': 'E', 'È': 'E', 'Ẻ': 'E', 'Ẽ': 'E', 'Ẹ': 'E',
        'Ê': 'E', 'Ế': 'E', 'Ề': 'E', 'Ể': 'E', 'Ễ': 'E', 'Ệ': 'E', 'Í': 'I', 'Ì': 'I', 'Ỉ': 'I', 'Ĩ': 'I', 'Ị': 'I',
        'Ó': 'O', 'Ò': 'O', 'Ỏ': 'O', 'Õ': 'O', 'Ọ': 'O', 'Ô': 'O', 'Ố': 'O', 'Ồ': 'O', 'Ổ': 'O', 'Ỗ': 'O', 'Ộ': 'O',
        'Ơ': 'O', 'Ớ': 'O', 'Ờ': 'O', 'Ở': 'O', 'Ỡ': 'O', 'Ợ': 'O', 'Ú': 'U', 'Ù': 'U', 'Ủ': 'U', 'Ũ': 'U', 'Ụ': 'U',
        'Ư': 'U', 'Ứ': 'U', 'Ừ': 'U', 'Ử': 'U', 'Ữ': 'U', 'Ự': 'U', 'Ý': 'Y', 'Ỳ': 'Y', 'Ỷ': 'Y', 'Ỹ': 'Y', 'Ỵ': 'Y'
    };
    var result = str.replace(/[À-ỹ]/g, function(c) {
        return diacriticsMap[c] || c;
    });
    return result.replace(/\s+/g, '_');
}

Xem thêm: Cách chuyển tiếng việt có dấu thành không dấu trong Appsheet

Kết luận

Hy vọng bài viết trên sẽ giúp bạn hiểu được cách làm việc với dữ liệu trong Appsheet. Giờ đây, việc tạo, quản lý và tương tác với dữ liệu không còn là điều khó khăn nữa.

Để tìm hiểu nâng cao hơn về cấu trúc dữ liệu, giao diện người dùng, chức năng, quy tắc và luật, và bảo mật trong AppSheet, bạn có thể tham khảo khóa học Làm chủ Google Appsheet từ cơ bản tới nâng cao của Gitiho.com.

1,900,000đ 2,000,000đ

Với 55 bài giảng và 12 giờ học sẽ giúp bạn nhanh chóng nắm được các kiến thức cơ bản để tạo ra một ứng dụng của riêng mình với Appsheet. Đăng ký một lần và học tập trọn đời cùng Gitiho.com với mức giá ưu đãi giảm 30% bạn nhé.

Gitiho đã cho ra mắt khóa học Google Sheets từ Cơ bản đến Nâng cao, công cụ thay thế Excel giúp bạn hoàn toàn có thể tự tin phân tích và xử lý dữ liệu trên Google Sheet, lập bảng biểu, báo cáo trực quan và hơn thế nữa. Bấm vào để học thử ngay!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông