这是我的第一篇帖子,所以我希望我能把我的问题说清楚。
我在excel中设计了一个产品配置程序。使用一系列下拉菜单和用户表单,我可以构建一个基本的前面标高,我的产品将是什么样子,同时也得到了一个子程序集名称的列表,将构成产品。可以在隐藏工作表上查看此子程序集列表。这类产品可能需要200多个。
(例如,我的产品可以由多达16个部分组成。每个部分可以有15个不同的子组件。因此,我的整个产品可以组合成大约240种不同的子组件,这取决于具体的需求。
我在子程序集工作表中指定了存储子程序集的单元格。此子程序集名称是动态的,取决于配置器中的选择。
(例如单元名称-单元格中的ARE_Section01动态子程序集名称- AU_ARE_36_36_GA11_AL3_X_13_3__ANSI_61_或AU_ARE_22_36_GA11_GA11_R_13_3__ANSI_61_或AU_ARE_22_36_GA11_GA11_X_13_3__ANSI_61_等)

为了构建一个顶级的材料清单,我从Server中提取信息,其中每个可能的子程序集都有一个表(其中700多个)。使用PowerQuery,我对上面提到的16个部分中的每个子程序集都有一个查询。在这些查询中,我使用的参数是相关的命名单元格值,而不是硬编码值。这意味着我将只有240个查询,而不是700+。
(例如,let Source = Sql.Database("x_BJMCC\SQLEXPRESS","AMX"),dbo_AU_ARE_22_36_GA11_GA11_R_13_3__ANSI_61_ = Source{Schema="dbo",Schema= in dbo_AU_ARE_22_36_GA11_GA11_R_13_3__ANSI_61_ )
然后,我将对添加所有相关子程序集的16个部分中的每个部分进行查询。然后,我有一个顶级Panel查询,它附加了所有区段查询。
我希望到目前为止,我已经正确地解释了这一点……
我的问题是..。
当我将程序集名称硬编码到查询中时,就会很快从SQL中提取信息。但是当我使用参数(如上面)时,速度要慢得多。
有没有人对我如何提高表现有任何建议?
发布于 2019-12-03 13:15:46
我想,问题在于您的GetValue函数。例如,使用Ken的fnGetParameter函数不会破坏查询折叠。
https://stackoverflow.com/questions/59156510
复制相似问题