首页 文章

Power BI / Power Query [M代码] - 根据来源添加自定义列

提问于
浏览
0
let
Source = Sql.Databases("xx.x.x.x"),
zzz_LIVE = Source{[Name="NAVzzz_LIVE"]}[Data],
#"COMPANY1$G_L Entry" = NAVzzzLIVE{[Schema="dbo",Item="COMPANY1$G_L Entry"]}[Data],

使用上面的代码(以Company1为例)从Microsoft Dynamics Navision中的多个实体(公司)中提取数据 .

尝试根据公司名称添加具有唯一标识符的自定义列 .

G_L Account number     G_L Account name   Amount   Company
10010                  Revenue            100      Company1
22000                  Rent               50       Company1

是否有可能通过M代码实现这一目标?

非常感谢 .

2 回答

  • 0

    这样的事怎么样?

    let
        Source = Sql.Databases("xx.x.x.x"),
        zzz_LIVE = Source{[Name="NAVzzz_LIVE"]}[Data],
        Name1 = "Company1",
        Name2 = "Company2",
        [...]
        #"COMPANY1" = NAVzzzLIVE{[Schema="dbo",Item=Name1&"$G_L Entry"]}[Data],
        #"Added Custom1" = Table.AddColumn(#"COMPANY1", "Company", each Name1),
        #"COMPANY2" = NAVzzzLIVE{[Schema="dbo",Item=Name2&"$G_L Entry"]}[Data],
        #"Added Custom2" = Table.AddColumn(#"COMPANY2", "Company", each Name2),
        [...]
        Table.Combine(#"Added Custom1",#"Added Custom2",[...])
    

    那样你

  • 1

    我无法测试这个,但我认为它可能适合你:

    let 
        Source = Sql.Databases("xx.x.x.x"), 
        zzz_LIVE = Source{[Name="NAVzzz_LIVE"]}[Data],
        #"COMPANY1$G_L EntrySrc" = NAVzzzLIVE{[Schema="dbo",Item="COMPANY1$G_L Entry"]},
        #"COMPANY1$G_L Entry" = #"COMPANY1$G_L EntrySrc"[Data],
        #"Added Custom" = Table.AddColumn(#"COMPANY1$G_L Entry", "Company",   
        each Record.Field(#"COMPANY1$G_L EntrySrc", "Item")) 
    in
        #"Added Custom"
    

    我将导航步骤(#“COMPANY1 $ G_L Entry”)分成两部分,以便我可以引用它的记录 . 否则,[数据]会妨碍 .

    如果我没错,它会将COMPANY1 $ G_L条目返回到您的新列 . 您可以将 Record.Field(#"COMPANY1$G_L EntrySrc", "Item") 更改为 Text.Before(Record.Field(#"COMPANY1$G_L EntrySrc", "Item"), "$G_L") 以仅返回COMPANY1 .

相关问题