发卖员2万个,订单数量是对订单号的非重复计数,用DAX打算非重计数,直策应用DISTINCTCOUNT即可,这里还要剔除空行,那便是DISTINCTCOUNTNOBLANK。
但是这么打算,数据量小也还OK,如果数据量大,模型的链路又长的话,那便是花都谢了的结局。
作为专业的POWERBI&SSAS&DAX开拓职员,必须给出破解DISTINCTCOUNT性能杀手的大杀器,废话不多说,直接看代码。

订单数量 = DISTINCTCOUNTNOBLANK('Fact_发卖数据'[订单数])
性能.订单数量 =
SUMX (
GROUPBY (
FILTER ( 'Fact_发卖数据', NOT ISBLANK ( 'Fact_发卖数据'[订单数] ) ),
'Fact_发卖数据'[订单数]
),
1
)
性能.订单数量2 =
SUMX (
SUMMARIZE(
FILTER ( 'Fact_发卖数据', NOT ISBLANK ( 'Fact_发卖数据'[订单数] ) ),
'Fact_发卖数据'[订单数]
),
1
)
性能.订单数量3 =
SUMX (
CALCULATETABLE(
VALUES(
'Fact_发卖数据'[订单数]),
not ISBLANK('Fact_发卖数据'[订单数])),
1
)
性能.订单数量4 =
SUMX (
CALCULATETABLE(
DISTINCT(
'Fact_发卖数据'[订单数]),
not ISBLANK('Fact_发卖数据'[订单数])),
1
)
本文供应了4个优化的写法,实质都是对去重表的行数计1,求和,结果便是秒出,
这回不再是等得花都谢了,而是花儿为何这样红了~~
至于为何要这么写,一方面是参考意大利人的SQLBI博客,一方面是自己的开拓实践结合的产物,个中的事理,此处省略一万字,有须要的直接拿去,复制粘贴即可,省下韶光去做更有代价的事情吧,周五了,放工收工,祝大家周末愉快!