Naz Asked: 2020-06-04 10:12:32 +0800 CST2020-06-04 10:12:32 +0800 CST 2020-06-04 10:12:32 +0800 CST 如何过滤表中的特征 772 我有一个供应商产品的 Excel 表格,每个产品的功能如图所示; 我想从表中创建一个切片器作为过滤器,以便一个切片器具有功能 1、2、3、4、5 作为其中的选项,我可以选择。但是当我创建一个切片器时,我得到的只是 5 个切片器,其特征是标题,v(勾号)是唯一的选项。 有没有一种使用切片器或其他类似方法的方法,而不是普通的过滤器,我可以在其中列出功能列表并选择我感兴趣的功能并让它过滤表格。 microsoft-excel 1 个回答 Voted Best Answer FlexYourData 2020-06-05T14:05:46+08:002020-06-05T14:05:46+08:00 这是解决此问题的一种方法: 首先,我根据原始数据创建了一个查询(Data>Get & Transform>From Table/Range)。我选择了 5 个特征列,右键单击并选择“替换值”,然后配置对话框以将 Vs 替换为 1: 之后,我将这些列的数据类型转换为整数(原因稍后将变得清楚)。 接下来,我关闭该查询并将其加载到工作簿中。 然后,我在原始数据上创建了一个新查询,但这次将其命名为 data_stacked,并在 5 个特征列上使用了 Transform>Unpivot selected columns,如下所示: 然后我删除了 Value 列,因为它没有任何用处。然后我将该查询加载到工作簿中。 所以现在我在工作簿中有两个查询: 原始数据 data_stacked 接下来我使用 Data>Get & Transform Data>Get Data>Combine Queries>Merge 并像这样配置它: 在 Merge 上选择 OK 后,我展开了“orig_data”列并只包含了 Feature 列(它们是数字的): 然后我将此合并查询加载到工作簿中并在其上创建了一个数据透视表。我将数据透视表配置为在行上有供应商、产品和成本,然后是 5 个值字段 - 每个数字特征列一个,其聚合设置为平均值。我将特征度量重命名为其原始列名(即特征 1 到 5),然后在“属性”字段中插入一个切片器。 最终结果是您可以按功能名称进行切片,还可以保留原始表的整行,并查看过滤后的产品中包含哪些其他功能: 我之所以在 Merge 上走很长一段路,是因为我觉得即使您只选择了其中一个,也能看到过滤产品的所有功能可能很有用。在行轴上使用带有成本的数据透视表可以避免成本字段的重复。
这是解决此问题的一种方法:
首先,我根据原始数据创建了一个查询(Data>Get & Transform>From Table/Range)。我选择了 5 个特征列,右键单击并选择“替换值”,然后配置对话框以将 Vs 替换为 1:
之后,我将这些列的数据类型转换为整数(原因稍后将变得清楚)。
接下来,我关闭该查询并将其加载到工作簿中。
然后,我在原始数据上创建了一个新查询,但这次将其命名为 data_stacked,并在 5 个特征列上使用了 Transform>Unpivot selected columns,如下所示:
然后我删除了 Value 列,因为它没有任何用处。然后我将该查询加载到工作簿中。
所以现在我在工作簿中有两个查询:
接下来我使用 Data>Get & Transform Data>Get Data>Combine Queries>Merge 并像这样配置它:
在 Merge 上选择 OK 后,我展开了“orig_data”列并只包含了 Feature 列(它们是数字的):
然后我将此合并查询加载到工作簿中并在其上创建了一个数据透视表。我将数据透视表配置为在行上有供应商、产品和成本,然后是 5 个值字段 - 每个数字特征列一个,其聚合设置为平均值。我将特征度量重命名为其原始列名(即特征 1 到 5),然后在“属性”字段中插入一个切片器。
最终结果是您可以按功能名称进行切片,还可以保留原始表的整行,并查看过滤后的产品中包含哪些其他功能:
我之所以在 Merge 上走很长一段路,是因为我觉得即使您只选择了其中一个,也能看到过滤产品的所有功能可能很有用。在行轴上使用带有成本的数据透视表可以避免成本字段的重复。