Google Chart API 显示错误值

问题描述 投票:0回答:1

对于某个特定用户,表中的数字显示错误。数据直接来自数据库。数据库或后端没有问题。我附上问题的图片。连同代码片段。

       var salesJson = JSON.parse("{{ DSsales | escapejs }}");
       var sales = new google.visualization.DataTable(salesJson, 0.6);
const drawTableB = function (
           aggregateArr,
           groupByArr = [0],
           datatable = sales
           ) {
           const aggregateObjArr = aggregateArr.map((x) => {
               return {
                   column: x,
                   aggregation: google.visualization.data.avg,
                   type: "number",
               };
           });
           console.log(groupByArr)
           const table_B_view_1 = google.visualization.data.group(
               datatable,
               groupByArr,
               aggregateObjArr
           );

           const table_B_options = {
               allowHtml: true,
               title: "Opening by Brand Current Month vs Previous Month",
               alternatingRowStyle: false,
               cssClassNames: {
                   headerCell: "table-header-cells",
                   tableCell: "table-row-cells",
               },
               width: "100%",
               height: "100%",
               sort: "disable",
           };
document.getElementById("table_B_card").classList.remove("d-none");
           var table_B = new google.visualization.Table(
               document.getElementById("table_B")
           );
           table_B.draw(table_B_view_1, table_B_options);
       }

javascript charts google-chat google-datatable
1个回答
-1
投票

确保替换 {{ DSsales | escapejs }} 与 salesJson 的实际数据源。此外,请检查其余代码是否存在可能影响 Google Charts API 行为的任何潜在问题。如果您遇到特定错误或意外行为,请提供更多详细信息,以便我可以为您提供进一步帮助。

const drawTableB = function(aggregateArr, groupByArr = [0]) {
    try {
        // Parse JSON data
        const salesJson = JSON.parse("{{ DSsales | escapejs }}");

        // Initialize DataTable
        const sales = new google.visualization.DataTable(salesJson, 0.6);

        // Map aggregate columns
        const aggregateObjArr = aggregateArr.map(column => ({
            column,
            aggregation: google.visualization.data.avg,
            type: "number"
        }));

        // Group data
        const table_B_view_1 = google.visualization.data.group(
            sales,
            groupByArr,
            aggregateObjArr
        );

        // Table options
        const table_B_options = {
            allowHtml: true,
            title: "Opening by Brand Current Month vs Previous Month",
            alternatingRowStyle: false,
            cssClassNames: {
                headerCell: "table-header-cells",
                tableCell: "table-row-cells",
            },
            width: "100%",
            height: "100%",
            sort: "disable",
        };

        // Update DOM element
        document.getElementById("table_B_card").classList.remove("d-none");

        // Draw table
        const table_B = new google.visualization.Table(
            document.getElementById("table_B")
        );
        table_B.draw(table_B_view_1, table_B_options);
    } catch (error) {
        console.error("Error drawing table:", error);
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.