将计算字段格式化为 Date SQL Qlik Sense 脚本

Format a calculated field as Date SQL Script for Qlik Sense

数据库在 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" 但由于这是一个计算字段,我不知道如何引用该字段。

谢谢

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

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

看起来 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,

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

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

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

感谢您的帮助!