在 MicroStrategy 中滚动 12 个月的 Salesforce
Posted
技术标签:
【中文标题】在 MicroStrategy 中滚动 12 个月的 Salesforce【英文标题】:Rolling 12 Month Salesforce in MicroStrategy 【发布时间】:2020-04-16 19:52:02 【问题描述】:我在连接到我的 SalesForce 数据库的 MSTR WEB 中制作了多维数据集,我有一个格式为“YYYY-MM-DD HH:MM:SS”的日期字段,如何将其保持为滚动 12 个月? 我尝试了不起作用的 add_month(current_date, -12)。
SELECT
P.ID PROBLEM_ID,
CAST(P.BMCSERVICEDESK__OPEN_DATE_TIME__C AS DATE) OPENED_DATE,
parent_account__C
FROM BMCSERVICEDESK__PROBLEM__C P
WHERE P.COUNTRY__C != ''
AND BMCSERVICEDESK__OPEN_DATE_TIME__C >= add_months(current_date, -12)
错误:
从外部数据源(数据库)访问信息时出错 实例:(DataImport)[0],错误:执行查询失败。错误类型: odbc 错误。尝试的 Odbc 操作:SQLExecDirect。 [42000:-11:开 SQLHANDLE] [MicroStrategy][ODBC Salesforce 驱动程序][Salesforce] 意外标记:语句 [select] 中的 ADD_MONTHS P.ID PROBLEM_ID, CAST(P.BMCSERVICEDESK__OPEN_DATE_TIME__C AS DATE) OPENED_DATE,parent_account__CFROM BMCSERVICEDESK__PROBLEM__C P WHERE P.COUNTRY__C != '' AND BMCSERVICEDESK__OPEN_DATE_TIME__C >= add_months(current_date, -12)])
谢谢!
【问题讨论】:
BMCSERVICEDESK__OPEN_DATE_TIME__C
是什么数据类型?看来你是想从最后十二个月的第一天开始比较,是你想要的吗?
不确定数据时间,但是当我运行整个表时,它会使用日期/时间格式。我看的不是第一天,而是当天 - 12 个月
【参考方案1】:
您的问题/错误是什么? P.BMCSERVICEDESK__OPEN_DATE_TIME__C 的类型是什么?
编辑:
先用这个:
SELECT data_type, data_length FROM all_tab_columns where table_name = 'YOUR_TABLE' AND COLUMN_NAME = 'YOUR_COLUMN'
SELECT
P.ID PROBLEM_ID, CAST(P.BMCSERVICEDESK__OPEN_DATE_TIME__C AS DATE) OPENED_DATE, parent_account__C
FROM BMCSERVICEDESK__PROBLEM__C P
WHERE P.COUNTRY__C is not null
AND trunc(BMCSERVICEDESK__OPEN_DATE_TIME__C) >= add_months(sysdate, -12)
你也可以截断sysdate
...
【讨论】:
使用 add_months 我得到“意外的令牌:语句中的 ADD_MONTHS”错误。类型是日期/时间,基于我在运行整个表时可以看到的内容 @darkpunk 使用查询获取 data_type(在 EDIT 下)。 遗憾的是,该查询不起作用。我认为 MSTR Web 查询在连接到 salesforce 时不会像常规 SQL 查询那样工作。无论如何,我很感激这方面的帮助。您的查询应该可以工作,但我猜它是系统错误而不是查询错误。【参考方案2】:基本问题似乎是何时开始为您的 12 个月跑步计时。使用您现在所做的,其中“date_column >= '2019-04-01 00:00:00'”然后每月更新(?)看起来您是从本月 1 日开始的 12 个月。所以试试
date_column >= add_months(trunc(sysdate,'month'), -12)
您表示使用 add_months 时遇到错误。这意味着您的语句中有语法,但您确实发布了它,所以我们看不到它可能是。 BTW Oracle 不分离数据和时间数据类型。所有日期类型都包含日期和时间组件。
【讨论】:
试过这个仍然得到“Unexpected token: ADD_MONTHS in statement”错误:/ 发布您运行的确切 SQL 语句,以及确切的完整错误消息。如果您运行的是较大代码块的一部分,请发布它。该错误表明您有语法问题。没有人能在看不见的情况下帮助你。光说什么错误,甚至是什么错误,完全没有用。另外,请更新问题,不要将您的代码作为评论发布。也许您应该查看How to Ask。 我已编辑帖子以显示我尝试过的内容以及收到的错误消息。以上是关于在 MicroStrategy 中滚动 12 个月的 Salesforce的主要内容,如果未能解决你的问题,请参考以下文章