0

我在使用 mondrian 和 JPivot 时遇到问题

问题是,当我将我的应用程序与Oracle数据库连接并访问钻取表时,所有值都以2.010,00格式显示,即2010 年。只有当我将应用程序与 Postgres 或 SqlServer 数据库连接时,Oracle DB 才会出现此问题,这些值显示为 2010。

更多信息:

我的多维数据集有两个维度:CREATION_DATESTATUS,以及一个度量:

抱歉,我必须更改此处显示的标签,假设下一个 xml 格式正确

 -SCHEMA name="AAAA" envId="0"-
  -Cube name="AAAA" envId="0" cache="true" enabled="true"-
   -Table name="MY_FACT_TABLE" alias="MY_FACT_TABLE"-
   -Dimension name="FECHA_CREACION" envId="0"-
    -Hierarchy name="FECHA_CREACION" hasAll="true" allMemberName="All FECHA_CREACION"-
     -Level name="PRO_CREATE_YEAR" column="PRO_CREATE_YEAR" type="Integer" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"-
     -Level name="PRO_CREATE_SEM" column="PRO_CREATE_SEM" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"-
    -Hierarchy-
   -Dimension-
   -Dimension name="ESTADO" envId="0"-
    -Hierarchy name="ESTADO" hasAll="true" allMemberName="All ESTADO"-
     -Level name="PRO_STATUS" column="PRO_STATUS" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"-
    -Hierarchy-
   -Dimension-
   -Measure name="MEASURE1" column="DW_PRO_ID" aggregator="count" visible="true" formatString="#,###.0" datatype="Numeric" caption="MEASURE1"-
  -Cube-
 -SCHEMA-

在数据库中,表MY_FACT_TABLE具有类型为“ INT ”的PRO_CREATE_YEAR列以及插入该列中的所有值,其中 2010 和 2011。

MEASURE1 的钻取表:

PRO_CREATE_YEAR | PRO_CREATE_SEM | PRO_STATUS | MEASURE1
2.010,00 | SEM1 | A | 1,00
2.010,00 | SEM1 | A | 3,00
2.010,00 | SEM1 | A | 2,00

我已经尝试过:
- 将 PRO_CREATE_YEAR 级别的 levelType 更改为“TimeYears”。
- 将维度类型更改为“TimeDimension”。
- 将列 PRO_CREATE_YEAR 的类型更改为数字 number(9)。
什么都没有改变。

4

1 回答 1

1

您应该首先将您的维度定义为“时间”类型。那里有很多例子。这将允许您使用 MDX 时间函数和计算的全部功能。

您还应该考虑使用级别元素的属性 nameColumn 和 captionColumn 。您可以在 Mondrian 的模式文档中获得有关这些的更多详细信息。

如果您愿意加倍努力并将您的发现贡献给 Mondrian 社区的成员,请随时联系邮件列表或在跟踪系统中提交错误报告。

于 2013-02-08T14:35:34.127 回答