gpt4 book ai didi

ssas - 计算成员中的 WHERE 子句

转载 作者:行者123 更新时间:2023-12-05 00:42:44 27 4
gpt4 key购买 nike

我在通过比较维度值来计算值时遇到了一些问题。我有 3 个维度(数据类型、客户、产品)和一个度量(GrossSales)。

如果我想要 ProductID = 1,2,3 和 Dataype = 4,5,6 的 GrossSales,MDX 查询是什么?

这里Datatype与GrossSales有关系,Customer与GrossSales有关系,Product与Customer有关系。

我正在尝试这个但不起作用

CREATE MEMBER CURRENTCUBE.[Measures].Forecast_Gross_Sales AS 
(
SELECT NON Empty [Measures].[Gross Sale]
FROM [Measures]
WHERE (
[Data Type].[ID].[ID] = 4
AND [Chain].[Customer ID] = [Measures].[Customer ID]
)
), VISIBLE = 1
, DISPLAY_FOLDER = 'Forecast'
, ASSOCIATED_MEASURE_GROUP = 'Data Types';

最佳答案

您似乎刚刚开始使用 MDX。有一些基本概念可以帮助您获得所需内容。此 comparison of SQL and MDX可能会有所帮助。 MDX 将 where 子句用作切片器(以选择某些维度成员)而不是过滤器。您不能将 member = somevalue 放在 where 子句中。而且您不能真正使用 where 子句来定义与其他表的关系。

相反,你的 where 子句更像是

[Data Type].[ID].[ID].&[4]

由于我看不到你的数据模型,我不能确定,但​​我猜 [Chain].[Customer ID] = [Measures].[Customer ID] 是你想要定义维度用法的东西的多维数据集,而不是在查询中。

编辑:现在问题已被编辑,看起来您正在创建一个计算成员。在这种情况下,没有 select 或 where 子句。它看起来更像这样:
CREATE MEMBER CURRENTCUBE.[Measures].Forecast_Gross_Sales AS 
Aggregate([Data Type].[ID].[ID].&[4], [Measures].[Gross Sale])
, VISIBLE = 1
, DISPLAY_FOLDER = 'Forecast'
, ASSOCIATED_MEASURE_GROUP = 'Data Types';

从度量值组通过 Customer 维度到 Chain 维度的关系应该在维度使用中定义。这称为 Reference dimension relationship.

关于ssas - 计算成员中的 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com