一月下旬新内容速递丨地理智能、函数实战与新春启航

年末将至,智慧不停!一月下旬更新聚焦地理智能、函数实战、二次开发与新春趣味活动,助你在数据探索中持续突破!

一、图表应用精选

【地图】GIS地图:告别平面报表,激活你的业务“地理智能”》→学习GIS地图应用,实现业务数据与地理信息的深度融合。
【散点图】商业世界的“关系侦探”》→掌握散点图在商业分析中的实战应用,洞察变量间的隐藏关系。

二、二次开发视频更新

Excel导入模板扩展数据处理类》→如何让导入的“1”和“0”自动变成“是”和“否”

三、函数应用进阶

【函数课堂】Fixed :数据计算中的“定海神针”》→系统讲解Fixed函数的使用场景与技巧,助你掌握数据计算的稳定性关键。

四、插件更新

离线导出功能集成阿里云OSS》→新增离线导出至阿里云OSS功能,提升数据导出安全性与存储灵活性。

五、新年活动进行中

新年第②弹|新春知识擂台:智慧解码,喜迎新年!》→新春特别活动,智慧解码挑战,喜迎新年好运!

六、任务持续上线

【图表应用】GIS地图诊断市场盈亏,制定精准策略》→掌握GIS地图分析技能,精准诊断市场表现,助力策略制定。
【函数】Fixed函数实战任务》→深入Fixed函数实战应用,提升数据计算稳定性和精准度。
【图表应用】散点图:你的“广告效果侦查局”已上线!》→运用散点图分析广告效果,成为数据驱动的“侦查高手”。
【新年活动】智慧解码擂台:挑战你的数据脑力!》→参与数据解码挑战,激活你的逻辑思维与分析能力。

地理智能赋能业务,函数实战夯实基础,新春活动智趣相融——一月下旬,与数据共赴新年新征程!

麦粉社区
>
帖子详情

通过宏代码隐藏交互式仪表盘中明细表里的某一列。

数据分析 发表于 2025-3-11 11:28
发表于 2025-3-11 11:28:38

系统版本信息:Version: 11.0.89539.24122


 


场景如下:在一个明细表中通过点击某个人的身份证号码,跳转到他个人的详情信息页,因为身份证号码进行脱敏处理了,所以需要添加一个未脱敏的证件号码字段作为参数,但这个未脱敏的证件号码列没脱敏,所以需要隐藏。


 


下图为一个简单的测试表格,是明细表组件,现在需要隐藏证件号码列。




 


由于本人对于JavaScript代码并不熟悉,只能上网查询,以及通过deepseek等AI工具来编写,试了很多种方法,一次都没成功。


 


如图,这是找到的最简单的代码,方法是客服说的,但是报错,请看截图:




 


上面这个失败,后面 AI又给了个代码:


function main(page, component) {
    try {
        // 1. 定义目标列名
        const targetColumnName = "证件号码"; // 按实际列名修改


        // 2. 延迟执行,确保 DOM 加载完成
        setTimeout(() => {
            // 3. 隐藏表头和数据列
            const headers = document.querySelectorAll("th"); // 获取所有表头
            const cells = document.querySelectorAll("td");  // 获取所有数据单元格


            headers.forEach(header => {
                if (header.innerText.trim() === targetColumnName) {
                    header.style.display = "none"; // 隐藏表头
                }
            });


            cells.forEach(cell => {
                if (cell.innerText.trim() === targetColumnName) {
                    cell.style.display = "none"; // 隐藏数据单元格
                }
            });


            console.log(`列 "${targetColumnName}" 隐藏成功!`);
        }, 1000); // 延迟 1 秒确保 DOM 加载完成
    } catch (e) {
        console.error("DOM 操作失败:", e);
    }
}


 


显示隐藏成功,但是无论是刷新页面、预览页面、刷新缓存之后,仍然没有隐藏,如下图:



 



期间有通过AI给的方法来


确认组件类型,如下图:




 


折腾了大半天,最终还是没有解决,希望各位大佬帮忙看看,感激不尽。


 

发表于 2025-3-11 13:36:15
4973467cfcbce7f173.png

回复

使用道具 举报

发表于 2025-3-11 13:37:37
列号从0开始
回复

使用道具 举报

发表于 2025-3-11 14:35:51
回复

使用道具 举报

发表于 2025-3-11 15:27:54
/******************************宏代码说明******************************
* version:Smartbi V11
* 类型:ClientSide
* 对象:交互仪表盘
* 事件:onAfterRender
* 效果描述:隐藏清单表或汇总表指定的列
* 是否可修改:是,需要更新对应war版本,具体版本已在文档中进行说明
*********************************************************************/
// 隐藏列序号,序号从0开始:隐藏第一列和第三列: const indexes = [0,3]
const indexes = [6];
function main(page: IPage, portlet: ITableListPortlet) {
    let type = portlet.getType();
    if (type != "TABLE_DETAIL_LIST" && type != "TABLE_LIST2") {
        return;
    }
    for (let index of indexes) {
        portlet.hideTableColumn(index);
    }
}
回复

使用道具 举报

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

8回帖数 0关注人数 1619浏览人数
最后回复于:2025-3-11 15:27

社区

指南

快速回复 返回顶部 返回列表