微信扫码
和创始人交个朋友
我要投稿
PowerBI 新技巧,DeepSeek 让你轻松实现动态滚动表格效果。核心内容:1. PowerBI 表格动态滚动展示的普遍需求与难点2. DeepSeek 与 SVG 结合实现动态滚动表格的步骤3. 通过 DeepSeek 调试优化,实现标题居中、背景颜色自定义等功能
在 PowerBI 报告中展示可滚动的表格,是一个相当普遍的需求。然而,PowerBI 自身的表格和矩阵功能仅支持静态效果,无法实现数据的动态滚动展示。借助 SVG 代码虽可达成这一目标,但并不是每个人都会用SVG,因此之前想要实现这一需求并非易事。
附件是PowerBI报告的TMDL脚本,请你分析这个模型,并帮我用SVG代码生成一个滚动表格的度量值,表格中体现的是每个产品的零售价、销售数量、销售额和利润等信息,要求表格第一行标题固定,连续循环滚动,背景透明。
滚动表格 =
VAR RowHeight = 35 // 行高
VAR FontSize = 12 // 字体大小
VAR TableWidth = 800 // 表格总宽
VAR ColCount = 5 // 列数
VAR ColWidth = TableWidth / ColCount
VAR VisibleRows = 5 // 可见行数
VAR TotalHeight = (VisibleRows + 1) * RowHeight
VAR AnimationDuration = 15 // 滚动速度(秒)
// 列中心坐标计算(兼容DAX语法)
VAR Col1_X = ColWidth * 0 + ColWidth/2
VAR Col2_X = ColWidth * 1 + ColWidth/2
VAR Col3_X = ColWidth * 2 + ColWidth/2
VAR Col4_X = ColWidth * 3 + ColWidth/2
VAR Col5_X = ColWidth * 4 + ColWidth/2
// 数据准备(含行索引)
VAR Data =
ADDCOLUMNS(
SUMMARIZE(
'产品表',
'产品表'[产品名称],
"零售价", MAX('产品表'[零售价]),
"销售数量", CALCULATE(SUM('订单表'[销售数量])),
"销售额", CALCULATE(SUM('订单表'[销售额])),
"利润", CALCULATE(SUM('订单表'[利润]))
),
"RowIndex", RANKX(ALL('产品表'), '产品表'[产品名称], , ASC, Dense)
)
VAR RowCount = COUNTROWS(Data)
// 标题垂直居中修正(核心修改点)
VAR HeaderY = RowHeight/2 + FontSize/3 // 精确垂直居中公式
VAR Header =
"<text x='0' y='" & HeaderY & "' font-size='" & FontSize & "'
fill='white' font-weight='bold'
dominant-baseline='middle'
text-anchor='middle'>
<tspan x='" & Col1_X & "'>产品名称</tspan>
<tspan x='" & Col2_X & "'>零售价</tspan>
<tspan x='" & Col3_X & "'>销售数量</tspan>
<tspan x='" & Col4_X & "'>销售额</tspan>
<tspan x='" & Col5_X & "'>利润</tspan>
</text>"
// 数据行模板(同步垂直居中)
VAR DataRows =
CONCATENATEX(
Data,
VAR YPosition = [RowIndex] * RowHeight
RETURN
"<g transform='translate(0," & YPosition & ")'>
<text y='" & HeaderY & "' font-size='" & FontSize & "'
fill='white' dominant-baseline='middle' text-anchor='middle'>
<tspan x='" & Col1_X & "'>" & '产品表'[产品名称] & "</tspan>
<tspan x='" & Col2_X & "'>¥ " & FORMAT([零售价], "#,0") & "</tspan>
<tspan x='" & Col3_X & "'>" & FORMAT([销售数量], "#,0") & "</tspan>
<tspan x='" & Col4_X & "'>¥ " & FORMAT([销售额], "#,0") & "</tspan>
<tspan x='" & Col5_X & "'>¥ " & FORMAT([利润], "#,0") & "</tspan>
</text>
</g>",
UNICHAR(10)
)
// 动画逻辑(无缝滚动)
VAR AnimatedContent =
"<g transform='translate(0," & RowHeight & ")'>
<animateTransform
attributeName='transform'
type='translate'
from='0 0'
to='0 -" & (RowCount * RowHeight) & "'
dur='" & IF(RowCount <= VisibleRows, 0, AnimationDuration) & "s'
repeatCount='indefinite'/>
" & DataRows & DataRows & "
</g>"
RETURN
"data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg'
width='" & TableWidth & "'
height='" & TotalHeight & "'
viewBox='0 0 " & TableWidth & " " & TotalHeight & "'
style='background:transparent;font-family:Segoe UI'>
<!-- 固定标题栏 -->
<rect width='100%' height='" & RowHeight & "'
fill='rgba(75,183,218,1)' rx='3'/>
" & Header & "
<!-- 滚动遮罩 -->
<mask id='scrollMask'>
<rect width='100%' height='" & (TotalHeight - RowHeight) & "'
y='" & RowHeight & "' fill='white'/>
</mask>
<!-- 滚动内容 -->
<g mask='url(#scrollMask)'>
" & AnimatedContent & "
</g>
<!-- 装饰性边框 -->
<rect width='100%' height='100%'
fill='none' stroke='#555' stroke-width='1'/>
</svg>"
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-22
对话式BI革命:WrenAI如何让老板秒懂企业数据?
2025-02-22
TiDB Chat2Query 深度解析:我们如何打造一款更高效、准确的智能 SQL 生成工具?
2025-02-20
基于 LLM 的查询扩展:信息更全,搜索更准
2025-02-20
滴滴ChatBI技术实践:智能数据分析的前沿探索与应用
2025-02-19
腾讯开源的!厉害!新一代的BI平台
2025-02-16
秘塔AI:更好的DeepSeek R1搜索体验
2025-02-16
搜索要变天了!微信直接接入DeepSeek,首度内测AI功能
2025-02-15
AI 驱动下的智能问数,将BI嵌入到聊天中
2024-06-20
2024-10-14
2024-06-16
2024-06-14
2024-10-09
2024-05-31
2024-06-14
2024-07-03
2024-07-24
2024-06-06
2025-02-22
2025-02-22
2025-01-30
2025-01-22
2025-01-13
2025-01-07
2025-01-02
2024-12-25