关于powerbi:Power-BI集成Power-Apps轻松实现用户在报告中任意输入信息

Power BI 报告很弱小,但通常状况下它的信息是单向传递的,由报告制作者通过报表上的数据向用户传递信息,用户能够在报告上交互图表,但并不能在报告上增加信息,这也是很多人期待的一个性能。 尽管 Power BI 自身不反对让用户输出数据,不过利用 Power 家族的另外一个利用:Power Apps,也是能够轻松实现这个需要的。 以上面这个报告为例,展现了每个产品的环比增长数据: 如果把这个报告发给领导,领导看到后,可能会对局部产品提出解决倡议,怎么在 Power BI 中增加个输入框让领导输出文字呢? 上面将利用 Power Apps 来实现这个需要,这个办法的前提条件是,须要有 Onedrive for business 账户,并领有 Power Apps 许可证。 其基本原理是用户输出的信息,通过 Power Apps 将数据回写到 OneDrive 上,而后 Power BI 连贯 Onedrive 上的数据,并出现在可视化报告上。 筹备工作首先在 Onedrive for business 上建一个表格,这里我命名为“备注表”,有产品名称和备注两列,为了让 Power Apps 辨认到它,须要将这个数据转换为智能表,套用款式就能够了: 这里的备注列什么数据都没有,就是为了上面进行回写而筹备的。 而后利用 Power BI 连贯 OneDrive 上的这个表格,导入到模型当前,将这个表与原模型中的产品表建设关系: 而后就能够把备注表中的“备注”列,放到后面表格里: 当初还没有增加备注信息,所以这一列都是空的。 利用 Power Apps 创立利用画布上增加 Power Apps 视觉对象: 将产品表中的字段“产品名称”放进来,待系统配置好环境当前,点击“新建” ...

March 30, 2022 · 1 min · jiezi

关于powerbi:DAPBIDAX指南上

上篇: Power BI 概览笔记 DAX根本语法援用表中的列(如果不是数字结尾,不蕴含空格,也不是保留字,可省略单引号)例: 'Sales'[Quantity]最佳实际:在列援用中始终应用表名,在度量值援用中始终防止应用表名。以此在浏览代码时区分度量值和列。正文:单行正文(//或--)数据类型:Integer,Decimal,Currency,DateTime(平年谬误,须要≥1900-03-01),Boolean,String,Variant,Binary运算符 (),+-*/,比拟运算符,&&,||,IN,NOT运算符重载,强制转换 工夫,例: Sales[OrderDatePlusOneWeek] = Sales[Order Date] + 7文本链接,例:= 5 & 4返回"54"运算符,例:= "5" + "4"返回9。表结构器:单列{"Red","Blue","White"},多列{(1,2,3),}条件语句: IF(exp,true,false)计算列和度量值 计算列:在内存数据库刷新时进行逐行运算,占用空间减慢运行速度。个别用来开发时察看两头值。度量值:对多行聚合计算。(在视觉对象筛选上下文或DAX查问上下文计算) 最佳实际 以下操作必须定义计算列 将计算结果置于切片器中,透视表或矩阵的行区域、列区域(而并不是值区域),或应用计算列作为DAX查问的筛选条件定义严格绑定到以后行的表达式(例:价格×数量)对文本或数值做分类时(例:客户的年龄范畴:0~18,18~25)在筛选报表查看后果时定义度量值 基于报表的筛选条件计算利润率有变分和地区筛选器的状况计算一个产品销售额占所有产品销售额的比例变量VAR ... RETURN ...防止反复写表达式,进步可读性和性能 变量范畴的规定(块级作用域): 一个变量在其所在的VAR/RETURN代码块的RETURN局部可用,并且在VAR/RETURN代码块中,在这个变量之后定义的所有变量也能够应用它。VAR/RETURN代码块能够替换任何DAX表达式,在这些表达式中能够读取变量。变量在定义其本身的VAR/RETURN代码块之外不可用。错误处理(转换谬误,计算错误,空值缺失值) 捕捉谬误 IFERROR(Sales[Quantity] * Sales[Price], BLANK())ISERROR,ISBLANK抛出谬误ERROR()格式化 DAXFormatter.com聚合函数和迭代函数 聚合函数:在列上计算。个别对数值或日期,MIN/MAX可对文本。(SUM,AVERAGE,MIN,MAX,STDEV) Sales[DaysToDeliver] = INT( Sales[Delivery Date] - Sales[Order Date])AvgDelivery:=AVERAGE(Sales[DaysToDeliver])迭代函数:聚合表达式。(SUMX,MINX,FILTER,ADDCOLUMNS,GENERATE) 个别至多包含2个参数。1.扫描的表,2.为表的每一行计值得表达式。 AvgDelivery:=AVERAGEX(Sales , INT( Sales[Delivery Date] - Sales[Order Date]))表函数(FILTER,ALL,ALLEXCEPT 迭代表,例: Sales Amount Multiple Items :=SUMX( FILTER(Sales,Sales[Quantity]>1), Sales[Quantity] * Sales[Net Price])[DEFINE {MEASURE <tableName>[<name>] = <expression>}]EVALUATE <table>[ORDER BY {<expression>} [{ASC|DESC}]} [, ...]]空值解决 ...

June 29, 2021 · 2 min · jiezi

关于powerbi:PowerBI进阶3

S00E08 平安除法DEVIDE & IF函数 &switch 函数平安除法分母为0的状况下返回指定值(个别统计中是0用或者1)任何状况下,都应该应用平安除法进行计算,无论是否数据源中是否曾经有分母为0的状况! 公式: 商 = DEVIDE([分子],[分母],0)### IF函数适宜条件比拟少的状况下做逻辑判断。应用办法和excel的if一样 公式: 判断后果 = if([字段]=条件,True返回后果,False返回后果)switch 函数实用于多条件,防止if重复嵌套。视频案例只有"="的状况。这边找了一个其余教程贴在上面供参考 https://www.jianshu.com/p/80f3cf22c304 语法:SWITCH(表达式,条件1,后果1,条件2,后果2,....<else>) 两种判断状况 ①判断条件大于小于的状况: 还是应用下面if中的案例,应用switch编写: 老本区间判断2 = SWITCH(TRUE(),[测试老本]>300,"红色老本",[测试老本]>100,"黄色老本","绿色老本") 下面if嵌套不多,如果条件过多,if函数的嵌套就会很多,可读性较差,应用switch的话就会简单明了 解释:这里的true()是示意每个条件返回都能够是一个逻辑值 ②判断条件相等的状况: 如果下面例子不应用TRUE(),那么老本区间判断2的公式就会这样写: 老本区间判断2 = SWITCH('测试数据'[关键词],139,"黄色老本",589.5,"红色老本",118.8,"黄色老本".......) S00E09 穿插雷同intersect 除去雷同except 平拷Union和笛卡尔积Crossjoin穿插雷同:intersect(表1,表2)案例:邀请并与会人员名单(有表1邀请名单&表2与会名单) intersect("邀请","与会")除去雷同Except(表1,表2)案例:邀请但未与会人员名单(有表1邀请名单&表2与会名单) Except("邀请","与会")不请自来人员名单(有表1邀请名单&表2与会名单) Except("与会","邀请")平拷:Union(表1,表2)间接连在一起 平拷 笛卡尔积 crossjoin表1AB表2iiicrossjoin(表1,表2)表1表2AiBiAiiBiicrossjoin(表2,表1)表1表2AiAiiBiBiiS00E10 VARvar函数 制作变量(度量值)并命名变量留神这个命名(其实就是变量名)必须是英文字符 中文无奈辨认会计算当行的数据 用法1:代替度量值或者新建列EG: 评估 = var zongfen = [数学]+[英语]+[语文]returnIf (zongfen>=270,"优良","个别")用法2:代替earlier函数EG:统计一张表中某人名累计呈现的次数 Earlier用法: 呈现次数 = countrouws(filter('表','表'[姓名]=earlier('表'[姓名])&&'表'[序号]<=earlier('表'[序号])))VAR用法:myname作为变量 (不能命名为非凡名称比方name或者表中有的字段名) 呈现次数 = VAR myname = '表'[姓名]VAR index = '表'[序号]returncountrouws(filter('表','表'[姓名]=myname &&'表'[序号]<=index))

November 15, 2020 · 1 min · jiezi