首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于在多个列中预加前值的m代码

M代码是一种用于Power Query和Power BI中的一种编程语言,用于数据转换和处理。它可以用于在多个列中预先计算前一个值。

M代码是一种函数式编程语言,它使用一系列的步骤来处理数据。在处理数据时,可以使用M代码中的函数和操作符来实现各种功能。

在多个列中预先计算前一个值是一种常见的需求,特别是在时间序列数据或者需要计算累积值的情况下。使用M代码可以轻松实现这个功能。

以下是一个示例的M代码,用于在多个列中预先计算前一个值:

代码语言:txt
复制
let
    // 步骤1:导入数据
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQrV0lFyUlBqSVFYBAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t]),

    // 步骤2:添加前一个值列
    AddPreviousValue = Table.AddColumn(Source, "PreviousValue", each null),

    // 步骤3:计算前一个值
    CalculatePreviousValue = Table.FromColumns(Table.ToColumns(AddPreviousValue) & {List.Accumulate({1..Table.ColumnCount(AddPreviousValue)}, {}, (state, current) => state & {List.Last(state) & AddPreviousValue{current}[Column1]}))}),

    // 步骤4:删除原始列
    RemoveOriginalColumns = Table.RemoveColumns(CalculatePreviousValue, {"Column1", "Column2", "Column3"}),

    // 步骤5:重命名列
    RenameColumns = Table.RenameColumns(RemoveOriginalColumns, {"Column1.1", "Column1", "Column2.1", "Column2", "Column3.1", "Column3"})
in
    RenameColumns

上述代码中,我们首先导入数据,然后添加一个新的列"PreviousValue",并将其初始值设置为null。接下来,我们使用List.Accumulate函数来计算前一个值,并将结果存储在新的表中。最后,我们删除原始列,并重命名新的列。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。在实际应用中,你可以将这段代码封装成一个函数,以便在多个地方重复使用。

对于使用M代码进行数据处理和转换的更多信息,你可以参考腾讯云的Power Query文档:Power Query文档

请注意,以上答案仅供参考,具体的实现方式可能因实际情况而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券