Deneb百分比华夫饼图PBI Desktop正常,PBI Service显示空白求助
Power BI Service中Deneb百分比华夫饼图空白问题排查
我制作了多款Deneb可视化组件,多数能在Power BI Desktop和Service正常运行,但这款百分比华夫饼图在Service中显示空白,无法加载。以下是使用的JSON代码:
{"data": {"name": "dataset"},"transform": [{"joinaggregate": [{"op": "sum","field": "NrOfSfhifts","as": "TotalOrigin"}]},{"joinaggregate": [{"op": "sum","field": "NrOfSfhifts","as": "TotalOriginGrouped"}],"groupby": ["NrOfSfhifts"]},{"calculate": "round(datum.TotalOriginGrouped/datum.TotalOrigin * 100)","as": "PercentOfTotal"},{"aggregate": [{"op": "average","field": "PercentOfTotal","as": "Percento"}],"groupby": ["Dispatcher"]},{"calculate": "sequence(1,datum.Percento+1)","as": "S"},{"flatten": ["S"]},{"window": [{"op": "row_number","as": "id"}],"sort": [{"op": "sum","field": "TotalOriginGrouped","order": "ascending"}]},{"calculate": "ceil (datum.id / 10)","as": "row"},{"calculate": "datum.id - datum.row * 10","as": "col"}],"mark": {"type": "circle","filled": true,"tooltip": true,"stroke": "black","strokeWidth": 2},"encoding": {"x": {"field": "col","type": "ordinal","axis": null,"sort": "x"},"y": {"field": "row","type": "ordinal","axis": null,"sort": "y"},"color": {"field": "Dispatcher","type": "nominal","sort": [{"op": "sum","field": "TotalOriginGrouped","order": "descending"}],"scale": {"range": ["#FFD300","#ed3419","lightgray","white","black","olive","lightblue"]},"legend": {"orient": "right","offset": 10,"labelOffset": 3,"titlePadding": 5,"titleFontSize": 10}},"size": {"value": 330},"tooltip": [{"field": "Dispatcher","type": "nominal"},{"field": "Percento","type": "quantitative","format": "0","formatType": "pbiFormat"}]}}
可视化效果示例:
可能的原因及解决建议
- Deneb版本兼容问题:Power BI Desktop与Service的Deneb运行环境版本可能不一致,部分Vega-Lite语法在旧版本中不支持。检查
sequence、flatten或window等函数的写法,比如sequence(1,datum.Percento+1)是否在Service的Vega版本中支持,尝试替换为更兼容的写法。 - 数据异常导致计算错误:当
TotalOrigin为0时,除法运算会产生NaN值,导致后续计算中断。修改calculate语句避免除以0:{"calculate": "round(if(datum.TotalOrigin > 0, datum.TotalOriginGrouped/datum.TotalOrigin * 100, 0))","as": "PercentOfTotal"} - 排序逻辑兼容性问题:
window步骤中的sort配置使用了聚合函数排序,可能在Service环境中不被支持。简化排序逻辑,改为直接按字段排序:{"window": [{"op": "row_number","as": "id"}],"sort": [{"field": "TotalOriginGrouped","order": "ascending"}]} - 数据集权限或字段变化:确认Service中的数据集
NrOfSfhifts、Dispatcher等字段未被隐藏、权限未受限,且数据类型与Desktop中一致。 - 渲染资源限制:若
Percento计算结果过大,生成的华夫饼图点数过多,可能触发Service的渲染资源限制。检查数据中是否存在异常大的百分比值,添加逻辑限制最大点数(比如限制为100)。
内容的提问来源于stack exchange,提问作者tomecsek
相关产品推荐
相关产品推荐

