【问题标题】:How can I return a measure value using a DAX query in SSMS?如何在 SSMS 中使用 DAX 查询返回度量值?
【发布时间】:2019-10-09 19:17:51
【问题描述】:

在我的表格模型中,我遇到了数据被复制的问题。这是该数据的来源:

HV Item Level Amount :=
IF (
    OR (
        MAX ( 'Item Hierarchy'[Depth] ) < [Level of Item Hierarchy],
        MAX ( 'Product Hierarchy'[Level Number] ) < [Level of Product Hierarchy]
    ),
    BLANK (),
    CALCULATE (
        [HV Dollar Amt],
        'R R2M Group',
        'P R2M Group',
        FILTER (
            'Item Hierarchy',
            'Item Hierarchy'[Depth] = MIN ( 'Item Hierarchy'[Depth] )
        )
    )
)

我想在分析服务上运行它,这样我就可以知道为什么数字不正确。

但是,我该怎么做呢?我是 DAX 新手,我可以看到,如果我运行 evaluate 'table_name',它可以工作,但我需要运行上面的整个表达式。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 您是要返回一个表还是只返回一个值?
  • 只有一个值
  • “HV 物品等级数量”的值

标签: ssas dax


【解决方案1】:

EVALUATE 总是返回一个表格,但您可以像这样返回一个单单元格表格:

DEFINE
MEASURE 'TableName'[HV Item Level Amount] =
    IF (
        OR (
            MAX ( 'Item Hierarchy'[Depth] ) < [Level of Item Hierarchy],
            MAX ( 'Product Hierarchy'[Level Number] ) < [Level of Product Hierarchy]
        ),
        BLANK (),
        CALCULATE (
            [HV Dollar Amt],
            'R R2M Group',
            'P R2M Group',
            FILTER (
                'Item Hierarchy',
                'Item Hierarchy'[Depth] = MIN ( 'Item Hierarchy'[Depth] )
            )
        )
    )
EVALUATE { 'TableName'[HV Item Level Amount] }

这应该返回表格

Value
-------
<Measure Output>

在逗号分隔值序列周围使用花括号 {...} 会创建一个列表,这在 DAX 中等效于具有通用列名称 Value 的单列表。

【讨论】:

  • 谢谢。我只需要将评估部分更改为仅“表名”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多