【问题标题】:PowerQuery - Fill missing data according to specific patternPower Query - 根据特定模式填充缺失数据
【发布时间】:2020-10-26 15:58:53
【问题描述】:

我正在尝试清理从 Excel 文件接收到的数据,并使用 PowerQuery(在 PowerBI 中)将其转换为可用格式。 下面是一个示例表,以及我正在尝试做的事情:

| Country   | Type of location  |
|---------  |------------------ |
| A         | 1                 |
|           | 2                 |
|           | 3                 |
| B         | 1                 |
|           | 2                 |
|           | 3                 |
| C         | 1                 |
|           | 2                 |
|           | 3                 |

如您所见,我有一个每个国家/地区的位置类型列表(始终不变,每个国家/地区始终有相同的数字,即每个国家/地区有 3 行对应 3 种位置类型)

我想做的是看看是否有办法用适当的国家名称填充“国家”列中的空单元格,这将给出如下内容:

| Country   | Type of location  |
|---------  |------------------ |
| A         | 1                 |
| A         | 2                 |
| A         | 3                 |
| B         | 1                 |
| B         | 2                 |
| B         | 3                 |
| C         | 1                 |
| C         | 2                 |
| C         | 3                 |

目前我考虑过使用一系列 if/else if 条件,但由于有 100 多个国家/地区,这似乎不是正确的解决方案。

有什么方法可以更有效地做到这一点?

【问题讨论】:

    标签: powerbi powerquery powerbi-desktop m


    【解决方案1】:

    正如 Murray 所提到的,Table.FillDown 函数效果很好,并且内置在查询编辑器的“转换”选项卡下的 GUI 中:

    请注意,它只会填充以替换空值,因此如果这些行中有空字符串而不是空值,则需要先进行替换。该按钮位于 GUI 中的“填充”按钮上方,您可以像这样使用对话框

    或者只使用生成的 M 代码而不是 GUI:

    = Table.ReplaceValue(#"Previous Step","",null,Replacer.ReplaceValue,{"Country"})
    

    【讨论】:

      【解决方案2】:

      是的,就像您在 Excel 中所做的那样,您可以填写。

      来自文档 - Table.FillDown

      我相信您首先需要对数据进行正确排序。

      Table.FillDown(
          Table.FromRecords({
              [Place = 1, Name = "Bob"],
              [Place = null, Name = "John"],
              [Place = 2, Name = "Brad"],
              [Place = 3, Name = "Mark"],
              [Place = null, Name = "Tom"],
              [Place = null, Name = "Adam"]
          }),
          {"Place"}
      )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多