如何计算在powerpivot销售产品的独特商店

我对DAX没有太多的经验,而且我的老板曾经要求过我的能力。 具体来说,她想知道在什么比例的商店出售任何项目。
我们有一个Stores表,它与[STORE_ID]相关的度量表有一对多的关系。 项目表也​​通过[ITEM_ID]与度量表1-to-M相关联。 度量表包含哪个表示项目的每周[已售]。

我目前的逻辑是把这个问题分成两个更简单的部分,(商店销售产品)/(总店)。 在店面表中find一个很容易分开的商店,接下来就比较困难了。 我试过Stores_Selling_Product = countrows(filter(filter(Measures, earlier(measures[ITEM_ID]) = measures[ITEM_ID]), EARLIER(Measures[STORE_ID]) <> Measures[STORE_ID])) ,但我发现只排除店与当前商店ID匹配。 有没有办法排除已经计数的商店?

如果有帮助的话,还有一个二进制单元[SoldInStore],如果该商品在其他商店中出售,则为1。我非常肯定,我将不得不使用除了国家以外的其他东西,但我不知道在哪里看。 任何build议会超级好。 在此先感谢,-Mudkip。

 AllStores:= COUNTROWS( ALL( 'Stores' ) ) StoresWithSales:= COUNTROWS( CALCULATETABLE( 'Stores' ,'Measures' ) ) %StoresSelling:= DIVIDE( [StoresWithSales], [AllStores] ) 

第一个度量将始终返回“商店”表中的商店总数,而不pipe透视表中的任何filter上下文。

第二种方法利用交叉表过滤的魔力,根据'Measures'中当前存在的任何filter上下文,仅将'Stores' 过滤为'Measures'中至less有一个对应行的行。 把它看作与SQL中的以下内容基本相同:

 SELECT COUNT(1) FROM Stores WHERE EXISTS (SELECT COUNT(1) FROM Measures WHERE Measures.StoreKey = Stores.StoreKey AND <whatever filter context exists on Measures> );