MDX:如何使用硬编码值创建带有查询的 2x2 数组
MDX : how to create a 2x2 array with a query, using hard coded values
在 MDX 中,我想创建一个 select,其中 return 是一个 2x2 数组,其中填充了硬编码值。
这是一个尝试:
WITH
MEMBER a AS 1
MEMBER b AS 2
SET un AS { a , b }
SELECT { un} ON 0,
[Dim misc].[Gender].[(All)] ON 1
FROM [my cube]
它returns:
但我想 return 另一行,其值不是 1,2。
你已经解决了一半的问题。然而,定义一个集合并不是必需的。
您需要执行以下操作
- 使用默认成员,
- 用例
- 为您使用的维度定义一个虚拟成员。
- 而不是 Set 只定义成员。
看看下面这个基于冒险作品的例子。
with
member Column1Row1 as 1
member Column2Row1 as 2
member Column1Row2 as 3
member Column2Row2 as 4
member Column1 as case when [Product].[Product].currentmember is [Product].[Product].defaultmember then Column1Row1 else Column1Row2 end
member Column2 as case when [Product].[Product].currentmember is [Product].[Product].defaultmember then Column2Row1 else Column2Row2 end
member [Product].[Product].[Row2]
as [Product].[Product].defaultmember
select
{Column1,Column2} on 0,
{
[Product].[Product].defaultmember,
[Product].[Product].[Row2]}
on 1
from
[Adventure Works]
结果
在 MDX 中,我想创建一个 select,其中 return 是一个 2x2 数组,其中填充了硬编码值。 这是一个尝试:
WITH
MEMBER a AS 1
MEMBER b AS 2
SET un AS { a , b }
SELECT { un} ON 0,
[Dim misc].[Gender].[(All)] ON 1
FROM [my cube]
它returns:
但我想 return 另一行,其值不是 1,2。
你已经解决了一半的问题。然而,定义一个集合并不是必需的。 您需要执行以下操作
- 使用默认成员,
- 用例
- 为您使用的维度定义一个虚拟成员。
- 而不是 Set 只定义成员。
看看下面这个基于冒险作品的例子。
with
member Column1Row1 as 1
member Column2Row1 as 2
member Column1Row2 as 3
member Column2Row2 as 4
member Column1 as case when [Product].[Product].currentmember is [Product].[Product].defaultmember then Column1Row1 else Column1Row2 end
member Column2 as case when [Product].[Product].currentmember is [Product].[Product].defaultmember then Column2Row1 else Column2Row2 end
member [Product].[Product].[Row2]
as [Product].[Product].defaultmember
select
{Column1,Column2} on 0,
{
[Product].[Product].defaultmember,
[Product].[Product].[Row2]}
on 1
from
[Adventure Works]
结果