- 博客(63)
- 问答 (2)
- 收藏
- 关注
原创 8.23 PowerBI系列之DAX函数专题-报表性能优化
(2)将更多复杂的数据清晰任务交给数据源端处理,比如链接的数据源是数据库,那么数据查询性能的调优和数据清晰任务可以交给SQL处理,SQL处理完的结果再导入Power BI。(1)可以使用dataflow数据流(输一个数据表/源由多个报表使用)或共享数据集(一个数据集由多个报表使用)(4)规范度量值存储,存储在单独的度量值管理表中,方便查找和管理。(6)尽量使用显式度量值,减少对快速度量值和隐式度量值的依赖。(2)尽量避免使用DAX迭代器函数(如SUMX,MAXX)
2024-05-30 17:22:48
354
原创 8.22 PowerBI系列之DAX函数专题-盈亏平衡分析
1 单位变动成本 = generateseries(0,100,1)2 固定成本 = generateseries(0,50000,1)3 毛利率 = generateseries(0,0.4,0.01)一、用参数设置固定成本,单位变动成本,与毛利率。
2024-05-30 17:18:48
349
原创 8.20 PowerBI系列之DAX函数专题-RFM客户价值分析
当指定百分位数的值在数组中的两个值之间时,PERCENTILE.EXC 将进行插值。如果它无法为指定的百分位数 k 进行插值,则返回错误。如果 k 不是 1/(n - 1) 的倍数,则 PERCENTILE.EXC 将插入值以确定第 k 个百分位数的值。如果 k 为零或空白,则百分点等级 1/(n+1) 返回最小值。如果为零,则超出范围,并返回错误。如果 k 为非数字或超出 0 到 1 的范围,则返回错误。如果列为空,则返回 BLANK()。
2023-12-25 21:15:47
217
原创 8.16 PowerBI系列之DAX函数专题-客户购买商品关联度的分析
【代码】8.16 PowerBI系列之DAX函数专题-客户购买商品关联度的分析。
2023-12-25 21:15:32
208
原创 8.14 PowerBI系列之DAX函数专题-分析客户购买行为
其实如果同时输出订单号的情况下,可以通过订单号出现的次数判断同一订单中同时购买与否的关系。
2023-10-17 11:35:34
239
原创 8.13 PowerBI系列之DAX函数专题-商品折上折迭代函数SUMX详解
迭代的意思是就是逐行计算,当前行计算的时候需要依赖上一行的计算结果。
2023-10-17 11:35:22
296
原创 8.12 PowerBI系列之DAX函数专题-分组内动态TopN和others
【代码】8.12 PowerBI系列之DAX函数专题-分组内动态TopN和others。
2023-10-17 11:35:12
363
原创 Power BI-云端报表定时刷新--ODBC、MySQL、Oracle等其他本地数据源的刷新(二)
(2)tnsname.ora文件中配置监听(listener)或在图形化界面中配置监听;1.首次使用应安装对应数据库的ODBC驱动程序,Mysql的ODBC驱动需要手动安装。(3) 在powerbi或者gateway中配置时,将监听的名称作为参数配置进去;一些小众的数据源无法直接连接,需要通过微软系统自带的应用“ODBC数据源”连接。1.Powerbi与Gateway第一次连SQL 需要安装连接插件。(1)安装Gateway的电脑需要安装Oracle客户端;2.在web服务中进行数据源的配置。
2023-07-29 18:51:49
1318
原创 Power BI-网关设置与云端报表定时刷新(一)
1.登录到Powerbi 在线服务–设置–下载–网关–下载标准模式–得到PowerBIGatewayInstaller.exe文件。网关是将本地数据传输至云端的桥梁,不仅Power BI能使用,其他微软软件也能够使用。(1)选择网关、填写连接名称、选择连接类型。我们发布在云上的报表,发布后是静态的,不会自动刷新。2.关于网关集群的知识补充,多网关可以通过多硬件或者虚拟机实现。3.网关管理界面可以管理用户,设置用户权限。1.从设置中进入到网关管理界面。(1)本地数据源增删改后;(2)填写用于身份验证的。
2023-07-29 17:30:41
1819
原创 8.11 PowerBI系列之DAX函数专题-TopN中实现N的动态
1 ranking by amount = rankx(allselected(order_2[产品名称]),[total amount])Topn的值 = generateseries(1,15,1)var v_topN-no = [topN参数 值]3 将度量值2放入视觉对象筛选器,条件是等于1。(2)DAX 函数创建。
2023-07-28 21:04:18
565
原创 8.9 PowerBI系列之DAX函数专题- TopN和BottomN和otherN的实现
返回的表的世系基于 table_expression1 中的列,与第二个表中列的世系无关。例如,如果第一个 table_expression 的首列有模型中基本列 C1 的世系,则 Except 将基于第二个table_expression 首列中的值的可用性来减少行,并保持基本列 C1 的世系不变。如果某行仅出现在 table_expression1 中,则该行及其重复项将出现在结果集中。返回的表不包括与 table_expression1 相关的表中的列。返回的行集取决于两个表达式的顺序。
2023-07-26 08:33:49
837
原创 8.8 PowerBI系列之DAX函数专题-分组内排名的实现和理解迭代函数
【代码】8.8 PowerBI系列之DAX函数专题-分组内排名的实现和理解迭代函数。
2023-07-26 08:33:18
1121
原创 8.7 PowerBI系列之DAX函数专题-排名逻辑的4种实现-rankx详解
任何返回单个标量值的 DAX 表达式。为表的每一行计算表达式以生成所有可能的值来进行排名。(可选)任何返回单个要查找其排名的标量值的 DAX 表达式。请查看备注部分,了解在表达式中未找到 value 时的函数行为。(可选)指定如何对 value 进行排名的值,从低到高或从高到底。任何返回已计算其表达式的数据库表的 DAX 表达式。忽略 value 参数时,将改用当前行的表达式值。(可选)定义存在等同值时如何确定排名的枚举。
2023-07-26 08:33:00
1992
原创 8.6 PowerBI系列之DAX函数专题-非日期类型的累计聚合
注意,上述实现方式在创建该度量值时使用了实现创建好的产品表,由于该表的上下文是创建时的上下文,即计算销售额排名是以原表为基础,而非外部筛选器筛选过的表为基础,因此在存在其他外部筛选器的情况下,这种无法合并外部上下文的特性会导致度量值的计算错误。1)按照product表里的"amt"列计算按照销售金额排名的位次度量值 cnt大于等于current(有多少产品的销售金额大于当前商品);(1)在product表中添加按照产品名称加总的金额列,命名为"amt";(1)在power query中添加列-添加索引列;
2023-07-24 11:33:04
437
原创 8.5 PowerBI系列之DAX函数专题-dax列转行vs矩阵列转行和逆透视
1.用power query实现:在power query-转换-逆透视列中将原始数据进行列销售数量,列销售金额进行逆透视。然后在报表页面将逆透视的列放到行上。1)创建一个辅助表,单一列,包含销售数量,销售金额两个值;3)拓展:矩阵中使列在行上显示。使度量值在行上呈现,如下图。
2023-07-24 11:24:47
1390
原创 8.4 PowerBI系列之DAX函数专题-为矩阵的行列分组高亮显示不同颜色
var max_selected_year = maxx(allselected('订单表‘),‘订单表’[年份])selectedvalue(‘产品表’[商品类别])=max_selected_year,度量值 color of year =区分年度和级次设置颜色,效果如下。
2023-07-24 11:24:30
657
原创 8.3 PowerBI系列之DAX函数专题-矩阵Matrix中高亮显示最大最小值
var v_min = minx(displayed_data,[amount]) //获取到当前图中最大值最小值。summarize(‘订单表’,‘订单表’[订单日期].[year],‘订单表’[订单日期].[month]),summarize(‘订单表’,‘产品表’[商品次级类别],‘订单表’[订单日期].[year]),var rs = switch(true(),//和当前值作比较。度量值 is_max_min_2 =在条件格式–规则–基于字段进行计算。度量值 is_max_min =
2023-06-27 17:23:05
771
原创 8.2 PowerBI系列之DAX函数专题-进阶-实现切片器筛选之间的or逻辑
两个切片器之间都被选中的情况下,实现符合切片器条件的并集的结果呈现,而非交集的结果呈现,
2023-06-27 17:22:50
1110
原创 8.1 PowerBI系列之DAX函数专题-进阶-解决列排序对计算的影响
下列矩阵中,在月份列不按照原始数据的month_no排列时,能正确计算销售额占比,但是当月份按照month_no排序时就会出错,需要解决这个问题。
2023-06-27 17:20:27
228
原创 7.18 PowerBI系列之DAX函数专题 -根据当月已发生数据量预测当月总量
2.不同度量值写法适用于不同的视觉对象,这意味着我们在设计度量值时,已经对展现结果有了相应的预期;因此,当最终展现的视觉对象有变化时,很可能需要对度量值进行修改。对于图例为月份横轴为客户的条形图(如下图),需要修改元度量值v_prod_type为客户。1.长度量值要分步调试,可以利用卡片图等简单的视觉对象返回分步结果。上述度量值适用于图例为产品,横轴为月份的堆叠柱状图(见结果展示图)
2023-06-17 12:22:29
674
原创 7.16 PowerBI系列之DAX函数专题-日期时间函数和时间智能函数使用总结
以日期/时间格式返回指定月份数之前或之后的月份的最后一天的日期。7.calendar表和事实表建立关系需要基于date类型的日期列,如果是其他类型的类建立关系,时间智能函数无法正确使用。5.不要使用datetime类型的列,尽量使用date类型列,因为达特time包含时间,函数在处理时性能比较差。dateadd函数只能将date日期作为参数传入,不能将带有日期和时间的列作为参数。4.calendar表需要按天连续,没有重复值,没有空值,日期列是date类型。以日期/时间格式返回指定的日期。
2023-05-23 13:39:08
2761
原创 7.15 PowerBI系列之DAX函数专题-根据历史数据做销售预测
AVERAGEX 函数使你能够为表的每一行计算表达式,然后获取结果值集并计算其算术平均值。因此,函数将表作为第一个参数,将表达式作为第二个参数。下面的示例计算 InternetSales 表中每个订单的平均运费和税金,方法是首先将每行的运费加上 TaxAmt 求和,然后对这些总和求平均值。在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。如果没有要聚合的行,该函数将返回空白。当存在行,但没有一行符合指定的条件,则函数返回 0。2.利用历史数据进行预测。
2023-05-19 16:58:29
943
原创 7.12 PowerBI系列之DAX函数专题-实现两个日期列的单位筛选
两个字段的数据都需要落在所选择的范围中,如下图的入职日期与离职日期都需要落在切片器的范围内,即入职日期大于开始日期,离职日期小于结束日期。1.创建日期表,不用和事实表建立关系;3.将度量值应用到数据筛选器。2.创建度量值返回标识;
2023-05-14 20:49:06
1070
原创 7.11 PowerBI系列之DAX函数专题-动态任意区间段做数据对比
2.两个日期表之间需要有非活跃的关系,在计算区间2的销售额时才动态激活,这样我们区间2 的切片器才不会影响区间1 的计算;1.需要又两个日期表,但是只有一个日期表和订单表有filter关系。动态对比任意指定的两个区间的数据,如下图。
2023-05-04 08:23:34
870
1
原创 7.2 PowerBI系列之DAX函数专题-同比环比分析(dateadd)
按照月份序号对数据进行排序,结果如图所示。,否则时间智能函数可能无法准确计算。dateadd函数生成日期。
2023-05-04 08:23:04
2915
原创 7.9 PowerBI系列之DAX函数专题-趋势图中根据最近月份取topN
视觉对象筛选器按照度量值的前几名进行筛选。2.按照特定期间的前几名画出全年趋势图。1.需求1可以在筛选器上直接筛选。1.按总量的前几名画出趋势图。
2023-05-02 19:50:47
351
原创 7.8 PowerBI系列之DAX函数专题-计算季度末或者季度月末的数据
CLOSINGBALANCEQUARTER、OPENINGBALANCEQUATER可用于取出期初期末的数据。实现展示季度末最后一个月份的销售数据。
2023-05-02 19:50:29
928
原创 7.7 PowerBI系列之DAX函数专题-指定月份的同比环比和季度环比
dax的上下文影响无处不在,在报表交互层面,用户可见的只是选中了的某个具体日期,但是在原始数据层面,这个日期是一个单元格,拥有自己的行上下文;在模型层面,ta处于某个关系的一端,拥有自己的筛选上下文,因此能灵活对应到其他不同字段;在报表层面,前两者被嵌入了视觉对象的代码块中,综合形成了最终的交互结果。这种隐式规则是powerbi报表可交互的核心原理。却不能仅从用户自己写的代码中被窥见,所以在刚开始学习的时候觉得难以理解。我觉得GPT暂时学不会ta哈哈哈。
2023-04-28 16:19:57
3603
原创 7.6 PowerBI系列之DAX函数专题-周的同比环比与周聚合
系统 2 - 包含一年第一个星期四的周是一年的第一周,编号为“第 1 周”。此系统是 ISO 8601 中指定的方法,通常称为欧洲周编号系统。系统 1 - 包含 1 月 1 日的周是一年的第一周,编号为“第 1 周”。上面的代码中涉及到了selectedvalue,附上官方文档。实现如下图的周同比环比分析。
2023-04-28 16:19:55
2261
原创 7.4 PowerBI系列之DAX函数专题-期初期末库存分析
商品库存的数量,每天将不同的商品数量汇总在一起,但是月汇总不能将每天的库存都加在一起,我们应取月末的库存余额。使用lastdate和closingbalancemonth等函数实现。
2023-04-23 11:12:26
1230
原创 7.5 PowerBI系列之DAX函数专题-日期分析-计算任意所选月份的环比
根据切片器选择结果显示当月销售额和当前所选范围内上月销售额与环比。
2023-04-23 11:12:01
2208
原创 7.3 PowerBI系列之DAX函数专题-时间智能-累计聚合、滚动聚合、移动平均
使用该函数可以按标准日期间隔(如日、月、季度或年)筛选表达式。number_of_intervals,一个整数,指定要添加到 dates 或从 dates 中减去的时间间隔数。该函数返回一个表,此表包含一列日期,日期以指定的开始日期开始,并按照指定的日期间隔一直持续到指定的数字。3.使用datesytd函数可以自定义自己公司的财年范围,不指定年结束日的情况,默认是从1月到12月。1.power bi中使用时间智能函数一定要有一个日期连续的日历辅助表calendarauto()dates,日期列。
2023-04-22 00:26:38
1776
原创 7.1 PowerBI系列之DAX函数专题-日期表与事实表关联问题
说明表关系建模的时候是用的原始日期时间数据做的关联,能关联上的数据只是具体某一天的0点0分0秒。,此时和calendar中的date列关联,会出现大量数据无法关联的情况(统计值为空的行),4 解决方法:在powerquery中将订单日期处理为只包含年月日的格式,见订单表2。重点:日期格式和日期时间格式关联容易造成计算结果不对,即使在数据视图调整了日期格式。2 将calendar表的date列和订单表的订单日期关联。3 订单表的订单日期是。
2023-04-22 00:26:04
1496
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人