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://www.mfbz.cn/a/789566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

插入排序算法(C语言版)

直接插入排序 插入排序(insert sort)是一种简单的排序算法,它的工作原理与手动整理一副牌的过程非常相似。 具体来说,我们在未排序区间选择一个基准元素,将该元素与其左侧已排序区间的元素逐一比较大小,并…

Postman深度解析:打造高效接口测试自动化流程

《Postman深度解析:打造高效接口测试自动化流程》 一、概述与Postman核心优势 1. 接口测试的重要性与挑战 接口测试是确保软件系统各组成部分能够正确交互的关键环节。随着现代软件系统的复杂性增加,接口的数量和类型也在不断增长,这给接口测…

struts2如何防止XSS脚本攻击(XSS防跨站脚本攻击过滤器)

只需要配置一个拦截器即可解决参数内容替换 一、配置web.xml <filter><filter-name>struts-xssFilter</filter-name><filter-class>*.*.filters.XssFilter</filter-class></filter><filter-mapping><filter-name>struts-xss…

代码随想录(day3)有序数组的平方

暴力求解法&#xff1a; 心得&#xff1a;需要确定范围&#xff0c;比如nums.sort()是在for循环之外&#xff0c;根据函数的功能来确定 return返回的是nums&#xff0c;而不是nums[i]因为返回的是整个数组 class Solution(object):def sortedSquares(self, nums):for i in r…

leetcode--从前序与中序遍历序列构造二叉树

leetcode地址&#xff1a;从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,…

本地 HTTP 文件服务器的简单搭建 (deno/std)

首发日期 2024-06-30, 以下为原文内容: 在本地局域网搭建一个文件服务器, 有很多种方式. 本文介绍的是窝觉得比较简单的一种. 文件直接存储在 btrfs 文件系统之中, 底层使用 LVM 管理磁盘, 方便扩容. 使用 btrfs RAID 1 进行镜像备份 (一个文件在 2 块硬盘分别存储一份), 防止…

OAuth2.0登录的四种方式

OAuth登录的四种方式 1. 授权码 授权码&#xff08;authorization code&#xff09;方式&#xff0c;指的是第三方应用先申请一个授权码&#xff0c;然后再用该码获取令牌。 这种方式是最常用的流程&#xff0c;安全性也最高&#xff0c;它适用于那些有后端的 Web 应用。授权…

微信小程序style动态绑定Object不生效处理方法

渲染的时候style变成了[Object Object] 解决方法: 给Object外面加一个[] <image :style"[imgStyle]" :src"url"></image>

迁移至 AI-Ready 基础架构:日立内容平台至 MinIO

借助我们的 HCP-to-MinIO 工具&#xff0c;从 Hitachi Content Platform &#xff08;HCP&#xff09; 过渡到 MinIO 从未如此简单。该工具旨在支持客户不断变化的存储需求&#xff0c;可在 GitHub 上免费获得&#xff0c;大大简化了迁移过程。许多组织正在转型&#xff0c;以利…

vue3源码(六)渲染原理-runtime-core

1.依赖关系 runtime-dom 依赖于runtime-core,runtime-core 依赖于reactivity和sharedruntime-core提供跨平台的渲染方法createRenderer&#xff0c;用户可以自己传递节点渲染的渲染方法renderOptions&#xff0c;本身不关心用户使用什么APIruntime-dom提供了为浏览器而生的渲染…

秋招突击——7/9——字节面经

文章目录 引言正文八股MySQL熟悉吗&#xff1f;讲一下MySQL索引的结构&#xff1f;追问&#xff1a;MySQL为什么要使用B树&#xff1f;在使用MySQL的时候&#xff0c;如何避免索引失效&#xff1f;讲一下MySQL的事物有哪几种特征&#xff1f;MySQL的原子性可以实现什么效果&…

27.数码管的驱动,使用74HC595移位寄存器芯片

PS&#xff1a;升腾A7pro系列FPGA没有数码管外设&#xff0c;因此以AC620FPGA为例展开实验。 &#xff08;1&#xff09;共阳极数码管和共阴极数码管示意图&#xff1a; AC620中的数码管属于共阳极数码管&#xff0c;段选端口(dp,g,f,e,d,c,b,a)低电平即可点亮led。人眼的视觉…

在亚马逊云科技AWS上利用SageMaker机器学习模型平台搭建生成式AI应用(附Llama大模型部署和测试代码)

项目简介&#xff1a; 接下来&#xff0c;小李哥将会每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon …

【割点 C++BFS】2556. 二进制矩阵中翻转最多一次使路径不连通

本文涉及知识点 割点 图论知识汇总 CBFS算法 LeetCode2556. 二进制矩阵中翻转最多一次使路径不连通 给你一个下标从 0 开始的 m x n 二进制 矩阵 grid 。你可以从一个格子 (row, col) 移动到格子 (row 1, col) 或者 (row, col 1) &#xff0c;前提是前往的格子值为 1 。如…

【经典链表OJ】环形链表

一、题目要求 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

NSAT-8000电源检测软件测试砖式电源模块的方案及优势

砖式电源模块类型 砖式电源&#xff0c;顾名思义其外观尺寸像块砖&#xff0c;具有体积小、功率大、安装方便等特点。砖式电源模块具备高可靠性和高稳定性&#xff0c;能够为设备提供稳定的电力输出&#xff0c;在通信、工业、医疗等领域广泛应用。 根据尺寸大小&#xff0c;砖…

《WebGIS快速开发教程》第7版发布

老规矩先看封面&#xff1a; 可以看到我们在封面上加了“classic”的字样&#xff0c;这意味着第7版将会是经典版本&#xff0c;或者说具有里程碑意义的一个版本。 拿到新书我们可以看到第7版的整体风格是以“业务场景”为核心&#xff0c;所有讲解的知识点和案例都是围绕着业…

window下载安装clang

执行clang报错&#xff1a; c:/>clang test.cclang: warning: unable to find a Visual Studio installation; try running Clang from a developer command prompt [-Wmsvc-not-found] clang: error: unable to execute command: program not executable clang: error: li…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十七章 Linux 环境变量

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

【竞技宝 】欧洲杯:赛事水货盘点

本届欧洲杯接近尾声,有些球员抓住机会趁势崛起,踢出了身价。可惜还有一些球员的表现无法让球迷和媒体满意,下面我们就来盘点下本届欧洲杯的水货球员,看看哪些人因为糟糕的表现上榜? 格瓦迪奥尔(克罗地亚) 本届欧洲杯是克罗地亚黄金一代球员的谢幕之战,原本格瓦迪奥尔作为球队…