使用 MDX 以具有与“GROUP BY”相同的功能,以仅显示一次项目,即最大值
Posted
技术标签:
【中文标题】使用 MDX 以具有与“GROUP BY”相同的功能,以仅显示一次项目,即最大值【英文标题】:Use MDX in order to have the same functionality of "GROUP BY" to show only show an item once, at it's max value 【发布时间】:2019-12-13 04:16:51 【问题描述】:我有一个具有价格和数量度量的立方体。我有两个维度,产品和供应商。 Product>Name>Name 是产品的名称字符串,Supplier>Name>Name 是供应商的名称字符串。
我正在尝试查询多维数据集以返回产品的最高定价,但我的 with 语句似乎不起作用。
我正在尝试创建一个名为“Max Price”的新参考作为度量,它只是围绕度量价格度量的 MAX 函数。
WITH MEMBER [Measures].[Max Value] AS MAX([Measures].[Price])
但是,当我编写其余部分并运行它时,我的代码只显示产品名称的所有价格的总和:
SELECT NON EMPTY
[Measures].[Max Value] ON 0,
NON EMPTY
([Tb Product].[Name].[Name] ) ON ROWS
FROM [DS715]
我想要的只是一行,每个产品的单一最高价格。
显示的内容是包含所有产品价格总和的单行。
数据示例:
产品名称:汽车、飞机、车轮
产品价格:汽车(100 美元、200 美元、300 美元),飞机(1000 美元、2000 美元、3000 美元), ***(10 美元、20 美元、30 美元)
输出:
显示的是:汽车:600 美元飞机:6000 美元车轮:60 美元
我预计:汽车:300 美元飞机:3000 美元车轮:30 美元
【问题讨论】:
【参考方案1】:在您的项目中定义一个新度量并选择使用量作为最大值。这将在您的查询上下文中返回最大销售量。
在下面的评论中添加屏幕
现在设置用法
【讨论】:
对不起,这可能是一个愚蠢的问题,但是你如何定义一个新的度量并“选择使用为最大值”? 所以打开您的 SSAS 项目,在解决方案资源管理器中打开您的多维数据集,现在在左上角您将看到度量,右键单击并选择新度量。您将看到使用中选择的总和,为价格列选择最大值。稍后添加图片 检查屏幕 我无权更改以这种方式添加度量。我确实尝试过创建一个度量计算,但我做了同样的事情,它给了我多行:“MAX([Measure].[Price])。你知道这样做产生的代码是什么吗?如果我能明白为什么 MAX() 不起作用以及我缺少什么,我可以用这种方式修复它。以上是关于使用 MDX 以具有与“GROUP BY”相同的功能,以仅显示一次项目,即最大值的主要内容,如果未能解决你的问题,请参考以下文章
无法将具有相同 item_hsn 的字段分组并使用 group by sql 语句对其数量求和