如何更改 Oracle BI Publisher 中的日期格式?

Posted

技术标签:

【中文标题】如何更改 Oracle BI Publisher 中的日期格式?【英文标题】:How to change the date format in Oracle BI Publisher? 【发布时间】:2015-02-25 05:35:58 【问题描述】:

如何在使用数据模型创建报告时更改日期格式,该数据模型是使用从数据仓库获取聚合数据的简单 SQL 查询创建的?我需要简单的 dd-mon-yy 格式的日期。我无法找到 BI Publisher 中存在格式选项的位置。我使用的 BI 组件是数据透视表。

订单问题:

尽管我已经在数据模型中对数据进行了排序,但数据在图表中的显示顺序仍然不正确。同样的事情在数据表上工作正常。见下文-

【问题讨论】:

在您的查询级别,to_dateto_char 是您的朋友。看我的回答。 【参考方案1】:

我需要简单的 dd-mon-yy 格式的日期。

您是否在查询中使用了正确的格式模型?

例如,

如果数据库中的日期值为20150225,则需要先使用TO_DATE和相应的FORMAT MODEL将其转换为日期。

to_date('20150225','YYYYMMDD')

要以所需格式显示日期,只需使用 TO_CHAR 和所需格式模型:

to_char(to_date('20150225','YYYYMMDD'),'DD-MON-YYYY')

看看这个article。

更新关于图表中月份的字母排序

在web找到以下信息:

如果您正在使用 RTF 模板设计图表,请尝试以下操作:

    右键单击图表图像 - 单击大小 - 单击 AltText 选项卡 将图表代码复制到记事本中 寻找标签ColLabels它会是这样的:

ColLabelsxsl:for-each select=".//G_1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xsl:sort order="ascending" select="FIRST_NAME"/Labelxsl:value-of select="FIRST_NAME" //标签/xsl:for-each/ColLabels

请查看已突出显示的排序顺序。在排序顺序中,您可以添加包含月/年组合的字段/列。如果您的图表使用分组功能,那么xsl:sort order="ascending" select="current-group()/FIRST_NAME"/

【讨论】:

该解决方案确实有效,但按照相同的思路,我将月份转换为“Mon-Yy”并创建了一个图表 - 现在月份已乱序 - 它们按字母顺序排列!跨度> to_char 仅在 select 中使用,在您订购时,只需按原始日期列订购。例如,SELECT to_char(hiredate, 'DD-MON-YYYY') FROM emp ORDER BY hiredate; 谢谢,我知道我们一般是怎么做的。因此,基本上发布者将按照与数据模型中相同的顺序获取数据。我们无法更改前端的顺序。对吗? 该工具将采用与您的语言环境特定的 NLS_DATE_FORMAT 相同的格式 虽然数据表显示的顺序与我使用的数据模型中规定的顺序相同,但图表仍显示月份的字母顺序。【参考方案2】:
    选择列(类型:日期) 点击属性(左栏) 更改:格式化样式 (Oracle) 和格式化掩码 (DD/MM/YYYYY)

【讨论】:

【参考方案3】:

这很简单。 按照导航。

双击该字段-> 选择类型为日期和日期格式为 dd-MMM-yyyy。 这应该可以解决您的问题

我想发布图片,但没有声誉。

这有什么帮助..

【讨论】:

以上是关于如何更改 Oracle BI Publisher 中的日期格式?的主要内容,如果未能解决你的问题,请参考以下文章

使用左组时,总和在 BI Publisher 中的每个组标记内不起作用

如何从 BI Publisher 调用存储过程?

如何重命名 BI Publisher 报表?

如何对 RTF 中的不同值求和(BI Publisher)

如何使用 BI Publisher Desktop 在 RTF 模板中将数字格式化为字母?

如何使用标准 BIP 参数在 BI Publisher 中调用 SQL Server 存储过程