Power BI数据建模

建模

通常情况下,你将会连接到多个数据源以创建报表,且需所有数据协同工作。 建模就是实现这一点的办法。

若要创建不同数据源之间的逻辑连接,需创建一种关系。 数据源之间的关系使 Power BI 能够了解表与表之间的关系,以便能创建有趣的视觉对象和报表。 本部分对关系作出了解释,甚至还说明了如何在不存在任何关系的情况下创建关系。

 

如何管理数据关系

Power BI 允许你以可视方式设置表或元素之间的关系。 若要查看数据的图表视图,请使用关系视图(位于报表画布旁屏幕的最左侧)。

关系视图中,你可以看到表示各个表的数据块,它们之间的表列和表行就是表示的关系。

添加和删除关系非常简单。 若要删除关系,右键单击它并选择删除。 若要创建关系,拖放想要在表格之间创建链接的字段。

若要隐藏报表中的表格或单列,在关系视图中右键单击它,然后选择在报表视图中隐藏

有关你的数据关系的更详细视图,请选择开始选项卡中的管理关系。 这将打开管理关系对话框,该对话框将你的关系显示为列表而不是直观的关系图。在此处,你可以选择自动检测以查找新的或更新数据中的关系。 选择管理关系对话框中的编辑,以手动编辑你的关系。 你也可以在该位置找到高级选项以设置关系的基数交叉筛选方向。

基数的选项有*多对一*和*一对一*。 *多对一*是维度类型关系事实,例如一张销售表,每种产品都具有多行数据,与之匹配的是一个表格,在唯一行中列出了所有产品。 *一对一*通常用于链接引用表格中的单个条目。

默认情况下,关系将设置为在两个方向上交叉筛选。 只在一个方向交叉筛选限制了关系中的某些建模功能。

设置数据之间的准确关系让你能够在多个数据元素间创建复杂的计算。

 

创建计算列

创建计算列是一种用于丰富并增强数据的简单方法。 计算列是通过对以下计算进行定义而创建的新列:转换或合并现有数据的两个或多个元素。例如,可以通过将两列合并为一列来创建新列。

创建计算列的一个有效原因是,当没有可用于建立关系的唯一字段时,在表格之间建立关系。当在 Power BI Desktop 中创建简单的表格视觉对象时,缺少关系会变得明显,并且所有条目都将获得同样的值,而你知道基础数据是不同的。

若要使用具有唯一字段的数据创建关系,例如,当数据中存在“区号”和“本地电话”列时,你可以通过将两者的值合并创建新的“完整电话号码”计算列。 计算列是用于快速创建模型和可视化效果的有用工具。

若要创建计算列,请在报表画布的左侧选择 Power BIDesktop 中的数据视图

在“建模”选项卡中,选择新建列。这将在你可以使用 DAX(数据分析表达式)语言输入计算的地方启用公式栏。 DAX 是一种功能强大的公式语言(Excel 中也有),它可以生成可靠的计算。 在键入公式期间,Power BI Desktop 会显示匹配的公式或数据元素来帮助并加速公式的创建。

在输入表达式期间,Power BI 公式栏将提供特定的 DAX 函数和相关数据列建议。

一旦在每个表中都创建了计算列,它们便可以用作关系键来建立它们之间的关系。 转到关系视图,你便可以将字段从一个表拖动到另一个表来创建关系了。

返回报表视图,你现在将看到各区的值都不同。

还有可以通过创建计算列执行的各种其他操作。

优化数据模型,获得更好的视觉对象

导入的数据通常包含报表和可视化任务中实际不需要的字段,原因是它为额外信息,或者此数据已在其他列中可用。 Power BI Desktop 提供一些工具,可用于优化数据、使其更利于创建报表和视觉对象,以及查看共享报表。

Ø  隐藏字段

若要隐藏 Power BI Desktop 的字段窗格中的某列,请右键单击它,然后选择隐藏。如果此字段已在现有可视化对象中使用,则数据仍位于该视觉对象中,且你仍可在其他可视化对象中使用此数据,隐藏的字段仅不在字段窗格中显示。

若在关系视图中查看表格,则隐藏的字段将通过灰显进行表示。 同样,其数据仍然可用且仍是模型的一部分,只是隐藏不可见而已。通过右键单击该字段并选择取消隐藏,可随时取消隐藏已隐藏的任何字段。

Ø 按其他字段对可视化数据进行排序

建模选项卡中提供的按列排序工具对于确保数据按预期顺序显示非常有用。

举一个常见的例子,包括该月名称的数据默认按字母顺序排序,因此比如“八月”显示在“二月”之前。

此情况下,解决此问题的方法是在字段列表中选择字段、再从建模选项卡中选择按列排序,然后选择要排序的字段。本例中,“MonthNo”类别排序选项按预期对月份进行排序。

另一种优化信息以使其正确处理的方式是设置字段的数据类型。 若要从报表画布中更改数据类型,请在字段窗格中选择该列,然后使用格式下拉菜单选择其中一种格式设置选项。任何已创建且显示此字段的视觉对象均将自动更新。

创建度量值并使用基于时间的函数

度量值 是存在于你的 Power BI 数据模型中的一种计算。 要创建度量值,在报表视图中从建模选项卡选择新度量值

DAX最大优势之一是它有很多有用函数,特别是关于基于时间的计算,如*本年截止到现在*或*同比*。 你只需使用 DAX 定义一次时间度量值,然后从数据模型中按照你所需数量的不同字段来划分它。

在 Power BI中,定义的计算称为*度量值*。 若要创建*度量值*,从主页选项卡中选择新建度量值。 此操作将打开公示栏,你可以在其中输入定义度量值的 DAX 表达式。 键入时,在输入计算过程中,Power BI 会建议相关的 DAX 函数和数据字段,并且你还将得到解释语法和函数参数的工具提示。

如果你的计算很长,则通过键入 ALT-Enter,你可以在表达式编辑器中添加额外的换行符。

创建新的度量值后,它将出现在屏幕右侧的字段窗格中一个表格中。 Power BI 会将新的度量值插入到当前你选中的表格中,不管度量值处在数据的什么位置,你都可以通过选中此度量值,并使用主页表下拉菜单,轻松地移动它。

你可以像使用其它任何表格列一样使用度量值:只需将它拖放到报表画布或可视化效果字段中。 度量值还可与切片器无缝集成,快速分割数据,这意味着你只需定义一次度量值,然后就可将其用于不同的可视化效果。

计算 DAX 函数是一个功能强大的函数,它可实现各种类型的有用的计算,对于财务报表和视觉对象尤为有用。

 

 

创建计算表

计算表是 DAX 的一个功能,可用于表达一众新增建模功能。例如,如果你希望进行不同类型的合并联接或以函数公式的结果为基础创建随即变化的新表,使用计算表可以达到此目的。

要创建计算表,请转到 Power BI Desktop 中的数据视图

从“建模”选项卡选择新建表,以打开公式栏。

在等号的左侧键入新表的名称,在右侧键入要用于形成该表的计算。 完成计算后,新表将显示在模型的“字段”窗格中。

创建后,即可像使用任何其他表的关系、公式、报表那样使用计算表。

 

 

浏览基于时间的数据

使用 Power BI 分析基于时间的数据非常容易。 Power BI Desktop 中的建模工具自动包括一些生成字段,在这些字段中,你可通过一次单击深化到年份、季度、月份和日期。

当你在报表中使用日期字段创建表格可视化效果时,PowerBI Desktop 将自动包括按时间段分解的信息。 例如,Power BI 会自动将日期表中的单个日期字段分为年、季度、月和日,如下图中所示。

可视化效果默认在*年*级别显示数据,但是你可以通过打开视觉对象右上角的向下钻取来更改它。

现在,当你单击图表中的条幅或线段时,它将深化到时间层次结构的下一级别,例如从*年*到*季度*。

你可以继续深化,直到到达层次结构的最精细级别,在本例中即为*天*。 若要在时间层次结构中逆向移动,请单击视觉对象左上角的向上钻取

你还可以深化视觉对象上显示的所有数据,而非只是所选字段,方法是使用钻取全部双箭头图标,它也位于视觉对象的左上角。

只要你的模型具有日期字段,Power BI 就会为不同的时间层次结构自动生成不同的视图。

若要返回单个日期(而不是使用日期层次结构),只需右键单击“字段”列中的列名称(在下图中,列名称为“*InvoiceDate*”,然后从显示的菜单中选择列名称,而不是选择“日期层次结构”。

然后,你的视觉对象会显示基于该列数据的数据,而无需使用日期层次结构。 需要返回以使用日期层次结构?没问题!只需再次右键单击并从菜单中选择“日期层次结构”。

 

 

 

下一步

祝贺你! 你已经完成了本部分的 Power BI 引导学习课程。 了解有关数据建模的信息后,即可学习下一部分中的有趣知识:可视化

如上所述,本课程按照 Power BI 中的常见工作流构建知识:

  • 将数据导入 Power BI Desktop,然后创建报表。
  • 发布到 Power BI 服务,你可在该服务中创建新的可视化效果和构建仪表板
  • 与他人(尤其是差旅人员)共享你的仪表板
  • 在 Power BI Mobile 应用中查看共享仪表板和报表并与其交互

虽然你可能不会亲自动手进行所有操作,但你将*理解*这些仪表板的创建方式、其连接到数据的方式...完成本课程时,你将能够创建自己的仪表板。

下一部分见!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Power BI 数据可视化软件实现共享报表

l 在 Power BI 中与同事共享和协作 在此模块中,涵盖各种用于与同事共享和协作处理仪表板、报表和数据的方法。例如,你可以: 从 Power BI Desktop 向 Power BI 服务发布报表使用 Power BI Mobile 应用查看共享报表和仪表板并与其交互创建打包…

非线性规划 - 用非线性规划解决问题 - (Lingo建模)

在经营管理中,为取得更高的利润,不仅需要提高经营收入,也要考虑如何在现有的人力、物力和财力条件下合理安排,在满足要求的前提下,达到最低的成本。对于静态的最优化问题(即所有数据不会瞬息万变&#xff0…

PHP学习之路(二)让我们开始环境搭建(Windows篇)

在上篇中,我详述了在Windows下配置Zend开发工具的详细过程,但是没有一个开发环境,你再牛B的工具自然也跑不起来,比如没有了.NET Framework,你跑个Visual Studio试试,所以搭建开发环境也是学习程序开发一个必…

线性规划 - 用单纯形法解决整数规划问题 - (Matlab、Lingo建模)

现实生活中,比如机器的台数,参与工作的人数,可调动的车辆数,这些数据都是整数。因此对于变量中包含整数、或者完全是整数的规划问题,我们称之为整数规划。在解决整数规划常用的算法便是单纯形法。 课题名称&#xff1a…

Oracle 多表 连接 顺序 与 性能关系 测试

一. 创建表并insert 数据 create table ta (id number,name varchar2(10)); create table tb(id number,job varchar2(10)); begin for i in 1..1000000 loop begin insert into ta values(i,dave); commit; end; end loop; end; begin for i in 1..1000000 loop begin if i<…

线性规划 - 用单纯形法解决LP问题 - (Matlab、Lingo建模)

线性规划研究时间较早&#xff0c;在实际应用中也比较成熟&#xff0c;它是一种辅助人们进行科学管理的数学方法&#xff0c;为合理地利用有限的人力、物力、财力等资源作出的最优决策&#xff0c;提供科学的依据。 课题名称&#xff1a;配货问题&#xff0c;使运费收入最大 现…

微软Webcast课程下载软件iReaper正式登陆Android平台

微软Webcast课程下载软件iReaper正式登陆Android平台&#xff0c;我叫它iReaper for Android。目前正处于测试阶段&#xff0c;功能比较单一。 目前支持 1.视频下载 2.课程代码下载 3.讲义下载 4.问答下载 附上截图&#xff0c;敬请期待&#xff01; 1.下载地址&#xff…

动态规划 - Floyd算法求最短路径 - (Matlab建模)

Floyd算法又称为弗洛伊德算法、插点法&#xff0c;是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法&#xff0c;与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特弗洛伊德命名。 课题名称&#xff1a;…

神经网络 - BP神经网络与RBF神经网络模型解决实际问题 - (Matlab建模)

目录 神经网络模型简述 实例&#xff1a;交通运输能力预测设计 MATLAB程序及仿真结果 由于货物运输、地方经济及企业发展的紧密联系&#xff0c;因此作为反映货物运输需求的一项重要指标, 货运量预测研究和分析具有较强的实际意义。 常用的货运量预测方法包括时间序列方法、…

LeetCode 135. 分发糖果(DP)

1. 题目 老师想给孩子们分发糖果&#xff0c;有 N 个孩子站成了一条直线&#xff0c;老师会根据每个孩子的表现&#xff0c;预先给他们评分。 你需要按照以下要求&#xff0c;帮助老师给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻的孩子中&#xff0c…

网络数据的背后-网络日志的分析指标【转】

通常网站分析的技术包括页面标签分析技术&#xff08;JS技术&#xff09;和日志文件分析技术两种&#xff0c;两种网站分析技术各有优缺点&#xff0c;譬如下文中介绍的基于回话的统计和点击流分析日志文件分析法就要优于页面标签分析法&#xff0c;通常&#xff0c;两种技术具…

词云图 - WorldCloud - Python代码实现

目录 第一步&#xff1a;安装必要的包WorldCloud&#xff08;安装好并且没有出错的可跳过这一步&#xff09; 第二步&#xff1a;准备文件&#xff0c;词云图的图片和文章&#xff0c;按照自己喜好准备吧 第三步&#xff1a;Python实现-源码 第一步&#xff1a;安装必要的包…

[Hands On ML] 2. 一个完整的机器学习项目(加州房价预测)

文章目录1. 项目介绍2. 性能指标3. 确定任务类型4. 查看数据5. 创建测试集6. 数据可视化7. 查找数据关联8. 特征组合9. 为算法准备数据9.1 数据清洗9.2 处理文本特征10. 自定义转换器11. 特征缩放12. 转换流水线Pipeline13. 训练模型14. 交叉验证15. 微调模型15.1 网格搜索15.2…

线性回归 - 机器学习多元线性回归 - 一步一步详解 - Python代码实现

目录 数据导入 单变量线性回归 绘制散点图 相关系数R 拆分训练集和测试集 多变量线性回归 数据检验&#xff08;判断是否可以做线性回归&#xff09; 训练线性回归模型 先甩几个典型的线性回归的模型&#xff0c;帮助大家捡起那些年被忘记的数学。 ● 单变量线性回归&…

聚类分析 - K-means - Python代码实现

算法简介 K-means算法是很典型的基于距离的聚类算法&#xff0c;采用距离作为相似性的评价指标&#xff0c;即认为两个对象的距离越近&#xff0c;其相似度就越大。该算法认为簇是由距离靠近的对象组成的&#xff0c;因此把得到紧凑且独立的簇作为最终目标。 算法过程如下&…

数据归一化 - MinMaxScaler()/MaxAbsScaler() - Python代码

目录 归一化 数据归一化的背景介绍 MinMaxScaler&#xff1a;归一到 [ 0&#xff0c;1 ] MaxAbsScaler&#xff1a;归一到 [ -1&#xff0c;1 ] 标准化 去均值&#xff0c;方差规模化 归一化 数据归一化的背景介绍 在之前做聚类分析的时候我们发现&#xff0c;聚类的…

loadrunner 配置远程监控windows服务器系统资源

今天决定监控远程windows xp上的系统资源&#xff0c;本来以为应该很好连接&#xff0c;在同一个局域网内&#xff0c;结果出了一堆问题&#xff0c;可能是第一次就让我遇到了一个棘手的操作系统&#xff0c;郁闷&#xff01; &#xff08;1&#xff09;保证装有loadrunner的测…

Python数据清洗 - 洗什么?怎么洗?看完就明白了

目录 缺失值处理 删除缺失值 插补缺失值 不处理缺失值 重复值处理 异常值处理 遍历查找异常值&#xff0c;并根据规则调整大小 删除异常值 视为缺失值后进行插补 数据挖掘过程中&#xff0c;采集的原始数据里存在着各种不利于分析与建模工作的因素&#xff0c;比如数…

LeetCode 743. 网络延迟时间(最短路径)

文章目录1. 题目2. 解题2.1 弗洛伊德1. 题目 有 N 个网络节点&#xff0c;标记为 1 到 N。 给定一个列表 times&#xff0c;表示信号经过有向边的传递时间。 times[i] (u, v, w)&#xff0c;其中 u 是源节点&#xff0c;v 是目标节点&#xff0c; w 是一个信号从源节点传递到…

逻辑回归 - sklearn (LR、LRCV、MLP、RLR)- Python代码实现

目录 LR&#xff08;LogisticRegression&#xff09; - 线性回归 LRCV&#xff08;LogisticRegressionCV &#xff09;- 逻辑回归 MLP&#xff08;MLPRegressor&#xff09; - 人工神经网络 RLR&#xff08;RandomizedLogisticRegression&#xff09;-随机逻辑回归 logisti…