我使用的是 SQL Server 2016。
我是 MDX 的新手。是否可以将 MDX 语句转换为 SQL?有转换器吗?
下面是我的 MDX - 如何将其转换为 SQL?:
WITH MEMBER _x AS
IIF( [Measures].[Inherit from Material Group] <> 0,
[Measures].[Splitting Percent at Material Group m],
[Measures].[Splitting Percent at SKU m] )
SELECT _X ON 0, NON EMPTY (
[Product].[Sales Org SKU].[Sales Org SKU],
[MARKET].[Sales Org Ship to Party].[Sales Org Ship to Party]
) ON 1 FROM TEST
最佳答案
您需要了解,您可以在 SQL 中使用等同的 MDX 查询,但是,SQL 版本将在为您的 SSAS 解决方案提供数据的维度模型/星型架构上运行。
在下面的翻译中,我假设了以下关于你的维度模型/星型模式
- 您的事实表名称是“yourfactTable”,它包含 以下列 a) Productkey 这是一个 foreginkey。 b) 市场 key 这是一个外键。 c) 以下三栏是事实和 本质上是数字。[继承自 Material 组],[拆分 Material 组 m 的百分比],[SKU m 的拆分百分比] 2)
- 您有一个名为 Product 的维度。这个表的主键是 产品 key 。它还有一列 [Sales Org SKU]
- 您有一个名为 Markey 的维度。这张表的主键是marketkey,还有一列[Sales Org Ship to Party]
基于此看下面的查询
select [Product].[Sales Org SKU],
[MARKET].[Sales Org Ship to Party],
case when sum([Inherit from Material Group])<>0
then sum([Splitting Percent at Material Group m])
else sum([Splitting Percent at SKU m]) end as _x
from
yourfactTable f
inner join
[Product] p
on f.productkey=p.productkey
inner join
[MARKET] m
on f.marketkey=m.marketkey
group by
[Product].[Sales Org SKU],[MARKET].[Sales Org Ship to Party]
关于sql-server - 将 MDX 转换为 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56788153/