十二月下旬内容焕新丨技能实战、智慧提效与生态拓展

年终冲刺,进步不停!十二月下旬新内容聚焦技能实战、智慧提效、场景解析与开发拓展,助你在数据与智能的浪潮中更进一步!

一、场景化课程上线完结

驱动增长:汽车制造营销分析主题课程→聚焦汽车行业营销场景,学习如何利用数据驱动业务增长。

价值引擎:汽车制造财务分析主题课程→深入财务数据分析,助力企业价值挖掘与决策支持。

二、场景应用上线

【漏斗图】漏斗洞察:三分钟,看透流程的每一步→ 快速掌握漏斗分析,优化业务流程效率。

模型篇:如何构建支撑AlChat的证券数据模型》→ 解析证券行业数据模型构建,赋能AI助手智能基础。

【地图】先导篇:一眼看透数据在空间中的故事→ 入门地图可视化,发现数据背后的地理逻辑。

【地图】区域地图:直观对比,掌控全局→ 学习区域地图制作,实现跨区域数据对比分析。

三、技术经验分享

乱码大作战:从“乱码地狱”到“数据天堂”的爆“效”指南》→ 攻克数据乱码难题,带你高效实现数据质量的跃升。

四、二次开发视频

扩展包开发知识点——知识库升级以及查询对象》→ 深化扩展包开发能力,学习知识库升级与查询对象优化。

五、任务持续上线

【图表应用】绘制漏斗图,诊断转化瓶颈→ 学习漏斗图绘制,精准定位业务流程中的转化短板。

AlChat入门闯关计划 - 第二关》→ 继续AI助手探索之旅,掌握更智能的对话交互技能。

【图表应用】测测你是否真的“看懂”地图?》→ 检验地图图表理解能力,提升空间数据解读水平。

【场景实战系列】即席查询,赢取278麦豆!》→ 实战演练即席查询,灵活获取所需数据。

【场景实战系列】透视分析,赢取278麦豆!》→ 掌握数据透视技巧,实现多维度业务洞察。

【图表应用】区域地图在手,业绩分布一目了然→ 借助区域地图,直观掌握业务区域表现。

BI知识闯关】乱码大作战:从“乱码地狱”到“数据天堂”的爆“效”指南》→ 通过闯关巩固乱码处理知识,学以致用。

【调研】社区内容调研,1分钟即可得100麦豆!》→为了未来能为您提供更精彩的内容和活动,我们想聆听您的真实心声

六、全新素材上线

HTTP API接口测试工具》→ 提供便捷的接口测试支持,助力开发调试更高效。

七、互动活动开启

2025年售后服务问卷调研有奖活动》→ 参与调研反馈,助力产品优化,更有机会赢取好礼。

麦粉社区
>
帖子详情

表格设置与在线预览不一样

数据分析 发表于 2021-4-20 15:00
发表于 2021-4-20 15:00:20
表格设置为图1 54826607e7be9dc14d.png
在线预览为图2 223607e7be75c7c7.png



发表于 2021-4-20 16:22:48
怎么设置的?是否可以把设置界面截图?
回复

使用道具 举报

发表于 2021-4-21 09:09:20
30400607f7b2fbe92c.png 32779607f7b3f4d1b2.png
回复

使用道具 举报

发表于 2021-4-21 09:09:46
Jaylin 发表于 2021-4-20 16:22
怎么设置的?是否可以把设置界面截图?

您看一下三楼我的截图
回复

使用道具 举报

发表于 2021-4-21 09:11:38
Jaylin 发表于 2021-4-20 16:22
怎么设置的?是否可以把设置界面截图?

但是导出表格,显示是对的,就是在线预览不一样
回复

使用道具 举报

发表于 2021-4-21 20:35:19
这个目前支持不了。

/**
* 客户端宏
* 对象:spreadsheetReport
* 事件:onRenderReport
*/

可以用下面这个宏尝试:
function main(spreadsheetReport) {
    // 数据条位置配置信息,key为sheet名称或者照相机的名称
    // 例如"标题"表示对"标题"sheet页进行配置
   
    var config = {
        "Sheet1": [{
            // 数据条的区域
            area: {
                start: "D2"
            },
            // 数据条的位置:MID表示单元格中点值对齐,AUTO表示自动
            position: "MID"
        }]
    };
   
    spreadsheetReport.processConditionalFormattingsHTMLs_0331 = spreadsheetReport.processConditionalFormattingsHTMLs;
   
    spreadsheetReport.processConditionalFormattingsHTMLs = function (win) {
        var data = buildDataBarPositionData.call(this, config, win)
        var ret = spreadsheetReport.processConditionalFormattingsHTMLs_0331.apply(this, arguments);
        resetDataBarPositionData.call(this, data)
        return ret;
    };
}

// 重置数据条的位置
function resetDataBarPositionData(data) {
    if (!data || !data.result || data.result.length == 0) {
        return;
    }
    var result = data.result;
    for (var i = 0; i < result.length; i++) {
        result[i].td.style.backgroundPosition = result[i].marginLeft + "px" + " 50%";
        result[i].td._resetDataBarProcessed = true;
    }
   
    for (var i = 0; i < data.noneImageTdArray.length; i++) {
        /*if (data.options[i] !== "MID") {
            continue;
        }*/
        for (var j = 0; j < data.noneImageTdArray[i].length; j++) {
            
            var td = data.noneImageTdArray[i][j];
            if (!td.style.background || td._resetDataBarProcessed) {
                continue;
            }
            if (util.trim(td.innerHTML) == "0") {
                td.style.backgroundSize = "auto";
                td.style.backgroundPosition = "center";
                //if (data.options[i] !== "MID") {
                    td.style.backgroundPosition = "-10000px 50%";
                //}
            }
        }
    }
}

// 重置数据条的位置的数据
function buildDataBarPositionData(config, win) {
    var htmls = win.conditionalFormattingsHTMLs;
    var cellRange = win.cellRange || [0, 0, 0, 0];
    if (!htmls || !win.frameElement) {
        return;
    }
    // sheet
    var sheetName = this.sheetNames[this.currentSheetIndex];
    var name;
    if (win.frameElement == this.elemSheetFrame) {
        name = sheetName;
    } else {
        if (!win.frameElement.isCamera) {
            return;
        }
        name = sheetName + "/" + win.frameElement.name;
    }
    var options = config[name];
    if (!options) {
        return;
    }
    var tdArray = [];
    var imgWidths = [];
    var noneImageTdArray = [];
    for (var key in htmls) {
                var val = htmls[key];
                var p = this.parseCellIndex(key);
                var optionIndx = findMatchedOptionIndex.call(this, options, p);
                if (optionIndx === undefined) {
                    continue;
                }
                var td = this.getFrameCell(win, p[0] - cellRange[0] + cellRange[2], p[1] - cellRange[1] + cellRange[3]);
                if (!td) {
                        continue;
                }
        var img = td.getElementsByTagName("IMG")[0];
        if (img) {
            putArray(tdArray, optionIndx, td);
            putArray(imgWidths, optionIndx, img.clientWidth);
        } else {
            putArray(noneImageTdArray, optionIndx, td);
        }
    }
   
    var result = [];
    for (var i = 0; i < tdArray.length; i++) {
        if (!tdArray[i]) {
            continue;
        }
        var position = options[i].position;
        var tdValues = [];
        for (var j = 0; j < tdArray[i].length; j++) {
            var valueTd = tdArray[i][j].getElementsByTagName("TD")[0];
            if (!valueTd) {
                continue;
            }
            var val = util.trim(valueTd.innerHTML);
            tdValues[j] = val;
            
            if (position == "MID") {
                var tdWidth = valueTd.clientWidth;
                var marginLeft =  val.indexOf("-") == 0 ?
                        tdWidth/2 - imgWidths[i][j] - 1: tdWidth/2 - 1;
                if (val == "0") {
                    marginLeft = 0;
                }
                result.push({
                    td: tdArray[i][j],
                    marginLeft: marginLeft
                });
            }
        }
        
        if (position !== "MID") {
            var max = 0;
            for (var m = 0; m < tdValues.length; m++) {
                if (tdValues[m].indexOf("-") == 0) {
                    max = Math.max(max, imgWidths[i][m]);
                }
            }
            for (var j = 0; j < tdArray[i].length; j++) {
                result.push({
                    td: tdArray[i][j],
                    marginLeft: (tdValues[j].indexOf("-") == 0 ?
                        max - imgWidths[i][j] : max)
                })
            }
        }
    }
    return {
        result: result,
        noneImageTdArray: noneImageTdArray,
        options: options
    };
}

function putArray(arr, index, val) {
    if (!arr[index]) {
        arr[index] = [];
    }
    arr[index] .push(val);
}

function findMatchedOptionIndex(options, p) {
    for (var i = 0; i < options.length; i++) {
        var option = options[i];
        if (!option.area || !option.area.start) {
            continue;
        }
        var start = option.area._$start;
        if (!start) {
            start = this.parseCellIndex(option.area.start);
            option.area._$start = start;
        }
        if (p[0] >= start[0] && p[1] == start[1]) {
                    return i;
                }
    }
}
回复

使用道具 举报

发表于 2021-4-22 09:23:16
Jaylin 发表于 2021-4-21 20:35
这个目前支持不了。

/**

晕,我又看不懂
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

6回帖数 0关注人数 6078浏览人数
最后回复于:2021-4-22 09:23
快速回复 返回顶部 返回列表