问题描述
我有一个MDX查询得出该值
+-----------+----------+--------------+--------+----------------+------+ | | Sales Cumulative | Sales Ratio To Target | + +----------+--------------+--------+----------------+------- | | Town A | Town B | Town C | Town A | Town B | Town C | +-----------+----------+--------------+--------+----------------+------+ | Quarter 1 | 10 | 20 | 30 | ? | ? | ? | | Quarter 2 | 30 | 40 | 60 | ? | ? | ? | +-----------+----------+--------------+--------+----------------+------+
我真的不知道如何在MDX中进行计算以使销售比例达到目标,要计算该比例,只需将销售累计(量度)除以每个城镇目标即可
我的地理尺寸看起来像这样
+----------+----+ | Dim_Geography | +---------------+ | Province | | District | | Town | | Target | +---------------+
当前,这是我的累计销售mdx脚本。
WITH
MEMBER [Measures].[SalesCumulative] AS
Sum
(
NULL : [Date].[Quarter].CurrentMember,[Measures].[Sales]
)
SELECT
{[Measures].[SalesCumulative]}
*
Descendants
(
[Geografi].[District].[All],AFTER
) ON 0,{Descendants([Date].[Quarter].[All],AFTER)} ON 1
FROM [Cube];
解决方法
如果目标是地理尺寸的属性,则可以将其提取为度量,然后将其划分为两个:
WITH
MEMBER [Measures].[SalesCumulative] AS
Sum
(
NULL : [Date].[Quarter].CurrentMember,[Measures].[Sales]
)
MEMBER [Measures].[Target] AS
[Geografi].[District].[District].CurrentMember.Properties("Target")
MEMBER [Measures].[Ratio] AS
[Measures].[SalesCumulative] / [Measures].[Target]
SELECT
{[Measures].[SalesCumulative],[Measures].[Ratio] }
*
Descendants
(
[Geografi].[District].[All],AFTER
) ON 0,{Descendants([Date].[Quarter].[All],AFTER)} ON 1
FROM [Cube];