Power BI DAX常用函数使用场景和代码示例

图片

Power BI函数表达式对于没有接触过的朋友可能会有些迷茫,花一点时间了解一下原理在学习一些常用的DAX函数,就可以解决工作中绝大部分问题,函数使用都是共同的。

以下是一些最常用的DAX函数,如聚合,计数,日期等类型方面解释,包括它们的使用场景,以及根据使用场景提供的DAX代码示例:

1,SUM: 计算数值列的总和。
  • 使用场景:计算特定时间段内的销售总额。

  • DAX代码:Total Sales = SUM(Sales[Amount])

2,AVERAGE: 计算数值列的平均值。
  • 使用场景:计算产品的平均售价。

  • DAX代码:Average Price = AVERAGE(Products[Price])

3,COUNT: 计算数值列中非空值的数量。
  • 使用场景:计算特定条件下的订单数量。

  • DAX代码:Order Count = COUNT(Sales[OrderID])

4,COUNTA: 计算列中非空值的数量,包括逻辑值。
  • 使用场景:计算表格中具有有效数据的行数。

  • DAX代码:Non-Blank Rows = COUNTA(Sales[OrderID])

5,MAX: 找出数值列中的最大值。
  • 使用场景:找出最高销售额的订单。

  • DAX代码:Highest Sale = MAX(Sales[Amount])

6,MIN: 找出数值列中的最小值。
  • 使用场景:找出最低价格的产品。

  • DAX代码:Lowest Price = MIN(Products[Price])

7,CALCULATE: 根据筛选器计算表达式。
  • 使用场景:计算特定产品类别的总销售额。

  • DAX代码:Category Total Sales = CALCULATE(SUM(Sales[Amount]), Products[Category] = "Electronics")

8,FILTER: 根据条件筛选表。
  • 使用场景:筛选销售额超过一定值的订单。

  • DAX代码:High Value Orders = FILTER(Sales, Sales[Amount] > 1000)

9,ALL: 移除筛选器,使用表的所有行进行计算。
  • 使用场景:计算所有产品的总销售额,忽略当前筛选。

  • DAX代码:All Products Total Sales = CALCULATE(SUM(Sales[Amount]), ALL(Products))

10,DISTINCTCOUNT: 计算列中不同值的数量。
  • 使用场景:计算不同客户的数量。

  • DAX代码:Unique Customers = DISTINCTCOUNT(Customers[CustomerID])

11,LOOKUPVALUE: 查找与给定条件匹配的值。
  • 使用场景:根据客户ID查找客户名称。

  • DAX代码:Customer Name = LOOKUPVALUE(Customers[Name], Customers[CustomerID], 12345)

12,RANKX: 对表中的行进行排名。
  • 使用场景:根据销售额对销售人员进行排名。

  • DAX代码:Salesperson Rank = RANKX(Salesperson, SUM(Sales[Amount]))

13,DATEADD: 给日期列添加指定的时间间隔。
  • 使用场景:计算上个月的销售额。

  • DAX代码:Last Month Sales = CALCULATE(SUM(Sales[Amount]), DATEADD(Sales[OrderDate], -1, MONTH))

14,TOTALYTD: 计算年初至今的总和。
  • 使用场景:计算年初至今的总销售额。

  • DAX代码:Year to Date Sales = TOTALYTD(SUM(Sales[Amount]), 'Date'[Date])

大家请注意,上述DAX代码示例中的表名和列名(如Sales, Amount, Products, Price等)是假设的,你需要根据实际的模型调整它们。此外,一些函数如RANKX和CALCULATE可能需要更复杂的表达式来满足特定的业务逻辑。

有的小伙伴也留言询问是否还比较好Power BI DAX相关的书籍或者资料,这里可以给大家推荐一本【DAX权威指南】,号称Power BI DAX圣经,很好的一本书,有兴趣的小伙伴可以学习一下,会让你使用DAX的技巧有质的飞跃。

图片

今天分享到此结束,记得每天花5分钟来学习Power BI的小技巧,提升你自己。想要了解更多Power BI的小技巧,关注我哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3226727.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

了解劳动准备差距:人力资源专业人员的战略

劳动准备差距是一个紧迫的问题,在全球人事部门回应,谈论未开发的潜力和错过的机会。想象一下,人才和需求之间的悬崖之间有一座桥,这促使雇主思考:我们是否为员工提供了足够的设备来应对未来的考验? 这种不…

【昆工主办|7月昆明】第三届绿色建筑、土木工程与智慧城市国际会议(GBCESC 2024)

随着全球城市化进程的加速,绿色建筑、土木工程与智慧城市等议题逐渐成为了行业内外关注的焦点。在这一背景下,第三届绿色建筑、土木工程与智慧城市国际会议(GBCESC 2024)的召开,无疑将为相关领域的研究者、学者及从业者…

windows防火墙端口设置

PS:本文实例为Windows Server 2019,其他Windows版本大同小异。 1、首先打开windows防火墙,点击“高级设置” 2、 高级设置界面 3、假设需要开放一个端口为3306应该怎么做 光标对准“入站规则”右键新建规则,选择“端口” 协议这…

解决Anaconda下载pytorch常见问题

1.问题一 安装完Anaconda后,输入conda命令,出现 conda不是内部或外部命令,也不是可运行的程序 或批处理文件。 分析原因:未配置环境到系统变量 解决方法:将Anaconda安装路径和Anaconda目录下的Scripts文件的路径配…

从重庆元宇宙国风秀看未来元宇宙发展趋势

2024年2月24日,为纪念梅兰芳先生诞辰130周年,以“新国风东方美”为主题的【承华灵境】元宇宙国风秀在重庆市人民大礼堂发布。这场活动将中国经典艺术与数字化技术融合,呈现了一场新国风东方美学的跨越时空人文科技之旅,其中的重点…

短链接服务Octopus-搭建实战

[WARNING] The POM for cn.throwx:octopus-contract:jar:1.0-SNAPSHOT is missing, no dependency information available 解决方案: cd octopus-contract/ mvn install -------------- ➜ octopus-server git:(master) ✗ mkdir -p /data/log-center/octopus/s…

c++ 多边形 xyz 数据 获取 中心点方法

有需求需要对。多边形 获取中心点方法&#xff0c;绝大多数都是 puthon和java版本。立体几何学中的知识。 封装函数 point ##########::getCenterOfGravity(std::vector<point> polygon) {if (polygon.size() < 2)return point();auto Area [](point p0, point p1, p…

什么是量化机器人?它能来作些什么?一篇文章带你了解!

在科技日新月异的今天&#xff0c;我们经常会听到一些听起来高大上的词汇&#xff0c;比如“人工智能”、“大数据”和“量化交易”。而在这其中&#xff0c;“量化机器人”更是一个让人既好奇又略感神秘的存在。今天&#xff0c;我们就用通俗易懂的语言&#xff0c;一起来揭开…

网页UI:想让页面更加精致,我来偷偷告诉你7个细节

采用合适的配色方案&#xff1a; 选择一套合适的配色方案&#xff0c;搭配主题色和辅助色&#xff0c;以及不同色调的阴影和渐变效果&#xff0c;可以让网页UI更加丰富、有层次感。 使用合适的字体&#xff1a; 选择适合网页风格的字体&#xff0c;如清晰易读的无衬线字体&a…

Java中的公平锁和非公平锁

1、什么是公平锁和非公平锁 公平锁和非公平锁是指在多线程环境下&#xff0c;如何对锁进行获取的顺序和策略的不同。 公平锁是指多个线程按照申请锁的顺序来获取锁&#xff0c;即先到先得的策略。当一个线程释放锁之后&#xff0c;等待时间最长的线程将获得锁。公平锁的优点是保…

【SVN-CornerStone客户端使用SVN-多人开发-解决冲突 Objective-C语言】

一、接下来,我们来说第三方的图形化界面啊, 1.Corner Stone:图形化界面,使用SVN, Corner Stone的界面,大概就是这样的, 1)左下角:是我们远程的一个仓库, 2)右上角:是我们本地的一些东西, 首先,在我的服务器上,再开一个仓库,叫做wechat, 我在这个里边,新建…

[leetcode]partition-list 分隔链表

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:ListNode* partition(ListNode* head, int x) {ListNode *smlDummy new ListNode(0), *bigDummy new ListNode(0);ListNode *sml smlDummy, *big bigDummy;while (head ! nullptr) {if (head->val &l…

柔性测斜仪:监测钻孔位移的核心利器

柔性测斜仪&#xff0c;作为一款创新的测量工具&#xff0c;凭借其卓越的设计与性能&#xff0c;在地下建筑、桥梁、隧道及水利水电工程等领域展现出非凡的应用价值。其安装便捷、操作简便、高精度及长寿命等特性&#xff0c;使之成为监测钻孔垂直与水平位移的理想选择。以下是…

32 华三vlan案例+STP

32 华三vlan案例STP 1 开启STP 显示根桥信息 查看stp中的接口角色 查看设备的根桥ID 最小的值是根网桥 原则一 网络初始化时&#xff0c;网络中所有的STP设备都认为自己是“根桥”&#xff0c;根桥ID为自身的设备ID。通过交换BPDU&#xff0c;设备之间比较根桥ID&#xff0c;网…

IEEE TETCI | GPBT: 基于种群的强化学习超参优化的学习

一、 超参数优化 超参数优化是在机器学习和深度学习中非常重要的一个环节。 超参数是在模型训练之前就需要设定的参数&#xff0c;它们不能通过训练过程自动学习得到&#xff0c;例如学习率、层数、节点数、正则化参数等。 常见的超参数优化方法包括手动搜索、随机搜索、网格搜…

如何用Vue3和Plotly.js绘制交互式瀑布图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Plotly.js 在 Vue 中创建瀑布图 应用场景 瀑布图广泛用于可视化财务报表和展示增量变化&#xff0c;例如利润表、现金流量表和收入分析。它们通过将正值和负值堆叠在垂直轴上&#xff0c;清晰地展示每个…

从零开始学量化~Ptrade使用教程(四)——股票普通买卖与回购业务

股票普通买卖 股票买入 通过选择委托方向实现股票的买入与卖出&#xff0c;可根据输入的价格自动查询可买数量。 用鼠标点击【买入】&#xff0c;如图所示&#xff1a; 输入股票代码并选中后&#xff0c;选择委托类型&#xff0c;若为限价类型&#xff0c;输入委托价格&#xf…

13--memcacheredis构建缓存服务器

前言&#xff1a;数据库读取速度较慢一直是无法解决的问题&#xff0c;大型网站应对的方式主要是使用缓存服务器来缓解这种情况&#xff0c;减少数据库访问次数&#xff0c;以提高动态Web等应用的速度、提高可扩展性。 1、简介 Memcached/redis是高性能的分布式内存缓存服务器…

软件架构之系统分析与设计方法(2)

软件架构之系统分析与设计方法(2&#xff09; 8.4 面向对象的分析与设计8.4.1 面向对象的基本概念8.4.2 面向对象分析8.4.3 统一建模语言 8.5 用户界面设计8.5.1 用户界面设计的原则8.5.2 用户界面设计过程 8.6 工作流设计8.6.1 工作流设计概述8.6.2 工作流管理系统 8.7 简单分…

【限时删!绝命Coding助力秋招】Python实现Boss海投脚本

hello hello~ &#xff0c;这里是绝命Coding——老白~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff1a;绝命Coding-CSDN博客 &a…