PowerBI HtmlContent生成表格

发布于:2025-06-22 ⋅ 阅读:(15) ⋅ 点赞:(0)

假设有销量表:

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函数去遍历[产品]

3. 把度量值拖入Html Content的Value字段:

4. 效果:

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


网站公告

今日签到

点亮在社区的每一天
去签到