将 MDX 转换为 SQL 语句
Convert MDX to SQL statement
我正在使用 SQL 服务器 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 提供数据的维度模型/星型架构上解决方案。
在下面的翻译中,我对您的维度模型/星型模式做出了以下假设
- 你的事实 table 名称是 "yourfactTable",它包含
以下列 a) Productkey 这是一个 foreginkey。 b) 市场密钥
这是一个外键。 c) 以下三栏是事实和
本质上是数字。[继承自 Material 组],[拆分
Material 组 m] 的百分比],[SKU m 的拆分百分比] 2)
- 您有一个名为 Product 的维度。这个 table 的主键是
产品密钥。它还有一列 [Sales Org SKU]
- 您有一个名为 Markey 的维度。这个 table 的主键是 marketkey.It 还有一列 [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 服务器 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 提供数据的维度模型/星型架构上解决方案。
在下面的翻译中,我对您的维度模型/星型模式做出了以下假设
- 你的事实 table 名称是 "yourfactTable",它包含 以下列 a) Productkey 这是一个 foreginkey。 b) 市场密钥 这是一个外键。 c) 以下三栏是事实和 本质上是数字。[继承自 Material 组],[拆分 Material 组 m] 的百分比],[SKU m 的拆分百分比] 2)
- 您有一个名为 Product 的维度。这个 table 的主键是 产品密钥。它还有一列 [Sales Org SKU]
- 您有一个名为 Markey 的维度。这个 table 的主键是 marketkey.It 还有一列 [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]