基于F1列分组的F2列的不同计数

我有一个表格Table1:

F1 | F2 ------- a | 1 a | 2 b | 1 c | 2 

我想定义一个度量MyMeasure,这将允许我生成一个表:

 F2 | Count ---------- 1 | 2 2 | 1 

Count中的值将来自CUBEVALUE函数,如:

 =CUBEVALUE("ThisWorkbookDataModel","[Measures].[MyMeasure]","[Table1].[F2].&[1]") =CUBEVALUE("ThisWorkbookDataModel","[Measures].[MyMeasure]","[Table1].[F2].&[2]"). 

MyMeasure的逻辑应该是:

1)在F1中find每个组的最小值F2(a – > 1,b – > 1,c – > 2)。

2)对于前一个点的指定值,F1中的计数项不同。

我能够在数据模型中使用帮助列来实现,但我希望通过一个单一的措施来实现它。

最近的尝试是:

 =COUNTROWS( GENERATE( all(Table1[F2]) ,SUMMARIZE( all(Table1),Table1[F1],"sth",min(Table1[F2]) ) ) ) 

据我了解,我弄乱了上下文,结果我得到:

 F2 | Count ---------- 1 | 6 2 | 6 

在T-SQL中,我可以使用查询生成输出:

 select distinct t1.F2 ,count(*) over (partition by t1.F2) from (select distinct F2 from Table1) t1 right join (select F1, min(F2) as MyMin from Table1 group by F1) t2 on t1.F2 = t2.MyMin 

我把我的两分钱,你可以创build一个计算表,返回不同的[F2]价值观和他们的最低出现次数的两列。 我不确定你只能从一个测量中得到最小值。

 CalculatedTable = GROUPBY ( GROUPBY ( Table, Table[F1], "Minimum", MINX ( CURRENTGROUP (), Table[F2] ) ), [Minimum], "MinCount", COUNTAX ( CURRENTGROUP (), [Minimum] ) ) 

让我知道这是否有帮助。

我可能误解了你的问题,但是我会用Table1的第三列中的一个数组公式将它作为数据模型的一部分,

 {=IF([@F2]=MIN(IF([F1]=[@F1],[F2])),1,0)}