【问题标题】:combine 8 tables into 1将 8 个表合并为 1 个
【发布时间】:2017-04-03 11:30:34
【问题描述】:

我有 8 个不同的表,看起来像这样

 date/time        v    t    o    ID
3-4-2017 13:15   10    1    8    X
3-4-2017 13:30   15    0    6    X
3-4-2017 13:45   12    0    2    X

 date/time        v    t    o    ID
3-4-2017 13:15   10    1    8    Y
3-4-2017 13:30   15    0    6    Y
3-4-2017 13:45   12    0    2    Y

我想在 Power BI 中的地图上可视化 ID 说明应映射到的位置。但是对于这个可视化,我的数据应该是这样的。

date/time        v    t    o    ID
3-4-2017 13:15   10    1    8    X
3-4-2017 13:15   10    1    8    Y
3-4-2017 13:30   15    0    6    X
3-4-2017 13:30   15    0    6    Y
3-4-2017 13:45   12    0    2    X
3-4-2017 13:45   12    0    2    Y

我已经对此进行了一小部分测试,但必须能够在 3 到 4 年内做到这一点。我宁愿在 Excel 或 BI 本身中执行此操作,但 R 是一个选项。

【问题讨论】:

    标签: r excel powerbi


    【解决方案1】:

    在 R 中,绑定共享相同列的多个数据帧的有效方法是dplyr::bind_rows()。例如 3 个表:

    bind_table <- bind_rows(table1, table2, table3)
    

    【讨论】:

    • 感谢它的工作,我将在 BI 中使用它,所以如果我的 colluge 只是刷新不需要知道 R 代码。
    【解决方案2】:

    将同一文件夹中的多个相同文件组合在一起是 Power BI 中内置的功能:

    1. 获取数据屏幕上,选择文件夹,然后选择连接

    1. 导航到您的文件所在的文件夹

    2. 选择合并和编辑合并和加载

    如果您有进一步的转换来做这样的使用第一行作为标题或从数据中过滤掉其他标题行,则需要进行编辑,但是将每个文件中的数据组合成一个单个数据集将为您完成。

    【讨论】:

      【解决方案3】:

      如果这些表存在于数据库中,并且您可以使用 PowerBI 工具查询它们,那么查询之间的简单 UNION 就可以解决问题。

      例子

      select * from table1 
      UNION
      select * from table2
      

      【讨论】:

      • 该示例以 excel 文件格式(或 csv,没有其他可能性)表示来自提供者的数据。而且我们还没有在实时数据库中得到它。如果有新数据,我们将其放在正确的文件中(在示例 x 或 y 中)。我宁愿在 BI 或 Excel 中做一个联合,因为其他人必须使用它并且不懂 R 语言。
      • 据我所知,PowerBI 可以将 CSV 文件作为数据源,然后使用 SQL 查询这些数据源,如上所述。这个或其他一些演示形式是否最适合您的用例,实际上取决于您的要求,而那些索引这些要求的内容超出了 StackOverflow 的范围(其主要功能是帮助解决特定的编码挑战)。跨度>
      猜你喜欢
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2019-05-19
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多