我的代码中有一行将我的列名转换为大写:
#"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”)的列-原始源数据具有各种大写形式,这似乎阻止了上述步骤合并所有相关列。
有人知道为什么上壳体消失了吗?似乎甚至在合并列之前就发生了,因为仅合并了(本来是)大写的列,而那些原来是小写或句子大小写的列仍被排除在外。
答案 0 :(得分:1)
添加新的代码段时,不会引用带有重命名标题的步骤。相反,您可以参考“源代码”步骤(即在重命名之前具有标题的表)。 只需更改此行:
Index = Table.AddIndexColumn(#"Renamed Columns3", "Index", 0, 1)