@מיכאלוש הסתדרתי הנה
תודה רבה
function importAndSortData() {
// מציג את הגישה לגיליון הפעיל באפליקציית גיליון האלקטרוני של Google.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// מגדיר את הקישור לייבוא הנתונים מקובץ JSON.
var url = "https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:Log/LogQueueAll.2023-06-12.ymgr&convertType=json¬LoadLang=0&token=sscqLkQQg";
// מציג את הקישור בלוג.
Logger.log("URL: " + url);
// מבצע בקשת HTTP GET לכתובת ה-URL ומקבל את התגובה.
var response = UrlFetchApp.fetch(url);
var content = response.getContentText();
// מציג את תוכן התגובה בלוג.
Logger.log("תוכן התגובה: " + content);
// ממיר את התוכן של התגובה לאובייקט JavaScript.
var jsonData = JSON.parse(content);
// מציג את הנתונים בלוג.
Logger.log("נתונים: " + JSON.stringify(jsonData));
var data = jsonData.data;
// מציג את הנתונים לפני המיון בלוג.
Logger.log("נתונים לפני המיון: " + JSON.stringify(data));
// ממיין את הנתונים לפי ערכי התא השני בכל שורה.
var sortedData = data.sort(function(a, b) {
var valueA = a["שעה"];
var valueB = b["שעה"];
if (typeof valueA === "string") {
valueA = valueA.toLowerCase();
}
if (typeof valueB === "string") {
valueB = valueB.toLowerCase();
}
if (valueA < valueB) {
return -1;
}
if (valueA > valueB) {
return 1;
}
return 0;
});
// מציג את הנתונים לאחר המיון בלוג.
Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
// מנקה את כל התוכן בגיליון.
sheet.getDataRange().clearContent();
// מכניס את הנתונים הממוינים לגיליון מהתא A1 והלאה.
if (sortedData.length > 0) {
var numRows = sortedData.length;
var numColumns = 8;
var rangeValues = [];
for (var i = 0; i < numRows; i++) {
var rowData = [];
rowData.push(sortedData[i]["שלוחה"]);
rowData.push(sortedData[i]["טלפון"]);
rowData.push(sortedData[i]["שעה"]);
rowData.push(sortedData[i]["מצב התור"]);
rowData.push(sortedData[i]["אורך המתנה למענה"]);
rowData.push(sortedData[i]["אורך מענה שיחה"]);
rowData.push(sortedData[i]["מספר שענה"]);
rowData.push(sortedData[i]["QueueRecordPath"]);
rangeValues.push(rowData);
}
sheet.getRange(1, 1, numRows, numColumns).setValues(rangeValues);
}
// הודעת רישום
var executionTime = new Date();
var functionName = "importAndSortData";
var logMessage = "פונקציה " + functionName + " בוצעה בהצלחה בתאריך " + executionTime + ".";
Logger.log(logMessage);
// מציג את הנתונים הממוינים בלוג.
Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
// מציג את טווח הנתונים בגיליון בלוג.
Logger.log("טווח הנתונים: " + sheet.getDataRange().getA1Notation());
}