Почему после Table.TransformColumnNames имена столбцов возвращаются к предыдущим именам на последующих шагах? - PullRequest
0 голосов
/ 09 января 2019

В моем коде есть строка, которая преобразует имена моих столбцов в верхний регистр:

#"Renamed Columns3" = Table.TransformColumnNames(Source, Text.Upper),

Это прекрасно работает, когда это последний шаг в коде.

Однако, когда я добавляю следующий раздел, заголовки столбцов возвращаются к своей предыдущей случайной форме.

Index= Table.AddIndexColumn(Source, "Index", 0, 1),
EmailList= List.Select(Table.ColumnNames(Index), each Text.Contains(_, "EMAIL_OPTIN")),   
Merged = Table.CombineColumns(Index,EmailList,Combiner.CombineTextByDelimiter("", QuoteStyle.None),"MergedE"),
#"Merged Queries" = Table.NestedJoin(Index,{"Index"},Merged,{"Index"},"MergedE",JoinKind.LeftOuter),
#"Expanded Table2" = Table.ExpandTableColumn(#"Merged Queries", "MergedE", {"MergedE"}, {"MergedE"}),
#"Removed Columns3" = Table.RemoveColumns(#"Expanded Table2",{"Index"})
in  #"Removed Columns3"

Как вы, вероятно, можете догадаться, причина, по которой я вначале прописываю имена столбцов в верхнем регистре, заключается в том, что следующий шаг может идентифицировать все столбцы с правильными именами (т. Е. Содержащие "EMAIL_OPTIN") - исходные данные источника различные заглавные буквы, и это, казалось, мешало вышеуказанному шагу объединить все соответствующие столбцы.

Есть идеи, почему верхняя часть корпуса исчезает? Похоже, это происходит до того, как объединение столбцов произойдет, поскольку объединяются только (первоначально) заглавные столбцы, а те, которые изначально были в нижнем регистре или в предложении, по-прежнему не учитываются.

1 Ответ

0 голосов
/ 09 января 2019

Когда вы добавляете новый раздел кода, вы не ссылаетесь на шаг с переименованием заголовков. Вместо этого вы ссылаетесь на шаг Source (то есть таблицу с заголовками перед переименованием). Просто измените эту строку:

Index = Table.AddIndexColumn(#"Renamed Columns3", "Index", 0, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...