当至少两个查询共享公共步骤时如何避免冗余?

问题描述 投票:0回答:1

我有五个查询共享一些步骤。但为了简单起见,我们只考虑两个查询。

正如您在下面看到的,两个查询

Q1
Q2
共享前两个步骤和最后一步。

我的问题:是否可以在两个单独的查询中引用前两个步骤和最后一步,以便我可以在

Q1
Q2
中调用它们?因为现在我有一个问题。例如,如果我需要修改一个公共步骤或添加/删除一个步骤,我需要对
Q1
Q2
执行此操作。

Q1

let
    Source = Csv.Document(File.Contents("C:\Users\VERBOSE\Desktop\file.csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Personnalisée ajoutée" = Table.AddColumn(#"En-têtes promus", "new_col", each "###"),
    #"Lignes filtrées" = Table.SelectRows(#"Personnalisée ajoutée", each ([col3] = "1"))
in
    #"Lignes filtrées"

Q2

let
    Source = Csv.Document(File.Contents("C:\Users\VERBOSE\Desktop\file.csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Personnalisée ajoutée" = Table.AddColumn(#"En-têtes promus", "new_col", each "XYZ"),
    #"Lignes filtrées" = Table.SelectRows(#"Personnalisée ajoutée", each ([col3] = "1"))
in
    #"Lignes filtrées"

我的示例中使用的 csv 文件是这个:

col1,col2,col3
A,13/01/2023,1
B,14/01/2023,2
C,15/01/2023,3
excel powerquery data-analysis m
1个回答
0
投票

您可以通过两种方式实现这一目标。您可以有基本查询,因此前两个步骤位于基本查询中,然后右键单击该查询并为您的两个输出查询引用该查询。确保在基本查询上未选中启用加载。对于最后一步,您可以将公共逻辑抽象为函数,并在两个输出查询中调用该函数。

© www.soinside.com 2019 - 2024. All rights reserved.