【问题标题】:Only import data within a certain date from SQL into Excel仅将某个日期内的数据从 SQL 导入 Excel
【发布时间】:2015-07-31 00:06:27
【问题描述】:

使用 Excel 2013,我已连接到我们 CRM 程序中的 SQL 数据库。我正在运行活动报告,我真的只需要过去 90 天的数据。有没有办法可以将导入 Excel 工作表的 SQL 记录数量限制为过去 90 天内的记录?我将此数据用于自动刷新仪表板,每次刷新需要 2-3 分钟,因为有超过 71,000 行。

感谢您的帮助。

【问题讨论】:

  • 您是否正在编写 SQL(结构化查询语言)并且真的是指 Microsoft SQL Server(实际产品)?如果是:请添加sql-server 标签以明确这一点。如果不是:什么这是用于数据库系统的?

标签: sql-server excel


【解决方案1】:

只有当 SQL 记录包含日期字段时,您才能执行此操作。

更改您的查询以在该日期添加限制性条款:

select your_data 
from your_tables 
where
your_existing_conditions 
and date_field >= getdate() - 90
;

【讨论】:

  • 对不起,我应该提到 SQL 数据确实有一个日期字段。当您说更改查询时,这是否需要在 SQL 中完成?我没有在 Excel 中构建查询,我只是在通过数据库连接时。原谅我的无知。
  • 我不是 Excel 专家。在 2007 版本中(希望与 2013 相同),您可以在连接的属性中更改此设置(数据=>连接=>您的连接=>属性=>选项卡“定义”)。命令类型:使用“SQL”而不是“table”并将请求写入文本字段。
【解决方案2】:

当您连接到数据源时,就在您选择要在“导入数据”对话框中显示数据的位置之前,点击“属性”按钮。

转到定义选项卡并将命令类型从表更改为 SQL。然后你可以输入你的 SQL 查询(假设你有正确的权限)来过滤你的结果。

如果您没有权限,则需要让您的数据库团队创建一个您提取的视图,而不是为您执行过滤的表。

【讨论】:

    【解决方案3】:

    您使用的是哪个版本的 Excel 2013?如果它是包含 PowerPivot 的版本,我建议您使用它来连接到数据库,因为它在处理大量行方面要好得多,您不必担心在很长一段时间内限制行数。

    或者,在数据菜单中,转到“来自其他来源”并选择“来自 Microsoft Query”,这将为您提供对所接收数据设置条件的选项。如果您不熟悉 SQL,那么将为您处理潜在的 WHERE 条件。

    【讨论】:

      【解决方案4】:

      谢谢大家!根据这里的反馈,我通过编写我的第一个 SQL 查询解决了我的问题(别笑)!通过转到连接属性中的定义选项卡并将命令类型更改为 SQL,我编写了一个非常简单的代码来添加日期范围。再次感谢。

      【讨论】:

        猜你喜欢
        • 2018-04-07
        • 1970-01-01
        • 2016-04-24
        • 2015-04-03
        • 1970-01-01
        • 2017-05-05
        • 2015-01-02
        • 1970-01-01
        相关资源
        最近更新 更多