1

我想编写一个在 WHERE 语句中使用度量值的 MDX 表达式。

例如:假设我想显示在不同城市的商店销售产品的收入,但我只想计算价格超过 10 美元的销售产品的收入。

这是我尝试过的,但它不起作用:

WHERE ([MEASURES].[Price]>10)

如何使用 MDX 做到这一点?

4

1 回答 1

1

如果您有权访问 olap db,您只需创建另一个指标价格(例如,在 DSV 上为您的事实表创建表达式并在此字段上创建指标)并将其用于进一步计算。但是,如果您无权访问 db,则可以尝试以下脚本:

WITH
MEMBER [Measures].[Price10] AS
    'IIF([Measures].[Price] < 10,0,[Measures].[Price])'
MEMBER [Measures].[COST] AS
    '[Measures].[Price10]*[Measures].[Unit Count]'
SELECT
    {[Measures].[COST]} ON COLUMNS,
    {[Customer].[Customer Geography].[City].Members,[Customer].[Customer Geography].[All Customers]} ON ROWS
from [Adventure Works]

这只是一个建议......它取决于用于计算指标价格的聚合类型。

于 2011-08-17T20:04:38.693 回答