You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Power BI的Deneb(Vega-Lite)直方图添加动态LSL/USL竖线

在Deneb(Vega-Lite)直方图中添加动态LSL/USL竖线

问题背景

在Power BI中使用Deneb(基于Vega-Lite)构建直方图时,已成功添加均值线,但无法添加随分析项(如pH、重量、浓度等)动态变化的**下限规格限(LSL)和上限规格限(USL)**竖线,这两个限值是Power BI中的度量值。现有Vega-Lite代码如下:

{
  "description": "Histogram",
  "data": {"name": "dataset"},
  "layer": [
    {
      "mark": {
        "type": "bar",
        "color": "#377eb8",
        "tooltip": true
      },
      "encoding": {
        "x": {
          "field": "RESULTS",
          "bin": {"maxbins": 10},
          "title": "RESULTS"
        },
        "y": {
          "aggregate": "count",
          "title": "ABSOLUTE FREQUENCE"
        }
      }
    },
    {
      "mark": "rule",
      "encoding": {
        "x": {
          "aggregate": "mean",
          "field": "RESULTS"
        },
        "color": {"value": "red"},
        "size": {"value": 3}
      }
    }
  ]
}

解决方案

要实现动态LSL/USL竖线,核心是直接引用Power BI传入的单值度量值,而非对RESULTS字段做聚合。具体操作如下:

  1. 确保Deneb加载LSL/USL度量:在Power BI的Deneb可视化字段面板中,将LSL和USL的度量值添加到数据字段列表中。
  2. 修改Vega-Lite代码:在layer数组中新增两个rule层,分别绑定LSL和USL字段,完整代码示例如下:
{
  "description": "Histogram with Mean, LSL and USL",
  "data": {"name": "dataset"},
  "layer": [
    {
      "mark": {
        "type": "bar",
        "color": "#377eb8",
        "tooltip": true
      },
      "encoding": {
        "x": {
          "field": "RESULTS",
          "bin": {"maxbins": 10},
          "title": "RESULTS"
        },
        "y": {
          "aggregate": "count",
          "title": "ABSOLUTE FREQUENCE"
        }
      }
    },
    {
      "mark": "rule",
      "encoding": {
        "x": {
          "aggregate": "mean",
          "field": "RESULTS"
        },
        "color": {"value": "red"},
        "size": {"value": 3},
        "tooltip": [{"field": "RESULTS", "aggregate": "mean", "title": "Mean"}]
      }
    },
    {
      "mark": "rule",
      "encoding": {
        "x": {"field": "LSL"},
        "color": {"value": "green"},
        "size": {"value": 3},
        "tooltip": [{"field": "LSL", "title": "Lower Spec Limit"}]
      }
    },
    {
      "mark": "rule",
      "encoding": {
        "x": {"field": "USL"},
        "color": {"value": "orange"},
        "size": {"value": 3},
        "tooltip": [{"field": "USL", "title": "Upper Spec Limit"}]
      }
    }
  ]
}

关键说明

  • 新增的LSL/USL规则层直接使用"x": {"field": "LSL"}和"x": {"field": "USL"},因为这两个是Power BI传入的单值度量,无需额外聚合计算。
  • 为每个竖线添加tooltip,方便查看具体限值数值。
  • 如果你的LSL/USL度量在Deneb中的字段名不同,需替换为实际字段名称。
  • 可根据需求调整颜色、线条大小等样式参数。

内容的提问来源于stack exchange,提问作者Pedro Luccas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 02:41:03