十一月上旬更新速递丨 数据与 AI 技术深耕、场景应用拓展与开发进阶实战

秋意正浓时,智能征程不止步!十一月上旬欢度14周年,聚焦数据与AI领域的知识深化、场景化应用落地、技术开发进阶,从理论到实战的全链路能力提升!

一、14周年活动

《14周年·探索乐章 | 寻藏宝图,挖掘社区金矿(已更新1-9关卡)开启一场知识寻宝探险之旅,重温与思迈特并肩成长的温暖时光!

《14周年·温情乐章|写下专属祝福,传递温暖情谊为思迈特14周年注入一份温度,也为这份同行之谊添上一抹亮色!

《14周年·荣誉乐章 | 星光致敬,表彰贡献榜样→回馈大家对社区生态的倾心建设,感谢每一位共建者的热忱与坚守!

二、场景应用

《构建“战略-业务-数据”三层指标体系(体系篇)》→“战略-业务-数据”三层指标体系是AIChat听懂的坚实的底层支撑。

三、术经验分享

《【专家分享】用Smartbi快速搞定数据刷新,老板看了都说好!》→掌握了数据刷新“提速”秘籍:告别滞后,让数据“实时在线”!

《【专家分享】数据排序的“权力游戏”:优先级规则决定谁先谁后》→提供了数据排序指南:破解多指令冲突,明确 “谁先生效”!

四、二次开发视频

扩展包开发前端改造了解前端改造的基本方法与实现流程、如何在Smartbi扩展包中修改CSS样式、扩展JS组件。

、任务持续上线

《【场景实战】数据驱动决策全流程实战:dws层数据处理》→深入数据决策,提升数据整合与维度设计能力,挑战成功即可获得麦豆奖励!

《【AIChat入门闯关计划】-随机掉落小测试》→快速检验AIChat知识漏洞,巩固核心概念。接受挑战即可获得麦豆奖励。

为进一步提升认证服务的质量与体验,我们对认证业务进行全面优化升级。更多详情请看Smartbi认证考试优化升级公告

麦粉社区
>
帖子详情

交互式仪表盘依据参数跳转至不同报表

数据分析 发表于 2025-1-21 13:15
发表于 2025-1-21 13:15:07

交互式仪表盘中如何设置依据参数不同跳转至不同的报表?


如 柱状图中x轴为部门,y轴为年度费用


点击某根柱子,跳转到对应部门的费用报表(这些报表是不同的交互式仪表盘)


 


电子表格的那个跳转规则 好像没办法设置


有没有直接在组件,或者仪表盘中设置的方法,因为柱状图本身 还有鼠标hover事件

发表于 2025-1-23 08:43:02

已解决,重点用到了IPageIEChartsPortlet 具体参考IPage | 自助仪表盘宏接口文档


function main(page: IPage, portlet: IEChartsPortlet) {
    let chartInstance = portlet.getChartInstance();
    let yearOther = page.getPortletsByTitle("年")[0] as IFilterPortlet;
    let yearParams = yearOther.getDisplayValue()[0];
    let monthOther = page.getPortletsByTitle("月")[0] as IFilterPortlet;
    let monthParams = monthOther.getDisplayValue()[0];
    chartInstance.on('click', function (params) {
        let str = params.name;
        let endStr = str.indexOf("$");
        let compName = str.substring(0, endStr);
        let query = {
            paramInfo: [{ name: '年', alias: '年', value: yearParams, displayValue: yearParams },
            { name: '月', alias: '月', value: monthParams, displayValue: monthParams },
            { name: '公司', alias: '公司', value: compName, displayValue: compName }
            ]
        };
        if (compName == 'A公司' || compName == 'B公司' ) {
            page.openResourceByType('1仪表盘ID', query, 'NEW_WIN')
        } else if (compName == 'C公司') {
            page.openResourceByType('2仪表盘ID', query, 'NEW_WIN')
        } else {
            page.openResourceByType('3仪表盘ID', query, 'NEW_WIN')
        };
    });
}

几个注意事项



  • 我前面的年、月是仪表盘的公共参数,并不是此组件的(需要用到IFilterPortlet)

  • params并不太清除是为什么能传入进去,console.log确实能打印出来相关内容


  • openResourceByType 如果后面是NEW_TAB 前提条件是本身这个是以TAB形式打开的,若是以单独窗口打开的 这个设置的表现将是页面没有任何反应


  • 接口都指定了版本,如IPage|openResourceByType| 自助仪表盘宏接口文档

  • 如果你的x轴是拼接的,需要参考let compName = str.substring(0, endStr) 处的内容进行拆分(多用console.log 解析即可)


回复

使用道具 1 举报

发表于 2025-1-21 13:15:08
设置一个dblclick事件,获取x轴的数据,然后写一个if,根据不同的值执行不同的打开事件

回复

使用道具 举报

发表于 2025-1-21 13:59:59
蹲个大佬

回复

使用道具 举报

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

本版积分规则

10回帖数 1关注人数 1708浏览人数
最后回复于:2025-1-23 08:43
快速回复 返回顶部 返回列表