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

这次分析的数据是销售的最低价格,分别从周日期、天日期和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实用技巧:案例一(动态切换坐标轴列值,例如交叉表头、列,图表坐标轴等)相关推荐

  1. PowerBI实用技巧:案例五(巧用Switch函数展现指标RGB颜色)

    实用技能点: 动态切换指定指标值颜色(例截止当前月之前使用绿色,当月之后使用红色) 动态改变柱子颜色 每次提新的需求的时候,我大概就是这个表情.拿着两块五的工资,要干四块五的话啊. 今天分享一波开发报 ...

  2. WPF案例 (六) 动态切换UI布局

    原文:WPF案例 (六) 动态切换UI布局 这个Wpf示例对同一个界面支持以ListView或者CardView的布局方式呈现界面,使用控件ItemsControl绑定数据源,使用DataTempla ...

  3. PowerBI实用技巧:案例四(实现复杂动态矩阵TOPN and Others 排名分类)

    2020年的二月,大家都在过着一个不平凡的春节,大门不出 二门不迈.足足的在家窝了两个月,下面这张图大概就是我现在的状态.哈哈.... 进入正题,最近一个小伙伴因为工作上面遇到了一个有点难度的问题,过 ...

  4. 一次动态闪屏项目中用到的7个AE实用技巧

    最近我会陆续分享一些我在实际工作中用到的实用技巧(很多都是我自己踩过的坑),内容很干,希望大家看完就能用上,多多关注吧!之前做了一个App的视频闪屏项目,时间只有一周,所以流程是用unity游戏引擎绑 ...

  5. excel取整函数_10个Excel实用技巧 | 附案例详解

    今天给大家分享10个实用的EXCEL技巧.跟那些烂大街的什么提取生日不一样,可能会比较复杂,所以我会附上详细的函数解释.说明和思路.使用环境以EXCEL2007默认安装为准.强烈建议大家抛弃2003, ...

  6. MATLAB Appdesigner实用技巧(三):在App中实现示波器效果/动态波形效果

    1. MATLAB App显示动态波形 IMU901上传上来的数据中包含四元数和加速度,每帧数据包按如下格式向上位机发送: 0.00 0.00 0.00 0.00 0.00 0.00 0.00\r\n ...

  7. 十个成功企业案例分析_2020年新版 企业合理节税避税经典案例讲解+企业纳税筹划实用技巧与典型案例分析...

    企业纳税筹划实用技巧与典型案例分析>.本书论述了企业投资决策纳税筹划方案.企业经营决策纳税筹划方案.企业融资决策纳税筹划方案.企业再投资与结业决策纳税筹划方案.企业跨国经营纳税筹划方案.企业薪酬 ...

  8. css 动态生成圆形区域内扇形个数_CSS实用技巧总结

    ❝ 作者:幻灵尔依 (授权原创) https://juejin.im/post/5e0fef935188253a624a6a72 ❞ <css揭秘>中讲了47个css技巧,其中有很多日常编 ...

  9. html5 怎么插指南针,分享 HT 实用技巧:实现指南针和 3D 魔方导航

    前言 三维场景时常需要一个导航标识,用来确定场景所处的方位. 一般有两种表现形式:指南针.小方盒(方位魔方). 参考一下百度百科中的 maya 界面,可以看到右上角有一个标识方位的小盒子,说的就是它: ...

最新文章

  1. 目标检测 | 盘点目标检测中的特征融合技巧(根据YOLO v4总结)
  2. 攻破c语言笔试与机试难点,如何攻破C语言学习、笔试与机试的难点.doc
  3. wordpress引入php文件,WordPress主题制作之模板文件的引入方法,wordpress模板
  4. 判断一个字符串是否全部不相同
  5. ASP.NET Core 沉思录 - 结构化日志
  6. 二叉树的中序遍历非递归方法(算法导论第三版12.1-3)
  7. 搞清Image加载事件(onload)、加载状态(complete)后,实现图片的本地预览,并自适应于父元素内(完成)...
  8. 零基础iOS之Json及XML数据解析2
  9. 昆明北大附中2021高考成绩查询入口,昆明高考成绩单:昆明多所高中高考数据来啦!...
  10. 什么是阿里云服务器系统盘和数据盘?
  11. Java设计模式之单例模式(Singleton Pattern)
  12. 9.docker commit
  13. 实战HTML:花瓣网
  14. 多媒体视频处理工具FFmpeg的简介及安装
  15. 超强Commodore C64 emulator for Flash Player 9
  16. 西北农林科技大学CSDN高校俱乐部运营策划书
  17. 7-1 愿天下有情人都是失散多年的兄妹 --DFS
  18. [UER #1] DZY Loves Graph
  19. 数据可视化之文本情绪(极性)分析
  20. Mysql关键特性-插入缓冲 (Insert Buffer)

热门文章

  1. php修改qq举报按钮,自定义修改QQ在线状态
  2. 【基础知识】多标签分类CrossEntropyLoss 与 二分类BCELoss
  3. 水晶五笔下载地址(非技术)
  4. word表格怎么缩小上下间距_word表格怎么调整行高间距拉不动
  5. jzoj P1285 奶酪厂
  6. Java高级编程5-姜国海
  7. python文本分类算法_基于Naive Bayes算法的文本分类
  8. 求助:大文件mp4恢复
  9. Python Socket 网络通信详解
  10. 元月元日是哪一天_2021年元旦是在哪一天几号 1月1日周五