2016-03-07 115 views
0

我想创建一个所有商品交易量(ACV)指标的度量。其计算公式如下:MDX计算所有商品交易量的公式(%ACV)

转销商销售的产品销售总额/所有代理商

销售总额让我们举个例子,比如产品“LL房框架 - 蓝色,44”,从AdventureWorks2012DW立方。

我们可以看到它是由14个经销商

enter image description here

这14个经销商一起销售使销售

enter image description here

如果我把所有的经销商2 706 909 $,他们做80 450 596 $的销售

enter image description here

对于产品“LL Touring Frame - Blue,44”,我的ACV措施将返回2 607 909/80 450 596 = 2%,这意味着它出现在制作间接销售额2%的经销商处。

我在寻找的是采用“所有产品的经销商销售额”而不是所选产品的经销商销售额的MDX表达式,但仅当“所选产品的经销商销售金额不是空值”。

enter image description here

到目前为止,感谢社会各界的帮助下,我可以做一个查询,给了我正确的结果,如果我在某些特定产品过滤:

设置ActiveStores为非空

( [DimStore ] [存储] [存储] ,{([DimProduct]。[产品] .CurrentMember,[措施]。[销售])} )

会员ACV AS SUM(ActiveStores,[措施]。[店铺销售])/ [措施]。[店铺销售]

在列上选择非空ACV, NON EMPTY {([DimProduct]。[Product]。[Product] .ALLMEMBERS)} ON ROWS FROM(SELECT({[DimProduct]。[Product] & [HAMAC DE VOYAGE]})[COLUMNS FROM [Cube])

此查询返回过滤产品的9%的ACV。但是,如果我仅通过放置FROM [立方体]来移除过滤器,则所有产品的ACV均为100%,即使是之前查询的9%。

这就像ActiveStores集合绑定在WHERE子句中,而不是ROWS Axis。

问候

+0

我不理解某些东西。你的MDX看起来不错。难道你不能只用[Measures]替换[Measures]。[Distinct Number of Stores]。[Sales]并完成? – GregGalloway

+0

GregGalloway,如果我这样做,我可以获得所选产品在销售商店的销售额,我需要的是销售所选产品的商店中的所有产品的销售额。我已通过添加更多详细信息更新了我的帖子。 – user2018454

回答

0

我能找到一个解决方案是这样的:

我已经添加了一个聚合的事实(商店销售)作为属性维度商店。创建一个度量商店销售额,然后用下面的表达式创建一个计算度量:

SUM(NonEmpty(
      [DimStore].[Store].[Store] 
      ,([Measures].[Sales]) 
     ), [Measures].[Store Sales])/(ROOT([DimStore]), [Measures].[Store Sales]) 
0

要查找成员,销售额不为空,你可以使用NonEmpty功能:

NonEmpty(
    [Stores].[Stores].members 
    ,(
    [Product].[Product].[ProductA] 
    , [Measures].[Sales] 
    ) 
) 
+0

谢谢whytheq为您的答复,不幸的是,这个表达式的结果总是为空。 – user2018454

+0

再次感谢,但剧照返回null:/ – user2018454

+0

请将您完整的'mdx'脚本添加到问题 – whytheq

0

什么:

Sum(
[Store].[Store].[Store].Members, 
IIF(
    IsEmpty([Measures].[Sales]), 
    Null, 
    (
    ROOT([Product]) 
    ,ROOT([Supplier]) 
    ,ROOT([Promotion]) 
    ,ROOT([Misc]) 
    ,[Measures].[Sales] 
) 
) 
) 
+0

感谢格雷格,我认为我们几乎在那里,我已经更新了我的帖子,查询给出了正确的结果但只有当产品过滤时,目的是在没有过滤器的情况下使其工作。 – user2018454

+0

@ user2018454如果用户没有筛选到特定产品,那么您会计算哪些商店?所有商店?不清楚你的意思是“没有过滤器的工作” – GregGalloway