美文网首页
PowerBI小技巧

PowerBI小技巧

作者: 冬季男孩 | 来源:发表于2021-03-11 15:20 被阅读0次

因工作需要,最近一直在学习PowerBI,记录一些学习收获。

常用的度量值

统计行数

=COUNTA(字段名) #非空
=COUNT(字段名) #所有

统计某列为值为Y的行数:

=CALCULATE(COUNTROWS('Approve'),'Approve'[IS_SINGLE]="Y",筛选2...)

计算筛选后数据的均值:

=AVERAGEX(FILTER(User,User[Code]<>"SMRTCLM"&&Approve[折算]>10),Approve[折算])

获取前一天的数并计算行数:

=CALCULATE(COUNTROWS(表名),DATEDIFF(IF(日期字段<>0,
DATE(LEFT(日期字段,4),MID(日期字段,5,2),MID(日期字段,7,2)),
"2020-02-01"),NOW(),DAY)=1)

按某列的值筛选,求合计值(影响合计值)

=CALCULATE(SUMX(User,User[折算小时数]/7.5),User[Code]<>"SMRTCLM")

统计某列为值为Y的合计

=CALCULATE(COUNTROWS('Approve'),'Approve'[IS_SINGLE]="Y")

添加条件的统计

=AVERAGEX(FILTER(User,User[Code]<>"SMRTCLM"&&User[Code]<>"ISERVIC"&&Approve[折算]>10),Approve[折算])

新建表连接两个查询 a, b

左外连接:FinalTable = NATURALLEFTOUTERJOIN(a,b)
内连接:FinalTable = NATURALINNERJOIN(a,b)

Casewhen

SWITCH (true(), 条件1,结果1…)
=CALCULATE([销售总额],FILTER(ALL('门店城市'),[销售总额]>20000000))

报表中显示数据刷新时间

新建空报表,插入:
DateTimeZone.SwitchZone(DateTimeZone.FixedUtcNow(),8)
DateTime.LocalNow()
  1. 在本地刷新后发布到Power BI Service,返回的是本地电脑的时间;
  2. 在云端设置计划刷新(不涉及网关),返回的是云端服务器所在国家的时间;
  3. 基于本地数据源的计划刷新(涉及网关),返回网关系统的时间。

区别:DateTimeZone.SwitchZone(DateTimeZone.FixedUtcNow(),8),通过加减时差来避免时区差异产生的问题。这种方法也有弊端,即实行冬夏令时的国家地区,时差是不固定的,每年需要调整2次。
通过这个函数可以生成一个表,该表存储数据模型每次刷新时的当前时间。

日期表生成

calender("2021/01/01","2021/01/31")

相关文章

网友评论

      本文标题:PowerBI小技巧

      本文链接:https://www.haomeiwen.com/subject/lptoqltx.html