Power Query,刷新时保持输出表相同大小
Posted
技术标签:
【中文标题】Power Query,刷新时保持输出表相同大小【英文标题】:Power Query, keep output table same size while refreshing 【发布时间】:2020-11-25 20:26:56 【问题描述】:我正在使用此代码从 .txt 文件中过滤掉一些文本。然后在另一张表中,我使用单元格引用来构建我的自定义表格。
一切正常,除非源文件为空,Power Query 会调整输出表的大小,以便第二张表中的引用被破坏。
=cellref!$C4
如何防止电源查询调整他表中的范围?或者,以某种方式,保持相同数量的行/列,以免破坏我的引用?
let
Source = Table.FromColumns(Lines.FromBinary(File.Contents("C:\Users\ceusebio\OneDrive - Hypertec\RESULTS\LogHoudini.txt"), null, null, 1252)),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "Column1", Splitter.SplitTextByDelimiter("Generating Image: /home/ciara/Documents/RESULTS/Houdini/images/img.jpg (", QuoteStyle.Csv), "Column1.1", "Column1.2"),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Column1.1", Splitter.SplitTextByDelimiter("SampleFilter: ", QuoteStyle.Csv), "Column1.1.1", "Column1.1.2"),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Split Column by Delimiter1", "Column1.1.1", Splitter.SplitTextByDelimiter("Thread Count: ", QuoteStyle.Csv), "Column1.1.1.1", "Column1.1.1.2", "Column1.1.1.3", "Column1.1.1.4", "Column1.1.1.5", "Column1.1.1.6", "Column1.1.1.7"),
#"Split Column by Delimiter3" = Table.SplitColumn(#"Split Column by Delimiter2", "Column1.1.1.1", Splitter.SplitTextByDelimiter("] Frame Wall Clock Time: ", QuoteStyle.Csv), "Column1.1.1.1.1", "Column1.1.1.1.2"),
#"Extracted Text Before Delimiter" = Table.TransformColumns(#"Split Column by Delimiter3", "Column1.1.1.1.1", each Text.BeforeDelimiter(_, " dop1"), type text),
#"Extracted Text Before Delimiter1" = Table.TransformColumns(#"Extracted Text Before Delimiter", "Column1.2", each Text.BeforeDelimiter(_, ")"), type text),
#"Split Column by Delimiter4" = Table.SplitColumn(#"Extracted Text Before Delimiter1", "Column1.2", Splitter.SplitTextByDelimiter("x", QuoteStyle.Csv), "Column1.2.1", "Column1.2.2"),
#"Removed Other Columns" = Table.SelectColumns(#"Split Column by Delimiter4","Column1.1.1.1.1", "Column1.1.1.1.2", "Column1.1.1.2", "Column1.1.2", "Column1.2.1", "Column1.2.2"),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Other Columns","Column1.1.1.1.1", type time)
in
#"Changed Type"
【问题讨论】:
你的公式是什么样的? (产生#REF!
的那些。)
看起来像这样=Houdini!$C4
【参考方案1】:
Excel 似乎将缩小的表格视为删除了这些列。
这不是一个很好的解决方案,但您可以将单元格引用包装在 INDIRECT 中作为一种解决方法,因为这会将 Houdini!$C4
视为常量文本值,而不是直接的单元格引用。
=INDIRECT("Houdini!$C4")
【讨论】:
它看起来可以正常工作,谢谢。顺便说一句,你为什么说这不是一个很好的解决方案?可以改进吗? 它是一个不稳定的函数,可能会阻塞电子表格(参见here)。如果您的工作簿不是太复杂,应该没问题。以上是关于Power Query,刷新时保持输出表相同大小的主要内容,如果未能解决你的问题,请参考以下文章
Power BI:多个表作为 Power Query 中 Python 的输出