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!
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.
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.
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.
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.
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.
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:
Dữ liệu dạng dọc (Relational Data Structure) - Long | Dữ 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 |
|
|
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. |
Để 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 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ệ.
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.
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ệ.
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.
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".
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.
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
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.
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!