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

如何用声明表的关联列值替换DAX度量中的颜色值

解决DAX度量中引用ADDCOLUMNS内同一计算列的问题

要将@Bars中的XXXX替换为同一行@Colour列的颜色值,你需要使用DAX的EARLIER函数来引用当前行上下文的@Colour值。修改后的完整代码如下:

VAR _BarTable=
    ADDCOLUMNS(
        SUMMARIZE('Crypto Data', 'Crypto Data'[timestamp]),
        "@Colour", IF(
                    [Current Price] = _YMaxValue, "Green",
                    IF( [Current Price] = _YMinValue, "Red",
                    _LineColor)
                   ),
        "@Bars",    "<rect x='" & INT(150 * DIVIDE('Crypto Data'[timestamp] - _XMinDate, _XMaxDate - _XMinDate)) &
                    "' width='1' stroke='" & EARLIER([@Colour]) & "' stroke-width='1' y='" &
                    50 -  INT(50 * DIVIDE([Current Price] - _YMinValue, _YMaxValue - _YMinValue)) & "' height='" &
                    INT(50 * DIVIDE([Current Price] - _YMinValue, _YMaxValue - _YMinValue)) &
                    "'  style='fill:" & EARLIER([@Colour]) & "'/>"
    )

说明

在ADDCOLUMNS函数中,每一列的计算处于独立行上下文,直接引用[@Colour]会因上下文层级问题无法获取对应值。EARLIER函数可穿透当前行上下文,获取外层行上下文(即当前行已计算完成的@Colour值),从而实现同一行内的列值引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:32:07