在 Power BI 中清理、转换和加载数据

自定义列

  1. 若要创建自定义功能区,请在“添加列”功能区选项卡上的“常规”组中,单击“自定义列”。

    “自定义列”按钮的屏幕截图

  2. 在“自定义列”窗口的“新列名”框中,将文本替换为 Cost。

  3. 在“自定义列公式”框中,输入以下表达式(等号后面的内容):

  4.  

    if [TotalProductCost] = null then [OrderQuantity] * [StandardCost] else [TotalProductCost]

    此表达式测试是否缺失 TotalProductCost 值。 如果是,则会生成一个值,方法是将 OrderQuantity 值乘以 StandardCost 值;如果没有缺失,它将使用现有的 TotalProductCost 值。

  5. 单击“确定”。

 

 

逆透视

在此任务中,你将配置 Targets 查询。

  1. 选择 ResellerSalesTargets 查询。

  2. 将查询重命名为 Targets。

  3. 若要对 12 个月的列进行逆透视(M01-M12),首先,选择多个 Year 和 EmployeeID 列标头。

    Targets 查询的屏幕截图。

  4. 右键单击任一所选的列标头,然后在上下文菜单中,选择“逆透视其他列”。

  5. 请注意,列名现在显示在 Attribute 列中,值显示在 Value 列中。

  6. 将筛选器应用于 Value 列以删除连字符 (-) 值。

  7. 重命名以下两列:

    • 将 Attribute 重命名为 MonthNumber(两个词之间没有空格,稍后会将它删除)

    • 将 Value 重命名为 Target

    现在,你将应用转换来生成一个日期列。 日期将派生自 Year 和 MonthNumber 列。 你将使用“示例中的列”功能来创建列。

  8. 若要准备 MonthNumber 列值,请右键单击 MonthNumber 列标头,然后选择“替换值”。

  9. 在“替换值”窗口的“要查找的值”框中,输入 M。

  10. 单击“确定”。

  11. 将 MonthNumber 列数据类型修改为“整数”。

    列数据类型和图标的屏幕截图。

  12. 在“添加列”功能区选项卡上的“常规”组中,单击“示例中的列”图标。

    “示例中的列”按钮的屏幕截图。

  13. 请注意,第一行的年份是 2017,月份号为 7。

  14. 在 Column1 列的第一个网格单元格,输入 7/1/2017,然后按 Enter 键。

    由于虚拟机使用美国区域设置,因此此日期实际上将显示为 July 1, 2017。

  15. 请注意,网格单元格将更新为预测值。

    此功能已准确预测你正在合并两个列中的值。

  16. 另请注意查询网格上方显示的公式。

    公式的屏幕截图。

  17. 若要重命名新列,请双击“已合并”列标头。

  18. 将列重命名为 TargetMonth。

  19. 单击“确定”。

  20. 删除以下列:

    • Year

    • MonthNumber

  21. 修改以下列数据类型:

    • 将 Target 的数据类型修改为定点十进制数

    • 将 TargetMonth 的数据类型修改为日期

  22. 若要将 Target 值乘以 1000,请选择 Target 列标头,然后在“转换”功能区选项卡上的“编号列”组中,单击“标准”,然后选择“乘”。

    “标准”按钮的屏幕截图。

  23. 在“乘”窗口的“值”框中,输入 1000。

  24. 单击“确定”。

 

 

合并查询

  1. 若要合并 ColorFormats 查询,请在“开始”功能区选项卡上的“合并”组中,单击“合并查询”。

    “合并查询”按钮的屏幕截图。

    合并查询能够实现集成数据,在本例中,这些数据来自不同的数据源(SQL Server 和 CSV 文件)。

  2. 在“合并”窗口的 Product 查询网格中,选择 Color 列标头。

    突出显示了 Color 列的“合并”窗口的屏幕截图。

  3. 在 Product 查询网格下的下拉列表中,选择 ColorFormats 查询。

  4. 在 ColorFormats 查询网格中,选择 Color 列标头。

  5. 在“隐私级别”窗口打开后,对于这两个数据源,在相应的下拉列表中选择“组织”。

    “隐私级别”窗口的屏幕截图。

    可以为数据源配置隐私级别来确定数据是否可以在源之间共享。 将每个数据源设置为“组织”以使它们能够共享数据(如有必要)。 私有数据源决不能与其他数据源共享。 这并不意味着私有数据不能共享,这只是表示 Power Query 引擎无法在源之间共享数据。

  6. 单击“保存”。

  7. 在“合并”窗口中,单击“确定”。

 

参见:

https://docs.microsoft.com/zh-cn/learn/modules/clean-data-power-bi/8-lab

 

### 如何在 Power BI 中清除或删除报表中的历史旧数据 #### 清除加载数据源缓存 当不再需要来自特定数据源的历史数据时,可以通过刷新功能来更新数据并移除过期的信息。如果连接的是实时数据库,则每次点击刷新都会获取最新的记录而自动覆盖陈旧条目[^1]。 对于已经保存的静态文件(例如 Excel 文件),则需重新定义数据集范围或者更改查询逻辑以排除不需要的时间段内的资料: ```m let Source = Csv.Document(File.Contents("C:\path\to\yourfile.csv"),[Delimiter=",", Columns=4, Encoding=1252]), // 修改过滤条件去除旧日期 FilteredRows = Table.SelectRows(Source, each Date.Year([DateColumn]) >= 2023), in FilteredRows ``` 上述 M 脚本展示了如何通过设置 `Table.SelectRows` 函数仅保留指定年份之后的数据行,从而实现清理目的。 #### 删除已有的转换步骤 有时可能希望彻底抛弃之前所有的处理过程以及其中间产物。此时应该回到 "Transform Data" 的编辑界面,在左侧导航栏找到对应表格名称下的各个应用过的变换动作列表,并逐个移除不必要的环节直至恢复至最初状态再做新的设定。 #### 利用增量刷新策略管理大量时间序列型数据 针对存储着长时间跨度内频繁变动数值的大规模事实表而言,采用增量刷新模式能够有效减少资源占用并加快运算速度。这允许用户自定义哪些部分应当被定期重载,同时保持其余分区不受影响。 为了实施这一机制,通常要预先规划好适合业务需求的日程安排,并确保目标系统支持必要的 API 接口用于同步变更通知。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值