0

数据库在 oracle 中,我的机器配置了名为 PPM 的 odbc 32 位,我创建了一个脚本,但需要帮助格式化计算字段:

LIB CONNECT TO [PPM];

[SCRIPT]:

SQL Select NP.BUSINESS, NP.PLATFORM, NP.CATEGORY,

CASE WHEN IMPLE IS not NULL THEN IMPLE
                WHEN CONTRACT IS not NULL THEN CONTRACT
                    WHEN ANALYSIS IS not NULL THEN ANALYSIS
                        ELSE IDEA END AS REALDATE,

Imple、Contact、Analysis、Idea 都是具有相同日期格式的字段,并且需要此代码,因此我们可以始终将最后一个日期输入为“Realdate”

这会在新字段中返回正确的日期(服务器中不存在),但显示许多重复项,使用SET TimestampFormat='MM-YYYY';之前,它会返回格式正确的日期,但显示“03-2015”3 次以及许多其他日期,例如那。
也在尝试:date(floor("REALDATE",'MM.YYYY') as "REALDATE2"但由于这是一个计算字段,我不知道如何引用该字段。

谢谢

4

3 回答 3

0

在 QlikView 中,函数 Date#(expression [ , format-code ]) 可以帮助您。您可以评估具有特定日期格式的任何表达式。

希望这会有所帮助,但是您的问题不是很清楚,如果您可以添加更多信息,那将非常有用。

于 2016-06-30T18:16:02.307 回答
0

看起来 Qlik 正在获取数值并需要转换为日期。date#用于将日期字符串呈现为日期值。

LIB CONNECT TO [PPM];

[SCRIPT]:
Load BUSINESS
,PLATFORM
,CATEGORY
,date(REALDATE) as REALDATE;
SQL Select NP.BUSINESS, NP.PLATFORM, NP.CATEGORY,

CASE WHEN IMPLE IS not NULL THEN IMPLE
                WHEN CONTRACT IS not NULL THEN CONTRACT
                    WHEN ANALYSIS IS not NULL THEN ANALYSIS
                        ELSE IDEA END AS REALDATE,
于 2016-07-01T10:44:11.167 回答
0

经过长时间的尝试,我找到了解决方法:

DATE#(DATE(Date#([REALDATE], 'MM-YYYY'), 'MMM/YYYY'), 'MMM/YYYY')

无法格式化脚本内的字段,但这可以解决问题

谢谢您的帮助!

于 2016-07-11T16:38:18.380 回答