
Power BI 导出行数很多的PDF表格时,会导致列标题滚动下翻时难以看到(PDF无法冻结标题)。这个时候如果标题重复,就可以避免这一问题。

使用DAX结合HTML制作表格,可以很方便实现上图效果,标题可以按指定规则重复。新建度量值:
HTML.表格.基础 =
VAR Table_Value =CONCATENATEX('门店',"
<tr>
<td>" & [门店] & "</td>
<td>" & FORMAT([M.销售额],"#,#") & "</td>
<td style='color:" & IF([M.业绩达成率]>=1,"green","red") & ";'>" & FORMAT([M.业绩达成率],"0.0%") & "</td>
</tr>")
VAR Table_Header = "
<tr>
<th>门店</th>
<th>销售额</th>
<th>业绩达成率</th>
</tr>"
--以上两个参数确定表格内容和标题
VAR HTML_Code = "
<style>
table {
font-family: Arial, sans-serif;
font-size: 16px;
border-collapse: collapse;
width: 100%;
}
th, td {
padding: 8px;
border: 1px solid #ddd;
word-wrap: break-word;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<table class='w-tooltip'> " & Table_Header & Table_Value & "</table>"
RETURN
HTML_Code度量值放入HTML Content视觉对象,得到:

此时还只有一行标题,标题从一行到多行不需要额外的代码,只需要将重复标题的方式放入Granularity,示例是门店的渠道分类。

这种方式表格是连续的,如何添加每个渠道分组的标题,进行阻断?

代码中添加一行<h>即完成。

有人可能会说,行数多直接导出CSV算了。应用场景不同,PDF有利于保留表格的格式(例如本例的条件格式颜色)及迷你图。