在Power BI中使用“编辑查询”和“R”对多个表/数据集执行操作
我在Power BI文件中有两个表tbl_A和tbl_B,我想使用编辑查询中的Run R Script功能进行转换和分析.
这将包括处理缺失值和连接表.但是,在启动R时,似乎我一次只能在一个表上进行操作.这是因为Run R Script功能仅导入单击Run R Script按钮时处于活动状态的表中的数据.然后将该数据存储在数据集变量中. 如果这是正确的,在我看来,在Power BI中R`的实际使用将非常有限.我知道我可以在释放R之前加入表格.对于像这样的简单情况,这将是一个可行的解决方案,但肯定不适用于更复杂的数据结构.有关如何在Power BI中使用R对多个表进行操作的任何建议? 解决方法
精简版:
在“编辑查询”中,插入R脚本时,只需在“公式”栏中添加[dataset =“Renamed Columns”,dataset2 = tbl_A].在这种情况下,Renamed Columns指的是您正在插入R脚本的表的状态(在APPLIED STEPS下),而tbl_A指的是您可以使用的另一个表.并检查有关隐私的所有设置. 长版 跟进我的评论,这是一个基于business intelligence blog的建议和PowerBI forum中的贡献的解决方案: 首先,您必须编辑一些设置.转到选项和设置|选项.在隐私下,选择始终忽略隐私级别设置.你自己冒风险…… 现在,转到选项和设置|数据源设置.选择源并单击“编辑权限”.将其设置为公共: 现在我们很高兴: 我将从头开始,因为我不知道在PowerBI中会触发任何其他数据加载方法的怪癖.我有两个单独的Excel文件,每个文件分别包含一个名为tbl_A和tbl_B的工作表. tbl_A数据 Date Price1 Price2 05.05.2016 23,615 24,775 04.05.2016 23,58 24,75 03.05.2016 0 24,35 02.05.2016 22,91 24,11 29.04.2016 22,93 24,24 tbl_A截图 tbl_B数据 Date Price3 Price4 02.06.2016 19,35 22,8 01.06.2016 19 22,35 31.05.2016 19,71 30.05.2016 15,5 21,85 27.05.2016 19,43 22,52 tbl_B截图 在PowerBI的主窗口中,使用Get Data加载tbl_A: 使用tbl_B执行相同的操作,以便在“字段”菜单下最终得到两个单独的表: 单击“主页”选项卡下的“编辑查询”,确保公式栏可见.如果没有,您可以在View下激活它: 根据表的加载方式,PowerBI将在此过程中添加几个步骤.这些步骤在“查询设置”下可见: 除其他外,PowerBI将日期的数据类型更改为,您猜对了,日期.这可以在trigger problems之后.为避免这种情况,我们可以将两个表中日期的数据类型更改为Text: 在为两个表完成此操作后,请确保tbl_B处于活动状态,并查看“查询设置”.您将在数据加载过程中添加一个新步骤Changed Type: 我们将添加另一个步骤,以使我们即将推出的R脚本尽可能简单.在该脚本中,我们将使用rbind()函数加入表.除非不同表中的列名相同,否则这将触发错误.因此,请继续将B列中的名称分别从Price3和Price4更改为Price1和Price2: 现在,查询设置下的应用步骤应如下所示: 最后一步的名称至关重要,因为在编写R脚本时,您将不得不引用重命名列(或其他任何您想要调用的列).最后我们可以做到这一点. 在Transform下,单击Run R Script.如下图所示,变量数据集将包含脚本的原始数据.在这种情况下,如果单击Run R Script时tbl_B是活动表,则它将以数据帧的形式显示为tbl_B: 现在,保持脚本不变,单击“确定”,然后查看公式栏: 上面的图片告诉我们两件重要的事情.首先,我们可以看到到目前为止流程已经顺利进行,我们有一个空表.其次,我们可以看到数据集引用了在重命名的列之后我们离开它的状态中的tbl_B.如果你在其他地方读过这些东西,那么这就是令人困惑的部分.在公式栏中,您可以通过添加dataset2 = tbl_A来输入第二个数据集,以便公式现在如下所示: 按Enter键 在“查询设置”下,您将看到可以编辑R脚本的新步骤: 点击它返回R并添加这个小片段: df_B <- dataset df_A <- dataset2 df_temp <- rbind(df_A,df_B) output <- df_temp 单击“确定”后,您将看到以下内容: 没关系,公式栏看起来像一团糟,只需继续并单击输出旁边的表. 就是这个!! 转到主页,然后单击关闭&应用以退出查询编辑器.现在,您可以在“字段”下的R脚本中检查输出,或者在“数据”选项卡中检查输出,如下图所示: 最终结果将是原始tbl_B的一个版本,其中添加了tbl_A中的列.不太花哨,但现在你已经在你的R脚本中组合了两个数据集,你就能够将R的更大部分释放到你的工作流程中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |