九月下旬更新速递丨 AI赋能、技术实战与智能探索

金秋九月,下旬更新携AI发布会回放、丰富实战案例与进阶开发资源强势登场!助您深化技术理解,加速智能应用落地!

重点推荐Smartbi AIChat V4发布会圆满落幕!发布会精彩内容已完整上架,随点随看,深度回顾!共同步入智能新纪元!点击观看Smartbi AIChat V4发布会全程回放

麦学堂同步上架,加速学习

【Smartbi AIChat全新升级发布会根据不同篇章提炼上架,方便您按需定位,快速直达重点环节,高效吸收核心内容!

十分钟完整体验AIchat→ 只要10分钟时间,即可使用自己的本地数据快速体验AIChat所有功能。

一、任务持续上线

场景实战系列任务:数据处理,赢取278麦豆!通过实战任务巩固技能,真正掌握数据驱动的企业决策全流程

【BI知识闯关】数据回写填报太头疼?方案请收好!》→破解填报难题,提升数据处理效率。

【AI每日一学知识巩固】为什么Python 是目前人工智能领域最常用的编程语言》→深入解析Python在AI领域的优势,巩固编程基础。

二、实战技巧分享

数据回写填报太头疼?方案请收好!》→聚焦六大常见回写场景,拆解每类场景的实现思路,带您清晰掌握 Smartbi 数据回写的实操逻辑。

、开发技能突破

自定义计划任务案例 进一步了解自定义计划任务,从而提升自定义任务的开发效率和能力。

四、AI每日一学

【AI每日一学】为什么Python 是目前人工智能领域最常用的编程语言》→探讨Python为何能成为人工智能领域最常用的编程语言。

【AI每日一学】简单总结一下AI Agent的五个发展阶段从简单的指令响应到复杂的多智能体协作,AI Agent正逐步向着更拟人、更通用的方向演进。

五、全新素材上线

科技指标卡底座(二)→科技感视觉主题,深色科技风跃动,光线流动引爆焦点!

按需管控:业务人员导出最大行数设置在“导出规则”中,“导出动作”增加“部分导出”的选项

屏蔽“我的工作区”根据角色控制,屏蔽产品中“我的工作区”目录的功能,同时,对于该模块下的资源进行“保存”或者“另存为”,以及“移动到”时,对应的弹出框都不会显示“我的工作区”目录。

数据预警:异常数据可以落地到知识库在“预警推送”中,“推送渠道”增加“数据库”的选项,可以把异常数据存储到“知识库”的表中。

同一账号不能同时登录同一账号不能同时登录,后登录踢出先登录。


六、行业方案上线

汽车制造-财务数字化分析决策平台方案“核账型财务”向“经营型财务”升级

汽车制造-媒介平台ROI实时分析需求解决方案在激烈的市场竞争中,汽车行业对广告投放精准性要求极高,打破决策延时,敏捷响应时长,解决资源浪费,提升广告投放ROI!

为进一步提升认证服务的质量与体验,我们对认证业务进行全面优化升级。更多详情请看→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关注人数 1506浏览人数
最后回复于:2025-1-23 08:43
快速回复 返回顶部 返回列表