我想创建一个条形图,其中包含每个月和一些度量的条形图。
但我也想过滤一个可能与本月某些时间不完全重叠的日期范围。
发生这种情况时,我希望这些月份的聚合计数仅在我的日期范围内的天数内聚合,而不会获得整个月的聚合。
MDX 是否可能,如果是,请求应该是什么样子?
使用原始维度的虚拟维度创建第二个时间维度。在 WHERE 中使用一个维度,在 SELECT 中使用另一个维度。
如果有些人想要季度和期间的"营业时间",而其他人更喜欢几个月,这种情况通常会发生。或者,如果您的财政年度是 4 月至 4 月。
您可以使用子选择。您可以在此页面和此页面上找到更多信息:
当在轴子句中指定成员时,该成员 它的上级和后代包含在子立方体空间中 子选择;所有未提及的同级成员,在轴中或 切片器子句及其后代从子空间中筛选出来。 这样,外部选择的空间已限制为 轴子句或切片器子句中的现有成员及其 如前所述,后裔和后代。
下面是一个示例:
SELECT { [Customer].[Customer Geography].[Country].&[Australia]
, [Customer].[Customer Geography].[Country].&[United States]
} ON 1
, {[Measures].[Internet Sales Amount], [Measures].[Reseller Sales Amount]} ON 0
FROM ( SELECT {[Customer].[Customer Geography].[Country].&[Australia]
, [Customer].[State-Province].&[WA]&[US]} ON 0
FROM [Adventure Works]
)
结果将包含一行用于Autralia
,另一行用于United States
。使用子选择,我将United Stated
的值限制为Washington
状态。
我发现使用蒙德里安的一种方法如下
WITH MEMBER [Measures].[Units Shipped2] AS
SUM
(
{
exists([Store].[Store Country].currentmember.children,{[Store].[USA].[WA],[Store].[USA].[OR]})
},[Measures].[Units Shipped]
)
MEMBER [Measures].[Warehouse Sales2] AS
SUM
(
{
exists([Store].[Store Country].currentmember.children,{[Store].[USA].[WA],[Store].[USA].[OR]})
},[Measures].[Warehouse Sales]
)
SELECT
{[Measures].[Units Shipped2],[Measures].[Warehouse Sales2]} ON 0,
NON EMPTY [Store].[Store Country].Members on 1
FROM [Warehouse]
我不确定过滤是否会像下面这样在 SQL 中完成并提供良好的性能或在本地运行
select Country, sum(unit_shipped)
where state in ('WA','OR' )
group by Country