乐于分享
好东西不私藏

【PBI】AI Chat 视觉对象分享

【PBI】AI Chat 视觉对象分享
本来是说希望自己能够每月写一篇的,现在都4月了,哈哈😄
今天分享的就是这段时间的成果了,之前看其他分享PBI的内容,其中有个关于AI的分析,我觉得挺好,但是分享要钱,要加入星球,对于我来说就是:免费可以,要钱不行😛
所以自己弄了个视觉对象,把我自己在服务客户中能够碰到的问题一并解决,做个更加通用的(保命,功能还在不断的完善,想到什么就加什么,但一定是比较通用的内容,之前的HTML那个可以废弃了,这个不需要什么浏览器安全限制了)
公共web链接如下,没做适合手机的页面,建议是电脑上打开:

https://app.powerbi.cn/view?r=eyJrIjoiOTdhNjRjMDctOGFkOS00MDdhLTk1NjUtOGZiNmJhZmVhNWIxIiwidCI6IjU5MzgyYjljLTE1OTEtNGNhMC05OTQ2LWVjMWUwOGM1MjYxNCJ9

把重要的内容放开始:

1、数据隐私与安全性:

  • 在设置界面中有专门的隐私开关,开启后的逻辑就是把所有的文字内容在发送给AI之前先全部替换掉,比如门店名称、商品名称之类的,都替换成ID_0001这样的形式,基本上是考虑了隐私问题了,数字是不会做替换的,只替换包含文本的列

  • 数据是按照筛选器发送的,比如有10年的数据,报表页面中筛选了1天,那么发送的数据就是1天的数据

2、速度:首先看用的大模型的速度,其次使用了两次发送,第一次发送的是模型字典和提问内容,让大模型去判断需要哪几列,大模型返回需要哪几列,在视觉对象中进行聚合,再发送数据让大模型进行分析

举个例子:

  1. 在设置的【业务数据】中,拖入门店、产品、销售额

  2. 提问,分析下各店的销售额

  3. 下面的内容在后台,前台看不见,可以开启流转明细----------

  4. 先发送模型字典,告诉大模型中,我有三列【门店、产品、销售额】,现在客户提问:分析下各店的销售额,你判断下该保留哪些数据

  5. 大模型返回保留门店列、销售额列

  6. 前台按照门店列、销售额列进行聚合汇总,如果开了隐私模式,再将门店列中的内容进行替换,ID001、ID002、ID003这样的形式

  7. 发送给大模型

  8. -------------------

  9. 大模型返回分析结果

  10. 前台把ID001、ID002这种再替换回原来的内容

  11. 生成分析、图表、筛选按钮

3、你没看错,生成的回答是可以进行筛选报表的,主要就是用在筛选异常,比如大模型觉得这个有异常,就会生成一个按钮,你在回答中就可以直接点击按钮,可以筛选整个报表(当然了,这个筛选还需要再精进,目前在Qwen、LongCat、DeepSeek中,Qwen模型是回答的最好的,longcat基本不给筛选,而且生成的筛选按钮有概率出现不能生效的问题)

4、使用的模型可以自定义,国内模型都没问题,国外模型你也没法用,使用openai格式url,具体的现在应该算是基础知识了,不赘述

5、数据量:受限于大模型的上下文,如gemini可以1M上下文,就可以分析很多数据,目前设置的行数上限是30万

6、github中开源,随意使用(不过我还没上传,等等啊,我有拖延症

7、能够在公共web中使用,这个我最需要了

8、在公共web中使用的话,api key是暴露的,如果使用者会用浏览器的F12功能,可以很简单的找出key的,所以需要点动手能力,进行api key的转发,这个我是放在后面再改进的,因为对我暂时不重要,后续再写教程怎么弄吧,或者AI一下也是挺简单的,不过这个我得标重点

看到这里还有兴趣的,下面就是详细的说明了

目前实现的界面和功能如下,可能需要点开看比较清楚点:
先来看主界面:
1、顶部是标题和清空、导出按钮:
  • 标题可以在设置界面中改内容
  • 清空按钮:清空对话框中的内容,因为上下文会影响AI的判断,当调整了报表的筛选之类的,建议清空下内容,从头开始
  • 导出按钮:这个按钮就是如说明,可以导出对话框中的聊天内容,因为对话框中报表用的chart组件,所以导出之后只能是明细表,无法导出图表(这个我正在思考怎么办,目前是导出明细表),受限于PBI的安全设置,导出实际上是复制到剪贴板,按下导出之后,随便打开一个MD编辑器、Word之类的,Ctrl+V一下就可以了
2、Tab页:分为数据分析页和DAX助手页,这两个Tab都可以在设置界面中开关,如果全部关闭就是一个欢迎界面,两个都开就是有这个tab,开一个就没有
  • 数据洞察页就是AI聊天框了,在对话框中输入你需要的分析,然后AI返回结果
  • DAX助手:这个是用来写度量值的,但需要一丢丢的步骤,用TE或者DAX studio导出下表和关系,就可以让大模型写度量值了,增值功能,随便用用,但不是主要的,里面有详细的说明,照着做就行,挺简单的
3、快捷指令:如快速洞察、洞察计划、10月销售,这几按钮
  • 快速洞察按钮可以在设置界面中自定义,这个主要就是快速填入提示词,大模型按照提示词返回结果
  • 洞察计划、10月销售,这两个按钮是通过度量值,拖入视觉对象设置中的快捷指令中即可,其实也是prompt,度量值很简单,如 
洞察计划 ="请对当前的业务数据进行全面洞察,指出核心指标的变化趋势、异常值,并给出业务建议。"10月销售 = "请分析下各店10月销售情况,并找到异常点"
可以拖入很多,如果没有的话默认就一个快速洞察按钮
4、列表框中的“试试这样问我”,就是按照拖入的维度和度量值自动生成的快速按钮
5、最下面的对话框就不说了,回车发送,Shift+Enter 换行
基本上主要界面就是这些了
右侧的设置页面:
  • 业务数据:就是发送给AI的列,设置上限50个
    • 小建议:不建议把日期列拖进去,年月还行,星期也可以接受,但天、小时的话,数据一定会超上限30万行,不考虑大模型的上下文限制的前提下,超过30万行的数据一定会被截断,分析就不对了
  • 系统提示词:就是prompt,可以写个文本度量值拖进去,把你的业务逻辑、计算方式什么的都拖进去,会和数据一起发送给AI,增加回答的业务逻辑
  • 快捷指令:上面有说,不重复,但有个注意就是如果有多种业务逻辑的话,建议用快捷指令,如果你的分析报表页面使用的是同一个业务逻辑,那么放在系统提示词可能比较好
格式设置:
  • 大模型设置就是基础内容了,不重复
  • 界面设置:就是标题、颜色、快速洞察按钮
  • AI模块开关:
    • 数据洞察和DAX助手就是tab页中的两个功能
    • 显示流转明细:我自己是用来作为调试使用的,可以看给AI发送了哪些字段、字符统计、token预估(这个不准确,只是大概),有没有问题,发送的数据只显示前3行
    • 数据隐私脱敏:就是前文所述,给文本列脱敏用的,如果隐私不重要,关掉也行,自行决定
目前就这些功能,主要是我自己的需求还在变化,后续会看能力增加或修补(现在AI这么方便,我也用了AI编程,但是AI编程的问题就是太啰嗦,有时候明明很简单的功能,一定要写的很复杂,当然了写出来的能用😄)
来看看结果:
正在回答界面,开启隐私、开启流转明细
AI返回的回答,其中蓝色部分就是筛选按钮(目前这个联动分析还是有bug,时灵时不灵的,灵的时候也会有偶发bug,异常查找中)
导出按钮,复制到MD文件中的情况,主要就是图表变成明细了
DAX助手
这个稍微展开说明下:
1、如果只是用大模型写度量值,其实有外部工具的
https://github.com/yczx001/PBIClaw/releases
安装之后可以直接连接模型,用AI写度量值,既然有免费的就不重复造轮子了
2、用提取脚本做的作用就是把模型中的表、列、类型、关系都提取出来,再填入模型字典中后,可以让AI知道你的模型关系,写出来的度量值更准确,我只是不想装一个外部工具而已
后续的优化
1、目前在拖入超明细的数据的时候,筛选数据会有转圈圈的情况,这个应该是读取数据的加载,我看看怎么修改下加载逻辑,让体验更丝滑点
2、主动数据异常侦测:这个我还没想好,但我觉得挺有用的,先想着
3、 流式输出:还有bug,尤其在出图表的时候,因为图表输出的是json格式,流式输出的时候会被截断造成图表生成失败
4、意图澄清与多步推理向导:当你的问题意图不明确的时候,返回几个按钮问你是不是想要分析这种结果什么的,挺麻烦的,但应该是能够实现的
5、一键 PPT 自动化,这个受限于pbi的安全限制,大概率很难实现,我连导出MD文件都没法实现,但我想试试,毕竟很好玩😄
6、API Key 的转发隐藏:这个必须要后台了,找找免费的方案
7、多模态:先试过,巨量bug,用了Qwen、gemini竟然都没搞定,bug一堆,搞得我直接推翻换到第一版,不过只是好玩,感觉用处不大,主要还是手机版搞不定是吧
最后是下载地址,度盘,欢迎反馈奇怪的bug,功能建议等等

链接:https://pan.baidu.com/s/1DBaGQtxKMSEs_MzDIaYXqA?pwd=9iop 

提取码:9iop

以上,感恩