首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

1.11 PowerBI数据准备-分组,提取每个客户每月最后一天的库存

加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。 客户按天和产品把库存上传到数据库中的库存表,用作PowerBI的数据源,行数太多导致模型很大。...操作步骤 STEP 1 PowerQuery获取数据后,点击菜单栏添加列下的自定义列,新增一列年月,用作辅助列。...STEP 2 按住Ctrl键选择客户列和年月列,点击菜单栏转换下的分组依据,按照客户、年月分组,一列命名为每月最大日期,操作对日期取最大值,一列命名为待处理,操作取所有行。...STEP 4 对日期列筛选任何一个值,然后把等号后面的部分改为[每月最大日期],这样就留下了第二步中客户、年月对应的最大日期的数据。 STEP 5删除每月最大日期列,就得到了想要的结果。...拓展 本文用分组取了最大值,实际工作中还会有很多应用场景,比如客户第一次/最近一次购买数据等。

7210

PowerBI DAX 用 SUBSTITUTEWITHINDEX 为表增加索引

在很多场景下,我们需要某个表是按照某列预先排过序的,这有很多好处。 也就是说:预先排序,是一个在计算中用到的重要技巧。 请先直接记住吧。...在数据库的各种优化中,加索引是一种特别常见而立竿见影的优化方法。当然,在做某些事情时,也需要增加索引。 动态增加索引 业务人员会问:为什么要在 DAX 中增加索引呢?...也就是说,有两种场景定式,一定用该函数解决: 场景一:用数字索引替换某个已经存在的列 场景二:为一个表增加一个数字索引列 用法 SUBSTITUTEWITHINDEX (主表,新增的索引列名,参考表,参考表...[某列] , 排序,... ) 解释:在主表中新增一列,增加的这列会替代主表与参考表的公有列,新增的列值将依据【参考表 [某列]】按【排序】方式来进行。...从明细表提出主表,元素唯一化 VAR MasterTable = DISTINCT( SELECTCOLUMNS( FactTable , "Index" , [Item] ) ) // 为明细表建立一个索引列替换明细表中在主表出现的列

1.9K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从SUM让人看看PowerBI DAX的坑爹之深

    我们敢说自己在深入的研究PowerBI,但绝不敢说我们理解了PowerBI的一切,本文让你看看它坑爹的深度。 现给出结论:在DAX中不存在真正的SUM。...SUM的迷思 从一道经典的问题来看: ? 用户在订单表创建了一个计算列,并写入一个简单的公式,在按下回车的时候,每行的值应该是多少?请思考10秒继续。...有两个选择: A 每行都是一样的数字,为整个列值的和。 B 每行的数字都是当前行的销售额。 这个纠结非常符合入门伙伴会犯的错误。...大家在学习了行上下文以后,了解到创建计算列的时候会创建行上下文,因此,SUM( FactOrders[销售额] ) 发生在当前的行上下文中,而由于行上下文的存在,FactOrders[销售额] 应该是当前行的值...在我第一次学习到这里的时候,脑中有四个疑问: 1、刚学完行上下文规则就出现破坏规则的特例,郁闷!好吧!那么除了SUM,还有谁会忽略?

    3.1K20

    PowerBI HR应用之离岗时间计算

    背景 很多企业实行比较人性化的管理,员工进出公司以打卡为安全保证,而很多时候会出现员工离岗很长时间的问题。作为一种了解,企业通过打卡机的记录可以了解到一个员工离开工位的时长。...例如: 对于任何一个员工: 每日第一次进入打卡记录为其上班时间; 每日最后一次离开打卡记录为其下班时间; 中间每对【离开-进入】的间隔为离岗时长。...有了这个思路,也无法直接处理,因为根本无从下手,这时我们可以来缩小问题范围,例如:我们只考察一个人的某天的数据,如下: 为此,在PowerBI的查询编辑中,可以得到: 这个过程中存在一定的技巧: 新增一个索引列...在这里充分体现了PowerBI查询编辑的强大特性。对于 单人单日 的可以进行处理,那么对于多人多日的则可以利用这个原子处理进行进一步处理。...中。

    1.6K10

    BI技巧丨粒度切换

    白茶将通过一组案例数据进行说明: [1240] 这是白茶随机模拟的数据,将其导入到PowerBI中,建立日期表以及模型关系如下: [1240] 编写如下度量值: GENRATE = GENERATE (...1.首先是利用输入模式,直接输入了三个时间粒度的标识字段作为第一参数; 2.然后利用SUMMARIZE函数生成一个表,添加了“数据列”和“索引列”; 3.SUMMARIZE函数利用GENERATE函数传递第一参数上下文的功能...这样的话就对“商品名称”这一列进行了不同时间粒度的汇总。 动态效果如下: [strip] 根据切片器的选择,可以在表中呈现不同时间粒度汇总的结果。 那么别忘了,还有CROSSJOIN函数呢。...结果如下: [1240] 结果无法得出,白茶第一次遇到这个问题的时候,思考了很久,感觉即在意料之外,也在情理之中。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。

    47020

    BI技巧丨切片器默认值

    [1240] PowerBI可以说是BI类软件中最易上手的软件之一了,其低代码的开发环境很大程度上降低了开发的周期和成本。 但是同样,也有一些细节上的功能并不尽如人意。比如,切片器默认值的问题。...简单的描述,白茶希望这张报表每次打开的时候,每一个切片器都可以有一个默认值。...要知道,PowerBI中,当切片器选择一个固定的字段以后,那么下次这张报表还是处于这个字段的筛选条件,比如选择2019年,那么下次进入这张报表也还是2019年,可是我们往往需要的是时间随着系统时间走,日期永远保持最新的状态...,白茶新增的三个年、月、日的计算列,每一列中都有一个默认值,而且这个默认值不是固定的,是随着系统日期变动的。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]

    62730

    如何用PowerBI自定义函数批量爬取财务报表

    近期,学习了马老师的商业智能财务分析(PowerBI)课程后,不免手痒,教学中的案例数据不过瘾,于是在PowerBI学友的启发下,自己找现实数据玩了起来。...,可在PowerBI中选择PDF为数据源获取 ?...由于资产负债表数据为二维表,我们需要用逆透视把它变成一维表(提升标题后 - 选中索引列 - 逆透视其他列),再删除掉值中的空值 ?...对于从PDF文件获取的上市公司股票代码表,可删除默认出现的“更改的类型”步骤,因为股票代码有很多以0开头,需要以ABC文本格式才能显示出来。 ? 前三列利用向下填充补充数据 ?...第四步,在从PDF文件获取的上市公司股票代码表中做筛选,考虑股票代码很多,获取全部数据非常耗时,我们先只筛选前3只股票。 ? 选择“添加列”,调用自定义函数,增加一列。 ?

    3.3K12

    大佬们,如何把某一列中包含某个值的所在行给删除

    一、前言 前几天在Python白银交流群【上海新年人】问了一个Pandas数据处理的问题,一起来看看吧。 大佬们,如何把某一列中包含某个值的所在行给删除?比方说把包含电力这两个字的行给删除。...这个方法肯定是可行的,但是这里粉丝想要通过Python的方法进行解决,一起来看看该怎么处理吧。...二、实现过程 这里【莫生气】给了一个思路和代码: # 删除Column1中包含'cherry'的行 df = df[~df['Column1'].str.contains('电力')] 经过点拨,顺利地解决了粉丝的问题...顺利地解决了粉丝的问题。 但是粉丝还有其他更加复杂的需求,其实本质上方法就是上面提及的,如果你想要更多的话,可以考虑下从逻辑 方面进行优化,如果没有的话,正向解决,那就是代码的堆积。...这里给大家分享下【瑜亮老师】的金句:当你"既要,又要,还要"的时候,代码就会变长。

    18810

    动态数组公式:动态获取某列中首次出现#NA值之前一行的数据

    标签:动态数组 如下图1所示,在数据中有些为值错误#N/A数据,如果想要获取第一个出现#N/A数据的行上方行的数据(图中红色数据,即图2所示的数据),如何使用公式解决?...图1 图2 如示例图2所示,可以在单元格G2中输入公式: =LET(data,A2:E18,i,MIN(IFERROR(BYCOL(data,LAMBDA(x,MATCH(TRUE,ISNA(x),0...如果想要只获取第5列#N/A值上方的数据,则将公式稍作修改为: =INDEX(LET(data,A2:E18,i,MIN(IFERROR(BYCOL(data,LAMBDA(x,MATCH(TRUE,ISNA...TAKE(data,i),i-1)),,5) 也可以使用公式: =LET(d,FILTER(E2:E18,NOT(ISNA(E2:E18))),DROP(d,ROWS(d)-1)) 如果数据区域中#N/A值的位置发生改变...,那么上述公式会自动更新为最新获取的值。

    15410

    pandas每天一题-探索分析:找出最受欢迎的二次点餐菜式

    choice_description 是每一项更详尽的描述,例如:"雪碧" 例如, 某个单子中,客人点餐 牛排玉米饼 烧烤玉米饼 1罐可乐 1罐雪碧 于是产生了4行记录: 前面章节讲解过的知识点,本文不再讲解...说不定能搞一个"二次点餐优惠包",能进一步提升销量 下面是答案了 ---- 理解数据 在同一个订单中,重复出现的品类,被视为二次点餐。...counts),item_name 是行索引 此时数据的一行表达的是,某品类在某订单中出现二次点餐。...item_name 是行索引的一层,由此通过 .index 访问行索引,通过 get_level_values 获取指定层的值 行6:统计数量 你可能觉得我太历害了,竟然知道这种方法名字。...---- 推荐阅读: Python+PowerBI探索分析,看图表,说数据。解析泰坦尼克号中谁能被获救——分析篇

    34520

    2.3 汇总多文件

    1)选择从文件夹获取数据,并进入到编辑查询器中 ?...5)我们再做最后的修整,把名称补全,因为是三张表的名称,在这个表中的表头会重复出现三次,所以我们要把他们给剔除掉。 ?...另外,新版的PowerBI中已经加入了合并和编辑功能,也就是说你不需要输入公式你就可以完成合并多文件的工作,逻辑上与这个方法是一样的。...我们完全按照前面单个文件夹的方法的步骤1-5选择“城市数据”文件夹获取数据,删除掉无用的列但一定要保留Folder Path列(因为它还有文件夹的名称),添加自定义列用Excel.Workbook([Content...它会让你输入起始索引和字符数,至于如何计算"北京"是位于第几位的字符,我们可以把文本“C:\Users\mashi\Desktop\PowerBI\获取数据\城市数据\北京\”复制到任意一个Excel表中

    2.2K40

    PowerBI 打造全动态最强超级矩阵

    PowerBI 中的表格图表 我们来看看,你是否理解这样的一个表格: 这个表格的不寻常之处在于:似乎存在很多重复,而且列排布的顺序不是很好。但这就是表格。...在 PowerBI 中,由于已经存在数据模型,数据模型是一个天然的已经建立了关系的表结构,因此,一个经典的DAX查询,基本是从第三步进行: ADDCOLUMNS( SUMMARIZE( 模型表 , 用来分组的列...通常,用手可以拖拽出来的矩阵,一定在上述四个部分是存在规律的,系统才能默认的自动计算。一般来说: 行标题是分组。 列标题是分组。 值部分是多种汇总。 汇总部分按值部分的计算进行。...,它的最大表现就是,主数据模型表示业务关系,而并没有为了作图而出现的关系和改变主数据模型的计算列等元素。...本案例几乎包括了: 最佳学习样例数据 最佳获取数据的实践 最佳数据建模的实践 原创思维:PowerBI DAX 无侵入式设计 原创思维:PowerBI DAX MVC 设计模式 原创思维:PowerBI

    14.7K43

    用过Excel,就会获取pandas数据框架中的值、行和列

    在Excel中,我们可以看到行、列和单元格,可以使用“=”号或在公式中引用这些值。...获取1行 图7 获取多行 我们必须使用索引/切片来获取多行。在pandas中,这类似于如何索引/切片Python列表。...要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格值 要获取单个单元格值,我们需要使用行和列的交集。...这有时称为链式索引。记住这种表示法的一个更简单的方法是:df[列名]提供一列,然后添加另一个[行索引]将提供该列中的特定项。 假设我们想获取第2行Mary Jane所在的城市。...接着,.loc[[1,3]]返回该数据框架的第1行和第4行。 .loc[]方法 正如前面所述,.loc的语法是df.loc[行,列],需要提醒行(索引)和列的可能值是什么?

    19.2K60

    一步一步教你PowerBI利用爬虫获取天气数据分析

    对于爬虫大家应该不会陌生,我们首先来看一下爬虫的定义:网络爬虫是一种自动获取网页内容的程序,是搜索引擎的重要组成部分。网络爬虫为搜索引擎从万维网下载网页,自动获取网页内容的应用程序。...我们这里要讲的爬虫是针对PowerBI软件中创建的采集天气数据爬虫程序。很多行业会受天气影响较大,如果能够知道某地区的天气数据历史记录,就可以让销售数据的维度更加丰富。...3、将我们处理好的数据赋值到URL中 城市列表和日期列表都已经处理好了,下一步就是处理两个列表和URL的关联关系 新建URL自定义列 ? 忽略隐私检查 ?...展开URL列,选择Source和Data列即可 ? 展开Data列,只保留前四列数据 ? 删除多余的内容,筛选去除标题和空白行 ? 拆分气温为最高和最低气温,按分隔符/拆分 ?...4、在后续的文章中也会出现少量的M函数使用,编辑器中会有智能提示告诉大家使用规则,大家也可以通过微软官网查看M函数的语法。

    2.5K10

    如何在MySQL中获取表中的某个字段为最大值和倒数第二条的整条数据?

    在MySQL中,我们经常需要操作数据库中的数据。有时我们需要获取表中的倒数第二个记录。这个需求看似简单,但是如果不知道正确的SQL查询语句,可能会浪费很多时间。...在本篇文章中,我们将探讨如何使用MySQL查询获取表中的倒数第二个记录。 一、查询倒数第二个记录 MySQL中有多种方式来查询倒数第二个记录,下面我们将介绍三种使用最广泛的方法。...ID(或者其他唯一值)。...-+------+-----+ | id | name | age | +----+------+-----+ | 4 | Lily | 24 | +----+------+-----+ 三、查询某个字段为最大值的整条数据...SELECT * FROM commodity ORDER BY price ASC LIMIT 1; 结论 在MySQL中获取表中的倒数第二条记录有多种方法。

    1.4K10

    PowerBI 十月多项更新 AI问答及实时报告 颠覆来袭

    值得说明说: 这是实时报告,不是实时仪表板; 报告是 PowerBI 中更一般化的构件,也就意味着 PowerBI 开放了一项新的能力给到用户。...一个好消息是,虽然这里写了只支持英语语言,但在一定程度上对于中文的使用还是有意义的,这些我们会在随后的文章中单独说明。 那么在 PowerBI 中如何修复并持续训练就可以使用本次更新的机制: ?...实际上,地点表示了整个地理位置表(Model_Geo),而为什么输入一个表会自动锁定到某个列而不是另外的列呢,这就需要一种默认设置,如下: ? 可以看到这就是一种默认设置。...新的文件格式:.pbids 以下内容来自官方博客翻译: 本月我们将发布一种新的文件格式:PBIDS,以简化组织中报表创建者的“获取数据”体验。...使用了 USERELATIONSHIP 或 CROSSFILTER 函数 使用了 TODAY,NOW,RANDOM 等易失函数(啥叫易失,就是很容易返回不同的值,几乎每次都是不同的值,因此无法也没有必要缓存

    2.5K10

    从本地网关数据源切换到OneDrive数据源指导手册

    几乎所有的教程都会告诉你,使用 Power BI 获取数据最简单的方式是从本地excel表中获取,紧接着教你如何从本地文件夹中获取多个文件。...2、在PowerBI Desktop中获取该文件 两个思路 ①ODB中的文件本质上就是个需要登录才能打开的web网页,因此我们可以用web链接器来获取数据 在PowerBI Desktop中,获取数据-...②我们换个思路,该文件是从ODB中获取的,而PowerBI有专门的ODB链接器 选择更多 我们选择SharePoint文件夹 提示让我们输入根URL 也就是截取以上文件路径中的一部分即可 https:/...慎用SharePoint.Files,在Power BI中更快地刷新Excel文件 同时,SharePoint.Files无法对某个文件夹的所有文件进行获取,而SharePoint.Contents是可以实现的...不论从该 ODB 中获取多少个文件或者文件夹,数据源凭证这里永远只有一个,也就说,你只需要在第一次发布报告时配置好,那么以后任何时候再次发布报告,哪怕是发布其他的报告,也都无需再次配置凭据。

    51513

    PowerBI 2018年11月更新 支持PowerBI工程式开发

    重提获取更新的方式 很多伙伴询问如果保持PowerBI最新,请使用Windows10系统,并在 Windows Store商店中搜索并免费安装PowerBI Desktop,它将自动保持最新,当更新可用时...并粘贴到另一个 PBIX 文件中。其原理如下: 将视觉对象从A文件复制粘贴至B文件,如果B文件具有同样名称的列和度量值则使用,否则则报错,并提供修复错失: ?...有三种设置方法: 色阶 规则 字段值 很多人恐怕并没有仔细研究过,这里最厉害的是字段值,它的意思是可以用某个字段来返回颜色。 例如,我们建立一个度量值: ? 然后将该度量值付给字体,如下: ?...再复习下什么是中国式复杂报表,就是配备任意复杂组合的表头的报表,很显然这种报表在PowerBI中是无法拖拽出来的,但可以制作表头并配合DAX公式计算每个报表单元格的值,但这里有一个重大缺陷: 由于只能使用一个度量值...在设计模型时,一定会知道维度建模(Kimball提出),并推荐采用星型模型或雪花模型,但在实际中几乎不可能出现这种理想状态。也就是会出现多事实表的情况。

    4.1K20
    领券