由于性能问题,我需要在DAX上删除一些不同的计数 . 但是,我有一个特定的场景,我无法弄清楚如何做到这一点 .
例如,假设一个或多个餐馆可以在一个或多个宴会上受雇,并准备一个或多个菜单(参见下面的数据) .
我想要一张PowerPivot表,显示每个餐厅有多少个节日(见下表) . 我通过使用distinctcount实现了这一点 .
为什么不在Power Query上预先计算这个?我的实际数据有点复杂(更多的ID列),为了能够转动数据,我必须计算数千种可能的组合 .
我尝试在我的模型中添加一个Feast维度表(在示例中,这只是1列2行) . 我希望能够利用这种关系来直接计算,但我无法想出正确的DAX来做到这一点 .
1 回答
您可以将COUNTROWS()与VALUES()结合使用 .
具体来说,COUNTROWS()将为您提供表中的行数 . 这意味着COUNTROWS期望输入一个表 . 这是神奇的部分:VALUES()将返回一个表作为结果,它返回的表是您提供的表/列中的不同值作为VALUES()的参数 .
我不确定我是否正在解释它,因此对于您提供的示例数据,该度量将如下所示(假设该表名为Table1):
然后,您可以从Powerpivot创建数据透视表,并将“餐厅ID”拖动到“行”中,并将上面的度量拖动到“值”中 . 与DISTINCTCOUNT相同,但性能开销较小(我认为) .