PowerBI HtmlContent生成表格

假设有销量表:

1.PowerBI 导入 Html Content对象,并拖入报表

2.新建度量值:

复制代码
度量值 = 
VAR colCount = DISTINCTCOUNT('销量'[产品])
VAR ColumnHeaders = 
    "<tr><th style='border:1px solid black; padding:5px; text-align:center;' colspan="&colCount&">销量统计</th></tr>"
VAR ColumnList = 
    CONCATENATEX(//遍历'销量'[产品],并组装<td>
                DISTINCT(SELECTCOLUMNS('销量', "col", '销量'[产品])),
                "<td style='border:1px solid black; padding:5px; text-align:center;'>" & [col] & "</td>",
                ""
    )
VAR DataRow = 
    CONCATENATEX(//遍历'销量'[产品]
        DISTINCT(SELECTCOLUMNS('销量', "col", '销量'[产品])),
        VAR CurrentValue = [col]
        VAR FilteredData = 
            FILTER('销量', '销量'[产品] = CurrentValue)//根据每个产品的值,去取对应的销量值
        VAR SumValue = SUMX(FilteredData, '销量'[销量])
        RETURN
            "<td style='border:1px solid black; padding:5px; text-align:center;'>" & SumValue &
            "</td>",
        ""
    )

RETURN
    "<table style='border:1px solid Grey; border-collapse:collapse; width:640px'>" &  
        "<tr>" & ColumnHeaders & "</tr>" & 
        "<tr>" & ColumnList & "</tr>" &
        "<tr>" & DataRow & "</tr>" & 
    "</table>"

解释一下,关键在于CONCATENATEX函数,它可以遍历 销量表的[产品]字段的值,并把它拼接成table的column header。

计算每个产品对应的销量,也是用CONCATENATEX函数去遍历[产品]

  1. 把度量值拖入Html Content的Value字段:
  1. 效果:

优点是可以实现一些表格和矩阵无法实现的复杂界面,缺点是不能与其他视觉对象进行交互

相关推荐
宝桥南山2 天前
Microsoft Fabric - 尝试一下使用Shortcut Transformation进行数据同步
microsoft·ai·微软·database·powerbi·fabric
SL-staff7 天前
中小企业 BI 选型:帆软、Power BI、JVS-BI 性价比与架构对比
数据分析·数据可视化·powerbi·帆软·bi工具·部署架构·jvs-bi
哥本哈士奇8 天前
Power BI学习笔记第12篇:DAX 高级计算与性能优化
powerbi
哥本哈士奇8 天前
Power BI学习笔记第17篇:Power BI Dashboard 常用布局方案推荐
前端·powerbi
哥本哈士奇9 天前
Power BI学习笔记第20篇:面试题汇总 · 第三篇:高级应用与最佳实践篇
powerbi
哥本哈士奇9 天前
Power BI学习笔记第19篇:面试题汇总 · 第二篇:数据建模与 DAX 篇
powerbi
哥本哈士奇9 天前
Power BI学习笔记第05篇:DAX 基础:计算列与度量值
powerbi
哥本哈士奇9 天前
Power BI学习笔记第06篇:DAX 进阶:时间智能与复杂计算
powerbi
哥本哈士奇10 天前
Power BI学习笔记第09篇:Power BI Service 发布与共享
powerbi
哥本哈士奇10 天前
Power BI学习笔记第13篇:高级可视化与自定义图表
powerbi