背景 我们平常使用excel的时候,都是选中一列,然后直接更改它的格式,但是这种方式并不能彻底改变已有数据的原格式,如下图中的5592689这一个CELL中的数据,尽管我们将整个列都更改为文本类型,但实际上它这个数据仍然是数值类型...,在很多场景下不能满足我们的需求,如数据库在导入Excel表格时,表格中的列数据需要文本形式,如果不是文本形式,导入的数据在数据库中会出现错误(不是想要的数据,如789 数据库中为789.0)。
之前两篇文章介绍了如何在powerbi中添加日期表和时间表: Power BI创建日期表的几种方式概览 在PowerBI中创建时间表(非日期表) 有朋友问到如何将这两个表关联到事实表中。...首先,由于日期表和时间表不能叠加在一起(原因在前文说过了),所以肯定是两张表单独和事实表进行关联,而事实表中日期和时间是在同一列。 ?...因此,我们需要先在powerquery中将日期和时间列拆分为日期列和时间列: 选中日期和时间列-添加列-仅时间、仅日期,添加两列,然后删除原有的列 ? 然后分别将日期表和时间表与事实表建立关联: ?
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。合并查询是根据一列或多列作为匹配列,将两个表左右联接在一起。...需要注意的是,左表和右表的关系是多对一或一对一的时候,结果与VLOOKUP相同;如果是一对多,PowerQuery会拆分扩展,左表会按照对应关系,一行拆分为多行。...店铺表产品表处理后的结果,在店铺和品类的基础上,品类被扩展到了品规。操作步骤STEP 1 PowerQuery获取两张表后,在店铺表中,点击菜单栏主页下的合并查询。...STEP 2 在跳出的合并查询窗口,选择产品表(支持选择当前表,自己匹配自己),匹配列是品类(如果匹配列是多列,可以按住Ctrl键按照次序选择多列),联接种类选择左外部。...STEP 3 点击确定后,产品表会作为一列出现在店铺表中,点击这一列标题右侧的展开按钮,把需要展开的字段选中,去掉使用原始列名作为前缀的挑勾以保持列名的简洁性,点击确定。
PowerBI截至目前为止,可以实现的权限管控包含三方面:页面权限、行权限、列权限。 那么这三者在PowerBI中是如何实现的呢?别急,跟着白茶的思路走。...到这里,我们的准备工作基本完成,我们来看一下,三者在PowerBI中的实现方式。 [strip] 页面权限: 1.报表页面命名与隐藏。...我们在报表页面进行一下简单的查看。 [strip] 列权限(OLS): 列权限管控,通常代表用户可以看到不同的列。 在PowerBI中,有两种方式可以实现:A.Tabular Editor的方式。...[strip] DAX控制列权限的方式,最佳实践是与SSAS搭配使用,这样可以在Tabular中将列进行隐藏,只呈现DAX给用户,实现真正的OLS管控。...[1240] (白茶:文件在知识星球) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。...PowerBI中获取数据后生成的表,一般使用一维表,方便建立表与表之间的关系、书写度量值、生成透视表或图表。因此,很多时候需要在PowerQuery中将二维的甚至更多维的数据源表转换为一维表。...STEP 2未选中的列变成了两列,一列属性,一列值,双击列标题改名后保存。图片举例2多维表转一维表,多层表头+多列维度。...STEP 2 保留合并的这一列,删除合并前的所有维度列,然后把合并的这一列拖动到第一列。STEP 3 点击菜单栏转换下的转置,切换行和列的位置。...STEP 7 选中合并的那一列,点击菜单栏转换下的拆分列-按分隔符,选择自定义,输入前面使用的分隔符“**”。STEP 8 修改字段的名称和数据类型,就得到一维表了。
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。在PowerQuery中,使用分组功能,能做求和、计数等聚合运算,如何将某一列的多行合并到一行呢?...[待处理][产品]STEP 5 删除冗余列,在待处理这一列点击鼠标右键删除。STEP 6 点击产品列标题右侧的展开按钮,选择提取值。在跳出的对话框中,选择逗号分隔符,点击确定。
2、使用多行卡图进行展示结果 以上创建的度量值可以随着我们可视化指标的不同而变化,例如,统计不同套餐的营收金额,统计不同商圈的营收金额,都可以使用创建的该度量值。...:COUNT和COUNTA,两者都可以对某一列进行计数,用法上一样,区别为COUNTA可以对True或者False列分别统计True和False的数量,所以使用更加广泛。..."季度"和"月份"设置为列,在度量值表中将刚刚创建的"年累计营收"设置为值,绘制可视化图如下: 按照以上同样的方式,创建"季累计营收"和"月累计营收"度量值,并输入对应的度量值DAX公式为: TOTALQTD...在资料中找到"2021~2022年工资表"导入到PowerBI中并修改对应的日期格式,如下图所示: 下面我们分别在PowerBI中针对"2021~2022年工资表"数据统计工资月同比增长率与工资月环比增长率...统计月同比增长率 在PowerBI中针对同比业务场景我们需要用到SAMEPERIODLASTYEAR函数,该函数作用是返回去年同期对应数据,通常用来与去年同期进行同比,其用法如下: SAMEPERIODLASTYEAR
在Excel环境中,可以用PowerQuery轻松实现,但在数据库层面,实现这样的需求也还是颇曲折的。...虽然说在Excel环境或PowerBI环境可以同样实现这些功能,但有时方案的可行性需要考虑客观情况,用户电脑是否有高版本的Excel支持PowerQuery或有PowerBI可使用,若没有时,使用Sqlserver...字符串函数安装 当安装成功后,在【可编程性】=》【函数】=》【聚合函数】的位置会出现本篇所提供的4个自定义函数。...自定义函数有去重效果 最后也演示下官方的单行拆多行的效果 官方拆解函数 结语 本篇带领大家领略Sqlserver的CLR开放接口,让.NET的能力可以在Sqlserver得到延伸,区别于正则函数属于标量函数...笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。有一张订单表,里面有一批订单,还有一张库存表,里面有不同批次的产品库存。...需要按照先进先出原则将生产日期相对旧的批号库存分配给订单日期相对早的订单,在订单表中标记匹配的库存批次和数量。...,去取库存表中的库存累计区间包含订单累计区间的批次(如果一条订单匹配了不同批次,订单将会拆分为多行)。...在查询设置的最后一个步骤上点击鼠标右键,选择插入步骤,输入如下代码。然后,点击列标题右侧的展开按钮。...>=x[序号])[数量])最小值:if [序号]=1 then 1 else #"Custom1"{[产品=[产品],序号=[序号]-1]}[最大值]+1STEP 3 库存也按上述操作做好相应准备后,在订单表中插入一列取库存表中的批次
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。建模是PowerBI的核心。模型就是把现实用数据模型虚拟出来,让现实中的事物在模型里有相应的体现。...星型架构在PowerBI中,微软强烈建议使用星型架构搭建模型。...在星型架构中,表被区分为维度表和事实表:维度表描述业务实体,比如日期、人员、产品等。维度表的列描述业务实体的属性。每个维度表都必须具有一个唯一列,此列称为键列(Key)。...星型架构vs单表模型vs带雪花维度的星型架构单表模型或带雪花维度的星型架构,也可用于建模,考虑到以下因素,不建议在PowerBI中使用。...在星型架构的基础上,把维度表再次拆分为多个表,比如产品表、品牌表、品类表,形成几个多对一的关系,这种分支上再连接分支,称之为雪花维度。
结构与布局 PowerBI 报告从结构(布局)上大致可以分为这几个部分: 因此,设计一份 PowerBI 报告,从设计本身而言,只要设计好每个页面即可。通常,页面可以分为两类,首页与内容页。...按钮的妙用 在目前的PowerBI中,考察一个人是否是真正的专家,看得就是细节,在制作很多精细的地方,需要例如:文本框,背景形状等。...先来看一个模型: 一个真正的图表元素会包括: 图标 图表标题 内边距 按图显示 按表显示 按其他显示 图表元素 在本文中,我们先仅考虑图表的简化版本,如下: 对应于此,在PowerBI中的实现如下...将 PowerBI 报表发布到 PowerBI 服务后,结构与布局仿佛就是网站,例如: 在云端,我们需要更加精准的设计,因此在 PowerBI Desktop 中进行设计时要考虑到所有细节,截至目前...目前,微软提供了由设计者编写json文件来定义主题的方法,很明显是一个过渡期,我们预测PowerBI 必然会提供一个与 PPT 完全类似的主题定义工具,拭目以待,在此前,我们也将给出我们的方法,在后续的文章中将详细描述
限于篇幅以及主题相关性,这里抛出引起思考,在未来不久将推出的《Excel & Power BI 进化论》课程中将彻底讲透这些问题,如果你看完本文,被该图表所震撼,但即使是拿到案例文件都无法照着做出来的话...这里需要注意的是,表格从结构上分为: 表头行 表元素行 总计行 在PowerBI中制作任何图表,几乎都可以考虑该图表的分组汇总表结构。...例如本例: 这在Excel中完全是一个格子一个格子算的,所以Excel是神器,但是PowerBI显然没有Excel灵活,但本文做到在PowerBI下可以做到的极致。...在 PowerBI 中的难度在于,需要综合考虑格式,颜色,汇总等,导致它成了一件很复杂的事。...展开如下: 值得说明的是: 简码命名方式 Controller分为业务逻辑,操作业务数据模型 Controller分为视图逻辑,操作视图数据模型 度量值按文件夹分组 无侵入式设计 来看看主数据模型: 本案例采用无侵入式设计
要的是不同维度的TOP3,并且只能显示一个,比如选择A维度就不能出现B维度的TOP3,但是要求在一个框框中体现! 白茶:.........在实际生活中,我们经常能遇到各种莫名其妙的需求,也就是白茶所说的中国式报表——即追求个性化自定义逻辑的报表。 而且因为行业和业务需求的不同,这类问题也是千奇百怪。...其效果如下: [strip] 如果BOSS想让两个在一个框框内,可以选择将两个可视化插件重叠,也可以通过多行卡片图显示。 思路②: 通过坐标维度显示。...TABLE'[明细] ), [KPI] ) RETURN IF ( T1 <= 3, T1, BLANK () ) 其结果如下: [strip] 解释一下思路: 1、通过新建的表函数,将两个维度放在一列中...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
问题描述:一个pandas dataframe数据结构存在一列是集合类型(即包含多个子元素),需要将每个子元素展开为一行。这一场景运用pandas中的explodeAPI将会非常好用,简单高效。...explode函数在0.25版本加入,其中ignore_index则是在1.1版本增加 既然explode无法直接使用,那么就必须尝试用其他方法实现相同的效果。...基于这一思路,可将问题拆解为两个子问题: 含有列表元素的单列分为多列 多列转成多行 而这两个子问题在pandas丰富的API中其实都是比较简单的,例如单列分为多列,那么其实就是可直接用pd.Series...值得一提,这里的空值在后续处理中将非常有用。...当然,这里复位之后会增加两列数据,除了原本需要的一列外另一列是多余的,仅需将其drop掉即可,当然还需完成列名的变更。完整代码如下: ?
SELECTCOLUMNS最大的用法是在空白表上,添加列。...相对于SELECTCOLUMNS函数的最大区别是,它可以在原表的基础上添加列。 开始在PowerBI中进行实验。...提取“名称”这一列,并且修改列名为“字母客户”。...在原表添加新列。...(文件在知识星球[PowerBI丨需求圈]) 这里是白茶,一个PowerBI的初学者。
[1240] ALL函数 ALL函数隶属于“表函数”,被微软划分为“筛选”类函数之中。...语法 DAX= ALL( [ | [, [, [,…]]]] ) 参数 参数:可以是一个表;可以是表的一列或者多列。 返回结果 表或列。...(文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
[1240] 白茶在刚开始接触PowerBI的时候,经常被一些基础的概念搞懵,也不好意思问别人说的具体是啥意思,分享一下一个小坑。...[1240] 点击建模窗口下面的新建列,输入相关计算,得出一列,那么我们新得到的这一列就是计算列。 什么叫度量值? 同样是上面的问题,求出单品利润。...相同点: 二者有时候在写法上是一致的。...不同点: ①、首先就是,计算列,会直接在表格中添加一列,也就是说只要打开PowerBI点击刷新数据,那么我们所添加的列会根据原有的数据进行添加,无论我们是否进行运算、查看这一列,它都会占用我们的系统内存...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
当然在PowerBI的DAX语法中也有ORDER BY,只不过通常是与EVALUATE语句搭配使用。...在实际使用DAX函数过程中ORDER BY函数的出场率并不是特别高,只有一些特定的函数可以与此搭配使用,而且,在BI的需求中,针对返回结果有特殊排序需求的函数也就是RANKX函数和TOPN函数了。...例子1: 将所在分店这一列去重导入到PowerBI中,按照升序排序。...所在分店 FROM 销售明细 ORDER BY 所在分店 ASC [1240] 结果如下: [1240] 例子2: 将所在分店这一列去重导入到...PowerBI中,按照降序排序。
图片PowerBI本身内置的排序方式,是遵循ASCII国际标准的方式,这就导致了中文的默认排序对于很多小伙伴来说并不友好。常规的解决办法就是新增一列数字列,然后使用 “按列排序” 功能进行强制排序。...按列排序固然可以解决中文字段的排序问题,但是使用之后,在某些场景下,使用DAX计算,会有一些额外的问题。本期,我们来看一下按列排序功能产生的小问题以及解决方式。...将其导入到PowerBI中,模型关系如下图:图片问题产生场景:我们先来构建几个基础指标。...当StoreName这一列,根据StoreID这一列按列排序后,我们原本的分组计算度量值和分组排名度量值都失效了。...因此,在涉及到清除上下文筛选时,如果原字段需要被清除筛选,则排序依据列也需要被清除筛选。解决方案:将分组汇总和分组排序修改如下。
List 适合与有固定取值的列,支持复合分区 有限的分区,插入记录在这一列的值不在List中,则数据丢失 一般只针对某一列 Hash 线性Hash使得增加、删除和合并更快捷 线性Hash的数据分布不均匀...,而一般Hash的数据分布较均匀 一般只针对某一列 Key 列可以为字符型等其他非Int类型 效率较之前低,因为函数复制的程度,(如。...MD5或SHA函数) 一般只针对某一列 海量数据优化2种方法 1、大表拆小表,分表、分区,物理的操作 2、sql语句的优化,通过增加索引来调整,但是数据量增大将会导致索引的维护代价增大,逻辑层面提升 大表拆小表...垂直分表,拆列字段,缺点:破坏表关系,表关联 水平分表,拆数据行,缺点:php代码量维护,逻辑层面困难增加 mysql分区 有点类似水平分表,但是它是基于逻辑层面,而不是物理层面,对于程序而言分区表还是一张表...mysql5.1的4种分区类型 range分区:基于属于一个给点连续区间的列值,把多行分配给分区 list分区:类似按range分区,区别在于list分区是基于列值匹配一个离散值集合中的某个值来进行选择
领取专属 10元无门槛券
手把手带您无忧上云