zoukankan      html  css  js  c++  java
  • 在Power Query中,如何一次对多个列进行高级转换

    ​你在PQ中仅能使用UI界面将简单的转换应用于多个列,在本文中,将介绍如何一次对多个列应用高级转换。你也可以用它来使用自定义函数。最后,对于自定义M函数的老粉:你还将获得一个新的“ TranformAllMyColumnsAtOnceHowILikeIt”函数。

    问题-我太难了

    查询编辑器中的“转换”选项卡对你选择的列是很敏感的。因此如果你如示列般选择多列, 一些数字转换将显示为灰色,从而无法访问:

    许多图标将变灰

    所以,如果乘法图标变灰,如何对所选列乘以10?

    解法-So Easy

    只需检查要转换的列并选择一个可访问的虚设函数。理想情况下,它应包含与预期函数一样多的参数,但这不是强制性的。在我们的例子中,我选择了一个带有2个参数的函数(用于数字和乘法器):舍入->舍入非常适合这里。

    我在小数位数字段中输入乘数(10)的数字;

    数字区域

    现在,你是否正在问自己在哪里填写数字本身的引用? 然后在编辑栏中签出自动生成的M代码:

    自动生成的公式

    查询编辑器已自动将引用设置为数字,并用下划线(_)表示。这表示自动创建的(唯一)函数参数,因此,它使用了语法“each”关键字。

    如你所见,已经为表的每个字段创建了所有代码。因此,我们现在唯一需要调整的是函数本身。我改动“each Number.Round(_, 10)” 到 “each _ * 10” 通过将其复制粘贴到每个列表达式中:

    编辑公式

    使用自定义功能

    如何将“RemoveHtmlTags”功能应用于整个表, 参考如下:

    1.从GitHub复制功能代码

    2.在查询编辑器中创建一个空白查询

    3.在高级编辑器中编辑该查询,并将所有现有代码替换为复制的代码

    4.命名查询“ fnRemoveHtmlTags”

    5.现在,你应该检查所有列并应用虚拟转换

    6.最后,将生成的代码的功能部分替换为“ fnRemoveHtmlTags”,如下所示:

    删除HTML标签

    你是否想知道“each”都去了哪里? 实际上,对于仅带有一个参数的函数来说,这是不必要的。

    更高效率的函数

    如果要将转换应用于表的所有列, 以下功能将派上用场。只需填写3个参数(表格,函数和类型),然后,最后可以使用可选的“ ColumnNames”参数 。如果只想将转换限制到这些列,则可以在其中提供列名称的列表。

    必须如下使用参数:

    1.参考表格本身

    2.参考函数

    3.要转换的列类型(注意:你必须使用正确的类型(无引号)且非文字表达式)

    4.可选参数: 你想要将转换限制为某些列的列名列表


    如何使用书签来延迟加载Power BI 视觉对象

    ● 如何设计卡片图突出显示与警告

    ●  Power BI 12月产品功能更新—视频上线

    ● Power BI 12月产品功能更新文档

    Power BI数据集内存挑战—节省40%以上!

    技术交流

    1.Power BI免费下载:http://www.yeacer.com/

        Microsoft Power BI Desktop中文最新版:下载地址

    2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。 

       Power Data技术交流群:702966126 (验证注明:博客园Power BI) 

       更多精彩内容请关注微信公众号:悦策PowerBI          


    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/ 
    Fancy
  • 相关阅读:
    SpringBoot之Banner介绍
    SpringBoot事件监听机制
    SpringBoot 启动流程图
    ApplicationContextInitializer的理解和使用
    SpringFactoriesLoader解析
    计时器之StopWatch
    ftp上下载文件
    打印两个函数的返回值
    关闭所有已打开的文件和关闭应用
    TypeError: include() got an unexpected keyword argument 'app_name'
  • 原文地址:https://www.cnblogs.com/yeacer/p/12149272.html
Copyright © 2011-2022 走看看