Power BI / Power Query [M code] - добавление пользовательского столбца на основе источника - PullRequest
0 голосов
/ 29 мая 2018
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],

Извлечение данных из нескольких объектов (компаний) в Microsoft Dynamics Navision с использованием вышеуказанного кода (например, Company1).

Попытка добавить настраиваемый столбец с уникальным идентификатором на основе именикомпания.

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

Можно ли добиться этого с помощью кода М?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Я не могу проверить это, но я думаю, что это может сработать для вас:

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 Entry в ваш новый столбец.Вы можете изменить Record.Field(#"COMPANY1$G_L EntrySrc", "Item") на Text.Before(Record.Field(#"COMPANY1$G_L EntrySrc", "Item"), "$G_L"), чтобы вернуть только COMPANY1.

0 голосов
/ 30 мая 2018

Как на счет этого?

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",[...])

Таким образом, вы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...