如何在Power BI Deneb中实现条形图数值的求和聚合?
解决Power BI Deneb条形图数据未聚合问题
要让相同LossReason对应的PrimaryQuantityLoss数值求和聚合,你可以通过以下两种方式修改Deneb规范:
方法1:数据层面分组聚合
在数据定义中添加transform步骤,按LossReason分组并求和PrimaryQuantityLoss,后续直接使用聚合后的字段:
{ "data": {"name": "dataset"}, "transform": [ { "groupby": ["LossReason"], "aggregate": [{"op": "sum", "field": "PrimaryQuantityLoss", "as": "TotalQuantityLoss"}] } ], "layer":[ { "mark": "bar" }, { "mark": {"type": "text", "color": "black", "xOffset": 8}, "encoding": { "text": {"field": "TotalQuantityLoss", "type": "quantitative"} } } ], "encoding": { "x": { "field": "TotalQuantityLoss", "type": "quantitative" }, "y": { "field": "LossReason", "type": "ordinal" } } }
方法2:编码层面直接聚合
无需额外数据转换,直接在x轴和文本的编码中指定sum聚合函数:
{ "data": {"name": "dataset"}, "layer":[ { "mark": "bar" }, { "mark": {"type": "text", "color": "black", "xOffset": 8}, "encoding": { "text": {"aggregate": "sum", "field": "PrimaryQuantityLoss", "type": "quantitative"} } } ], "encoding": { "x": { "aggregate": "sum", "field": "PrimaryQuantityLoss", "type": "quantitative" }, "y": { "field": "LossReason", "type": "ordinal" } } }
说明
- 方法1通过数据预处理生成总和字段,适合需要多次复用聚合值的场景;
- 方法2更简洁,直接在编码层完成聚合,适合快速实现需求。
内容的提问来源于stack exchange,提问作者Faria
相关产品推荐
相关产品推荐

