近日在给客户完善报告时,客户对以下的切片器并不是很满意: ? 他想的是”如果能在切片器中显示每个地区的城市数量就好了“。就像这样: ? 安排!...首先在地区表中添加一列: 城市数量 = CALCULATE(DISTINCTCOUNT(data[城市])) 然后再添加一列: 地区(城市数量) = [地区]&"("&[城市数量]&")" ?...然后将数据表的地区列和地区表的地区列建立关系: ? 然后将地区(城市数量)一列作为切片器: ? 每次报告刷新时,新建列也同样会进行更新,所以切片器中的数据是及时准确的。...比如西北地区销售”桌子“的城市有15个,能否在产品类型选择”桌子“时,地区切片器中西北后的括号里显示15呢? 尝试了一番,没有找到解决方案,尴尬。 甲方虐我千万遍,我待甲方如初恋。
Cosplay比较狭义的解释是模仿、装扮虚拟世界的角色,也被称为角色扮演。由此,在网络上衍生出了新的含义,往往被用来形容“假扮某类人的人”: ? 那么,什么是PowerBI中的Cosplay呢?...如果事实表中一旦有多个日期列,或者还有其他的表需要关联日期表,那么模型的搭建将是一件非常痛苦的事情。 关于多个日期表的妙处,我在这篇文章中也提到过,大家可以参考: 【运营】任意两个时间段的复购率?...Power BI一招帮你搞定 2.单一日期表,多个度量值 模型仍然要使用最开始所讲的: ?...Date], 'Date'[Date])) 不过,与建立多个日期表类似,如果是只有两个日期表或者度量值不多的情况下,这种办法还是比较好用的,但是之后随着度量值逐渐增多,你不得不每次同时建立好几个度量值...你可以用DAX来建这个表,也可以直接手动输入,里面的内容只有一列两行(看实际的事实表中的日期数量):: “Delivery Date“; “Invoice Date”。
文章背景: 在进行商业数据分析时,经常需要给不同的度量值(如销售额、销量等)计算同比、环比、YTD(年初至今)等指标,如果给每个指标都写一个以上的时间智能函数,那么会写很多重复的度量值,这些度量值的唯一不同就在于引用的基础度量值...如果需要统计更多度量值的上月情况,只需替换[销售业绩]这个度量值就行了。而计算组功能就可以做到这一点。...(3)点击该图标,进入Tabular Editor 3的界面。 (4)点击上图中的图标,选择已经打开的PowerBI 文件。...注意:PowerBI desktop必须提前打开;PowerBI desktop必须已经有一个数据模型而不能是空的。 选择,并点击OK后,进入如下界面。...(8)定义计算组中的项 右键Calculation Items,选择Create,弹出: 点击Calculation Item,创建一个名为环比的项,如下: 环比: VAR PY =
# 一、函数作为参数值、变量值或对象时的类型 说明 函数作为参数值、变量值或对象时它的类型该如何限定 问题 // 这个时候限定传入的参数要符合这种类型参数呢 function request(callback...没有返回值用 void function request(callback: (result: string) => void) { callback('sucess') } // 这里因为上面定义的时候已经设置的...result 的类型所以他能够自动推断出类型 request((result) => console.log(result)) // 使用 `type` 关键词写法 type RequesCallback...result: string) => void function request(callback: RequesCallback) { callback('sucess') } # 二、对象 方法的...类型的方法 对于对象里方法的类型也是一样的 interface Product { getPrice: () => number // 不接受任何参数 返回 number 类型的值 }
📷 📷 image.png 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 image.png
在PowerBI中,日期表的问题是始终都无法绕过的一个问题,首先是微软默认的日期表月份显示如下: 可能这种形式我们自己看起来没啥的,但是要考虑做出来的可视化报表呈现的对象绝对不仅仅是自己,那么就需要我们自己来制作自己的日期维度表...then error "参数错误:参数CalendarFirstDayOfWeek必须是Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday中的一个...: 结果如下图: ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 两种方法都可以生成带有中文字样的日期表,区别在于: 一、M函数生成的日期表是固定的,静态的日期表...二、表函数运用了MIN/MAX,这样生成出来的日期表是随着事实表而变动的动态日期表。 推荐大家选择第二个。 本期就到这里,我是白茶,一个PowerBI的初学者,偶尔会不定时更新一些自己的学习心得。...白茶会不定期的分享一些函数卡片 (文件在知识星球[PowerBI丨需求圈]) 这里是白茶,一个PowerBI的初学者。
在制作PowerBI报告时,一般来说,我们都会创建一些切片器。为了节省空间,一般情况下尤其是类目比较多的时候,大多采用下拉式的: ?...不过,在选项比较多的时候,当你需要查找某个或者某几个城市的销售额时,你会发现这是一件很难办的事情,比如我们要看一下青岛的销售额时: ?...你可能会来回翻好几遍才会找到,这时候再让你去找济南的销售情况,你恐怕会抓狂。 那,有没有能够在切片器中进行搜索的选项呢? 答案是:有的。 如图: ?...只要在Power BI Desktop的报告中鼠标左键选中切片器,按一下Ctrl+F即可。此时,切片器中会出现搜索框,在搜索框中输入内容点击选择即可: ?...如果想同时看青岛和济南的销售额,可以在选中青岛后,重新搜索济南,然后按住Ctrl点击鼠标左键即可: ? 发布到云端,同样也可以进行搜索: ?
文章背景:在日常工作中,有时需要从绝对路径中提取文件名。比如,已知某个文件的存储路径,想要获取最后的文件名称。下面介绍两种方法。...A2的公式中,REPT函数将空格复制99次。...A2的公式中,SUBSTITUTE函数将字符串中的斜杆\替换成99个空格。...TRIM(text) 除了单词之间的单个空格之外,移除文本中的所有空格。...思路分析:针对文件路径,先用99个空格替换掉路径中的斜杆\;再从字符串右侧起,获取99个字符(新字符串),此时,新字符串内既有文件名,也有空格;最后,通过trim函数,移除首尾的空格,从而得到所需要的文件名
当然,不同的箱型图,指标也不尽然全都一样,比如PowerBI中的一个可视化工具Box Whisker chart就是其中的一种,又叫做盒须图。 所以就用Box Whisker chart来说明。...当然,有一些箱型图并不是按照上面的指标比如下面这张图,它其实没有上下边界,取而代之的是上下1.5个IQR的界限,而有些值超过了上下界限,就定义为异常值(圆圈的位置)。 ?...比如我们选择销售表中的各分公司、销售员和销售额可以得到如下的箱型图: ?...从中可以看出: 分公司B的最大值远远超过其他分公司,说明这个月的领头羊就出现在B分公司; 而几乎所有的分公司都有新人,销售额为0; 均值>中位数,比较明显的有A/B/F; 均值<中位数,比较明显的只有G...对于B分公司来说,平均值与中位数差距很大,说明“贫富差距”很大,有几个销售员的业绩特别好,是整个集团的领头羊,而其他的销售员其实和其他分公司没什么区别。
建模视图 这是本次更新的重中之重: ? 可以进行模型的多种布局: ? 作为示例,我们做一个布局如下: ? 这里具备的功能包括: 多种布局 在文件夹中显示度量值 支持多级文件夹 ?...PowerBI MVC 这是 Excel120 首次提出将软件工程中的 MVC 理论用于 PowerBI 领域,MVC 作为软件工程中非常成熟和重要的设计模式,帮助开发者提高效率并应对系统的变化。...在PowerBI中: View:所有视觉对象 Model:视觉对象依赖的报表数据模型 Controller:用户拖拽度量值 设计与之对应的结构如下: ?...在此前,必须放置多个表作为度量值的主表,而现在只需要一个主表,可以放置全局所有度量值,而度量值的管理则可以采用MVC设计模式进行划分。...值得一提的是:PowerBI的任何视觉对象都可以转为数据汇总表结构,而这个数据汇总表来自不同字段和度量值的组合运算效果,这个表其实是一个汇总表(对应于Tableau中的表计算),由于PowerBI并不提供表计算
在 PowerBI 中处理这类问题主要涉及两件事:业务逻辑的处理以及可视化的处理。在实践中常常表现为以下问题: 客户需求变化了,怎么办? 几十页的报告,上百的度量值怎么管理?...本文将作为一个体系的开篇,给出一个 设计模式 的框架:PowerBI DAX MVC 设计模式。...MVC 模式并不是用来解决用户做一个图的问题,而是用来系统化解决自助数据建模的整个工程流程,尤其是面对N页(如:50页),多种业务计算(如:上百度量值)的情况。...在 #Controllers 中,放置了与业务逻辑有关的度量值。 在 #Views 中,放置了与视觉展现有关的度量值。 以 Model_ 前缀开头的表,构成了主体数据模型。...不同的主题可以用不同的布局来表示。 作为一个约定,可以将数据模型的表名命名为:Model_表名。 业务度量值 作为 Controller 的最组成部分,首先我们需要有个业务度量值表。
本期呢,咱来聊一聊关于排名的问题。 [1240] [1240] 哦,对了,之前白茶犯了一个很严重的错误,从这期开始会改变,那就是DAX的格式书写错误。...[1240] 下面是今天的示例文件: [1240] [1240] 这是一份服装销售的模拟数据,将其导入PowerBI中,并且输入如下代码,求出销售金额: 销售 = SUM ( '产品表'[销售价] )...这里解释一下含义,IF不多说了,最基础的判定条件;HASONEVALUE函数的定义当列中只有一个唯一值的时候,返回TURE,没有则为空,因为总计栏没有产品名称这一说,所以排名总计消失。...这个可能有的小伙伴已经反应过来了,之前的占比问题我们用的是啥?ALLSELECTED啊!...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
po 变量名 or print 变量名 会出现出现问题的地方 warning: Swift error in module 项目名....如图,左侧视图中无法像以往一样随意查看变量的数据,右侧报了一堆错,可以看出提示我们在项目的桥头文件中第三方库MJRefresh的导入方式有误。...是的,项目中在MJRefresh桥头文件中的导入方式如下: #import "MJRefresh.h" 如果你是通过Cocoapods来使用OC第三方的库,你需要将导入方式改为这种方式: @import...MJRefresh; 以这种方式逐个修改OC第三方的导入方式,就可以解决控件台无法获取变量值的问题了。...如果是通过Cocoapods来使用Swift第三方库,直接在需要使用的地方导入即可 import Swift第三库的名称
python的闭包当内层函数引用外层函数的局部变量时,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。... def f(): return i*i fs.append(f) return fs f1, f2, f3 = count() 最终得到的f1..., f2, f3就都是9,是因为这行: f1, f2, f3 = count() 里得到的count()函数中的f()函数中的i已经迭代至3了,最终得出的结果只能是9 9 9 而刚开始给出的代码中f1,...f2,f3其实得到的是一个序列而已,而计算这个序列中每个元素时引用的闭包中的外层函数中的变量随着迭代变更,从1至3,并且同时计算出该次迭代所得的元素值append进序列返回,顾最终结果为1 4 9
如果你用过PowerBI DAX就知道写100个度量值是什么感受,今天来看一个非常落地的案例并展示如何对这样的问题进行重构。 重构,简单讲就是看原来的不顺眼,然后重新做一遍比上一次更好的。...2、在 按产品子类别 分析 销售额增长率 的 全部 指的是 用户所选择的全部子类别(以用户的每次选择作为全部),因此我们需要用DAX ALLSELECTED函数。...ALLSELECTED 函数作为DAX函数中最复杂的一个,对,你没看错,是最复杂的,没有之一,复杂度超过CALCULATE,但是用起来感觉不到,此处只是指出,但不展开,当然在这里的案例也遇不到这种复杂。...(PowerBI的限制只在于PowerBI的绝对物理限制,甚至要靠想象力和创造力来超过微软现在尚未提供的)PowerBI设计师会继续和业务专家确认诸如除非用户显式指定,否则默认按全局总计(即ALL)的方式来处理...在算法选择模式的按何种算法计算总计的DAX公式如下: 号称用1个度量值处理100个度量值的方式我们留在下篇。 ---- -
在编程中,一旦提到变量值的交换,脑海中最先浮现的做法就是引入一个临时变量作为媒介来做,来看看具体的实现。...解决方案 先假设有两个变量x、y,如下: x = 10 y = 20 常见方案,定义一个临时变量作为媒介,实现变量值的交换。...x, y = y, x 从代码上就可以直观的理解此处的意图,即实现x与y变量值的交换。 到这里都非常容易理解,但是接下来我们需要思考一下:此写法性能如何?为什么可以如此便捷地就是实现了变量值交换?...看一些赋值运算符右边的表达式,即 y, x,这实际在python中称为元组的数据结构。我们可以看到赋值表达式左边是 x, y,那么为什么元组可以直接赋值给 x,y 呢?...看到这里感觉序列分解似乎有点类似于正则表达式的模式匹配。 总结 虽然只是小小的变量值的交换,但本质也是由需求和语言自身特性决定的。学会一些必要的技巧,将会帮助我们写出更高质量的代码。
近日,PowerBI已经更新为度量值可以支持作为图像URL来进行解析,参考:PowerBI 2018 8月更新 一键导出PDF报告集合,这使得PowerBI在显示图标方面有了更多的可能性,本文来详细探讨这些可能性...PowerBI 适用 SVG 面临的问题 喜欢研究的伙伴可以搜索更多的资料,但这里将直接说明在PowerBI中是如何应用 SVG 的,那我们要回答: 在PowerBI中如何适用 SVG 如何从web下载...SVG 图片并显示在PowerBI中 如何将任意图片(png,jpg等)转为 SVG 并在PowerBI中显示 如何自己制作 SVG 并在PowerBI中显示 如何通过 PowerBI 度量值动态计算...Code 作为数据分析师的文本编辑器。...如何从web下载 SVG 图片并显示在PowerBI中 在搞清楚了PowerBI显示SVG的原理后,从web下载 SVG 图片并显示在PowerBI中其实并不难,步骤如下: 在任何网站找到感兴趣的图标,
执行完的效果 导入操作 导入操作要求比较严格一些,首列作为标识列是不能修改的,并且不能新增操作,只能修改原来的信息,如下图修改度量值的名称(修改度量值名称是高危险操作,因度量值可能是中间度量值,其他度量值对其有引用...记得保存的时候是保存为utf8文件格式。 导入命令非常简单,路径换到刚刚整理好的文件名位置即可。 完成后效果如下。...批量查找对象 在工具的Filter命令中,可以做数据模型对象的筛选操作,简单的筛选只需输入关键字即可搜索含有此关键字的所有对象名,对象名可以是表名、字段名、度量值名等一切模型的对象成员的名字。...笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。...相关阅读 「PowerBI」丢弃SSDT选择TabularEditor成为你的首选建模开发工具(上)https://www.jianshu.com/p/939f7e8f68d5 「PowerBI」丢弃SSDT
介绍 本方案通过Excel作为配置文件实现PowerBI的全动态权限控制,其优点在于: 【模式1】可以直接为用户设置权限。 【模式2】可以先为用户设置角色,再为角色设置权限。...用户对Excel配置文件的配置是任意灵活的,随意扩展列。 Excel配置文件做了“防呆”处理,可以兼容用户输入的错误。 模式复制非常简单:一键复制PQ;一键复制度量值修改2处参数即可。...: 【模式1】直接为用户设置权限 【用户名称】及【用户账号】是必须的,而后面的列是可以任意扩展的,自由度非常大;填写内容标签时有防呆融错处理,防止用户随手的录入错误。...第二步,将权限控制度量值复制: 复制并修改模板度量值即可: 只需要修改2处即可: “地区-省份”与Excel配置文件中的列名对应。 ‘地区’[省/自治区]与上条设置文本欲控制的列对应。...但作为一个产品级可复用的解决方案,Excel120打造了可复用的产品级模板供企业直接复用。
如果问 PowerBI 可以制作的最强大图表是什么,那这个就是了。 作为 2018年 的终结篇并同时开启 2019,Excel120 将以此篇揭示 PowerBI 可以做出的最强大图表以及固定套路。...PowerBI 是默认不支持将度量值作为观察的角度的,这与很多其他BI软件是不同的。 PowerBI 任何图表的背后,都是一个由 DAX 查询完成的小表,所有的图表都是基于这个小表来进行展示。...在 PowerBI 中的难度在于,需要综合考虑格式,颜色,汇总等,导致它成了一件很复杂的事。...这里使用了 变体 数据类型,让这里的度量值返回值作为默认结果,而内部计算可能是文本,用这个方式来解决排序的问题,如下: 这非常非常重要,是核心技巧之一。只有这样,才能保证排序的正确性。...底层数据经过调整,更适合作为学习PowerBI的学习样例数据。 总结 Hello,2019。
领取专属 10元无门槛券
手把手带您无忧上云