PowerBI实用技巧:案例一(动态切换坐标轴列值,例如交叉表头列,图表坐标轴等)

Posted hfj1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerBI实用技巧:案例一(动态切换坐标轴列值,例如交叉表头列,图表坐标轴等)相关的知识,希望对你有一定的参考价值。

前段时间工作上面有一个需求,用户想要自己通过切片器来控制坐标轴的维度,那么这遍文章我就主要是要介绍一下如何制作动态的坐标轴。

      这次分析的数据是销售的最低价格,分别从周日期、天日期和promotions三个维度进行分析,要实现的效果是,如果选择了WEEK,那坐标轴就是周的名称,展示周的最低销售价格,如果选择了DAY,那坐标轴则是天的维度,展示每天的最低销售价格。(这里面有个划重点的需要,因为需要用交叉表的方式展示,所以表头还有一个promotions名称需要一并展示出来)

第一步:

Axis dimension Table =

VAR TABLE1=SELECTCOLUMNS(ADDCOLUMNS(‘T_SALES‘,"Index","Weekly","PromotionEN",T_SALES[PROMOTION]),"Index","Weekly","Promotion",‘T_SALES‘[PROMOTION],"Index detail",T_SALES[WEEKLY])

VAR TABLE2=SELECTCOLUMNS(ADDCOLUMNS(‘T_SALES‘,"Index","Day","PromotionEN",T_SALES[PROMOTION]),"index","Day","Promotion",‘T_SALES‘[PROMOTION],"Index detail",‘T_SALES‘[DATE])

RETURN UNION(TABLE1,TABLE2)

        ADDCOLUMNS函数和SELECTCOLUMNS都是表函数,它们的第一个参数是表,返回的也是一张表,这是理解这两个函数的关键。

       这个度量值主要是ADDCOLUMNS函数与SELECTCOLUMNS函数的密切配合,先用ADDCOLUMNS函数在提取的维度表上添加一列该维度的属性,返回带属性值的表;然后用SELECTCOLUMNS命名字段名,返回两个相同字段名的表,最后用UNION把两个表合并成一张表。这里面要注意的是promotion这个字段,因为不管是筛选日期还是周的时候,这个指标维度都需要展示出来,所以我们在做Union的时候需要都写出来。

       我们创建出来的表效果如下:

                                            技术图片

第二步:

创建我们需要展示的度量值

MINPRICE =

IF(HASONEFILTER(‘Axis dimension Table‘[Index]),

SWITCH(TRUE(),

SELECTEDVALUE(‘Axis dimension Table‘[Index])="Weekly",CALCULATE([MIN_PRICE],TREATAS(VALUES(‘Axis dimension Table‘[Index detail]),‘T_SALES‘[WEEKLY]),TREATAS(VALUES(‘Axis dimension Table‘[Promotion]),‘T_SALES‘[PROMOTION])),

SELECTEDVALUE(‘Axis dimension Table‘[Index])="Day",CALCULATE([MIN_PRICE],TREATAS(VALUES(‘Axis dimension Table‘[Index detail]),T_SALES[DATE]),TREATAS(VALUES(‘Axis dimension Table‘[Promotion]),T_SALES[PROMOTION]))),

error("Single Select"))

最终效果如下

 技术图片

 

总结:

TREATAS:

1.维度表或事实表之间没有可以单独关联的列;
2.出现多对多或其他无法使用直接的方法关联的情况
3.数据模型非常复杂时,通过建立虚拟关系以减少对表格之间物理连接的依赖
(根据Marco的说法:额外的物理关系可能会在过滤器传播到其他表时产生某种副作用)

将表表达式的结果作为筛选器应用于无关表中的列,表之间不存在关系时,最适合使用。

以上是关于PowerBI实用技巧:案例一(动态切换坐标轴列值,例如交叉表头列,图表坐标轴等)的主要内容,如果未能解决你的问题,请参考以下文章

PowerBI开发 第三篇:报表设计技巧

AxureRP8实战手册-案例12(动态面板:自动图片切换)

数据可视化之DAX篇Power BI度量值不能作为坐标轴?这个解决思路送给你

DAX/PowerBI系列 - 参数表(Parameter Table)

#POWERBI 度量值动态格式字符串,利用动态格式,实现百分数智能缩位(powerbi4月重磅更新功能)

powerbi切片器的技巧?