繁体   English   中英

Mondrian MDX - 过滤器不适用于多成员查询

[英]Mondrian MDX - Filter Not Applying to Multiple Members Query

我们目前有一个查询显示总数量的值,或跨商店位置和部门的销售额,我将销售数量聚合度量与位置相交,结果很好。

当我们尝试按总数量 > 500 进行过滤时,我只看到按位置值评估的数量总和,而不是按位置和部门分组。

HAVING 似乎不受支持,如果我在底部包含一个 where 过滤器,则会出现多次使用相同家庭/成员的问题,这是不允许的。

SELECT 
  {HEAD([dim_productfamily.hier_productfamily].[lvl_department].Members, 5)}
ON ROWS,
  FILTER
  (
    {HEAD([dim_locations.hier_locations].[lvl_location].Members, 5) * [Measures].[total_qty]},
    [Measures].[total_qty] > 500
  )
ON COLUMNS
FROM 
  [sales_daily] 
WHERE 
  {[dim_date.hier_date].[lvl_date].[20170521] : [dim_date.hier_date].[lvl_date].[20170730] }

上面的查询返回正常,但我得到的值只与位置总和(total_qty)进行了比较。

编辑不同的分组

我尝试使用以下查询,这似乎有效。 我认为在这种情况下我们渲染表格的方式是不正确的,因为输出似乎工作正常。

SELECT 
  FILTER
  (
     {HEAD([dim_productfamily.hier_productfamily].[lvl_department].Members, 5) * HEAD([dim_locations.hier_locations].[lvl_location].Members, 5)},
     [Measures].[total_qty] > 26
  )
ON ROWS,
  [Measures].[total_qty]
ON COLUMNS
FROM 
   [sales_daily] 
WHERE 
  {[dim_date.hier_date].[lvl_date].[20170521] : [dim_date.hier_date].[lvl_date].[20170730] }

这是你想的吗?

问题是在您的过滤器中,您确实没有按位置和部门进行分组。 您仅按位置分组。 一个简单的解决方法是将位置和产品放在同一轴上,并将测量放在反轴上。 然后过滤它。 它会工作。

再看问题,可以通过以下方式查询。 这将让您使用原始分组。

WITH 
MEMBER [Measures].[Data Type3] AS ([Geography].[Country].CurrentMember,[Product].[Product].CurrentMember,[Measures].[Reseller Sales Amount])

SELECT 
FILTER
(
{[Product].[Product].Members}
,[Measures].[Reseller Sales Amount] > 2000
)
ON rows,
FILTER
(
([Geography].[Country].members, {[Measures].[Reseller Sales Amount]
,[Measures].[Data Type3]}),
[Measures].[Reseller Sales Amount] > 2000
)
ON columns
FROM 
[Adventure Works]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM