如何从日期时间戳修剪日期 - Hyperion

时间:2016-06-03 19:57:58

标签: oracle db2 reporting formulas hyperion

我正在将Hyperion Reporting Studio与Oracle和DB2数据库结合使用。我们的字段具有开放日期和关闭日期,因此对于打开或关闭日期字段,格式自然是6/02/16 06:18:05 PM。有没有办法修剪日期部分只留下时间戳?我尝试过TURNC以及自定义SQL,但没有任何工作。我知道我可以使用= TIME公​​式在excel中完成它。我可以在查询中添加计算项目或结果,我只是不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

也许正确使用to_char?

public static String minifyHtml(String html) {
    HtmlCompressor htmlCompressor = new HtmlCompressor();
    htmlCompressor.setRemoveSurroundingSpaces(HtmlCompressor.ALL_TAGS);
    htmlCompressor.setPreserveLineBreaks(false);
    htmlCompressor.setCompressCss(true);

    return htmlCompressor.compress(document.toString());
}

有关Oracle中日期/时间格式的更完整说明,请参阅http://edstevensdba.com/oracle-data-types/understanding-oracle-date-formats/

答案 1 :(得分:0)

一种方法是更改​​数据类型。这不是正确的方法,根据你正在做的事情可能是不明智的,但它会节省很多格式化的麻烦。

要更改数据类型:在“查询”部分的请求行的字段中,转到“属性”(可以双击,或右键单击并选择“属性”)。这将显示该列/字段的SQL。在右侧,会有一个按钮选项。它所做的就是揭示数据类型。这通常是Hyperion基于底层数据源的最佳猜测。将其更改为时间并再次处理。这将更改每个子节的该字段的所有后续使用:基于该查询部分的结果,数据透视等。

另一种方法是更改​​数字格式。如果您只是关心化妆品,这是使用什么,只希望它适用于该部分。在“结果/透视/等”部分中,右键单击该列,然后选择“数字”。然后,选择适合您的时间格式。

另一种方法是,如果您确实需要删除日期以进行计算,可以将其转换为字符串,从字符串中删除日期,然后将其转换回时间。在“结果”部分中,右键单击“添加计算项”,然后执行类似

的操作
var objField = YOUR_DATETIME_COLUMN;
var strField = ToChar(objField);
var numFirstspace = strField.indexOf(' ');
var strTime = strField.substring(numFirstspace);
var tmTime = ToDate(strTime);
tmTime

假设我说得对,它仍会显示01/01/1904 HH:mm AM/PM ...所以你仍然需要右键单击列,选择数字,然后将数字格式更改为你的时间。

另一种方法是在查询的请求行中添加计算项。这需要与上一版本一样,但使用SQL语法而不是Hyperion的Javascript版本。