如何玩转一个动态的数据透视表
数据源:
参数表:
关系表:
显示效果:
一个动态的报表
在这里首先让我们构建三个基础度量值
总数量:=SUM('销售表'[数量])
订单数量:=DISTINCTCOUNT('销售表'[订单])
金额:=SUMX('销售表','销售表'[数量]*RELATED('产品表'[单价]))
然后就是取值
根据这个表取值,后面用它作为切片器:取值:=IF(HASONEFILTER('值类型'[列1]),SWITCH(VALUES('值类型'[列1]),"金额",[金额],"数量",[总数量],"订单",[订单数量]),[金额]) //前面来个判断,保证VALUES('值类型'[列1])能取到唯一值
上面这个度量值包含了各种变化,随着切片器的变化而变化,
我们把这个神奇的度量值放进排名度量值排名1:=IF([取值],RANKX(ALL('产品表'),[取值],,DESC,Dense))
前面加个IF 保证取到非0值,为了排名直观采用dense排名
有了排名自然就有后面的个性化显示问题
我们需要取出表中的排名作为引用,我们希望topn作为切片器,产生一个动态的报表取名次:=IF(HASONEVALUE('TopN'[TopN]),VALUES('TopN'[排名]),MAXX(VALUES('产品表'[产品]),[排名1]))
让我们把[取名次]这个度量值和排名联系到一起:
排名_显示排名:=IF([排名1]<=[取名次],[排名1])
购物篮分析 一石二鸟 - M迷心窍的文章 - 知乎
https://zhuanlan.zhihu.com/p/150164139
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)