SSAS创建数据集时使用CASE WHEN语句如何同时选取多个列
实现方法
直接在SELECT查询的字段列表中追加[Loan ID]列即可,原有贷款金额分段的逻辑完全不用修改,调整后的语法如下:
SELECT DISTINCT [Loan ID], CASE WHEN [LoanAmount] <= 100000 THEN 'Less Than $100k' WHEN [LoanAmount] BETWEEN 100000 AND 200000 THEN '$100k to $200k' WHEN [LoanAmount] > 200000 THEN 'More Than $200k' END [LoanAmount] FROM [dbo].[dim loan detail]
注意说明
- 原查询中的
DISTINCT会作用于所有选中列,最终返回的是「贷款ID+贷款金额分段」的唯一值组合,符合SSAS报表数据集的常规使用需求 - 如果你的业务场景需要保留原金额分段维度的去重结果,同时关联所有对应的贷款ID,可以将
DISTINCT替换为分组聚合逻辑,常规场景下上述修改即可满足要求
内容的提问来源于stack exchange,提问作者Kaleab Miitku
相关产品推荐
相关产品推荐

