MDX 计算成员与选择器无关
MDX calculated member regardless of selectors
我有一个像这样的 MDX 脚本;
select
NON EMPTY {[Measures].[Miktar Kg]} ON COLUMNS
,
NON EMPTY
[DimSalesRepView].[SalesRepName].[SalesRepName]*
[DimDateView].[MonthOfYear].[MonthOfYear]
ON ROWS
FROM ( SELECT ([DimDateView].[Year].&[2016]}) ON COLUMNS
FROM ( SELECT ( [DimCompanyView].[CompanyKey].&[smr]) ON COLUMNS
FROM [Model]))
而且我可以得到想要的结果。我想要实现的是定义另一个计算的度量,它将始终显示 [Miktar Kg],而不管选择器、过滤器等在哪里。喜欢;
- - Miktar Kg AllTimesMiktarKg
SELIM 1 8089259 27499099
SELIM 2 2591473 27499099
YASAR 1 11384002 27499099
YASAR 2 5434365 27499099
而且我必须在脚本中执行此操作,而不是在多维数据集中。
谢谢。
您可以只为 All
添加一个元组,这将添加一行:
SELECT
NON EMPTY
{[Measures].[Miktar Kg]} ON COLUMNS
,NON EMPTY
{
[DimSalesRepView].[SalesRepName].[SalesRepName]
*
[DimDateView].[MonthOfYear].[MonthOfYear]
,(
[DimSalesRepView].[SalesRepName].[All]
,[DimDateView].[MonthOfYear].[All]
)
} ON ROWS
FROM
(
SELECT
[DimDateView].[Year].&[2016] ON 0
FROM
(
SELECT
[DimCompanyView].[CompanyKey].&[smr] ON 0
FROM [Model]
)
);
要为总计添加一列,您需要使用 WITH
子句创建计算成员:
WITH MEMBER [Measures].[AllTimesMiktarKg] AS
(
[DimSalesRepView].[SalesRepName].[All]
,[DimDateView].[MonthOfYear].[All]
,[Measures].[Miktar Kg]
)
SELECT
NON EMPTY
{
[Measures].[Miktar Kg]
,[Measures].[AllTimesMiktarKg]
} ON 0
,NON EMPTY
[DimSalesRepView].[SalesRepName].[SalesRepName]
* [DimDateView].[MonthOfYear].[MonthOfYear]
ON 1
FROM
(
SELECT
[DimDateView].[Year].&[2016] ON 0
FROM
(
SELECT
[DimCompanyView].[CompanyKey].&[smr] ON 0
FROM [Model]
)
);
我有一个像这样的 MDX 脚本;
select
NON EMPTY {[Measures].[Miktar Kg]} ON COLUMNS
,
NON EMPTY
[DimSalesRepView].[SalesRepName].[SalesRepName]*
[DimDateView].[MonthOfYear].[MonthOfYear]
ON ROWS
FROM ( SELECT ([DimDateView].[Year].&[2016]}) ON COLUMNS
FROM ( SELECT ( [DimCompanyView].[CompanyKey].&[smr]) ON COLUMNS
FROM [Model]))
而且我可以得到想要的结果。我想要实现的是定义另一个计算的度量,它将始终显示 [Miktar Kg],而不管选择器、过滤器等在哪里。喜欢;
- - Miktar Kg AllTimesMiktarKg
SELIM 1 8089259 27499099
SELIM 2 2591473 27499099
YASAR 1 11384002 27499099
YASAR 2 5434365 27499099
而且我必须在脚本中执行此操作,而不是在多维数据集中。
谢谢。
您可以只为 All
添加一个元组,这将添加一行:
SELECT
NON EMPTY
{[Measures].[Miktar Kg]} ON COLUMNS
,NON EMPTY
{
[DimSalesRepView].[SalesRepName].[SalesRepName]
*
[DimDateView].[MonthOfYear].[MonthOfYear]
,(
[DimSalesRepView].[SalesRepName].[All]
,[DimDateView].[MonthOfYear].[All]
)
} ON ROWS
FROM
(
SELECT
[DimDateView].[Year].&[2016] ON 0
FROM
(
SELECT
[DimCompanyView].[CompanyKey].&[smr] ON 0
FROM [Model]
)
);
要为总计添加一列,您需要使用 WITH
子句创建计算成员:
WITH MEMBER [Measures].[AllTimesMiktarKg] AS
(
[DimSalesRepView].[SalesRepName].[All]
,[DimDateView].[MonthOfYear].[All]
,[Measures].[Miktar Kg]
)
SELECT
NON EMPTY
{
[Measures].[Miktar Kg]
,[Measures].[AllTimesMiktarKg]
} ON 0
,NON EMPTY
[DimSalesRepView].[SalesRepName].[SalesRepName]
* [DimDateView].[MonthOfYear].[MonthOfYear]
ON 1
FROM
(
SELECT
[DimDateView].[Year].&[2016] ON 0
FROM
(
SELECT
[DimCompanyView].[CompanyKey].&[smr] ON 0
FROM [Model]
)
);