ssas - 如何在 SSMS 中使用 DAX 查询返回度量值?
问题描述
在我的表格模型中,我遇到了数据被复制的问题。这是该数据的来源:
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'
,它可以工作,但我需要运行上面的整个表达式。
有人可以帮我解决这个问题吗?
解决方案
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 中等效于具有通用列 name 的单个列表Value
。
推荐阅读
- ubuntu - How do I run programs / use SDK? (ubuntu)
- powershell - 为什么 API 调用在 teamcity 中不起作用
- java - 如何从数组对象中删除 £ 符号并保存它?
- .net - 将 .NET Core 登录到文件和控制台 - 带有时间戳
- oracle - 从静态内容 oracle apex 打印
- elasticsearch - Elasticsearch:搜索分数让我困惑。不同匹配级别的相同分数
- java - 当按钮是图像时如何使用Java HttpURLConnection提交表单
- typescript - 导入 serverless-http 错误 - 无法调用类型缺少调用签名的表达式
- javascript - 使用 ESLint 和 Prettier 时在 VS Code 中提供哪些用户设置以进行格式化/linting?(阅读说明)
- survival-analysis - coxModelFrame.coxph(object) 中的错误:对 coxph 的调用中的无效对象集 x=TRUE