【问题标题】:Reports on Pentaho Business Analytics not showing decimal numbersPentaho Business Analytics 的报告未显示十进制数字
【发布时间】:2019-07-10 12:01:06
【问题描述】:

我有一个带有“个人”的蒙德里安立方体。我需要添加与每个人相关的两个类别,以及这些类别的概率数值。此数据位于新维度“类别”中。数据来自 Postgres 9 Materialized View,概率在 Postgres 中属于“数字”类型。

但是,当我尝试将数据显示为“数字”时,根本不会显示具有十进制值的行。

如果我将概率取为百分比并对它们的值进行四舍五入,那么所有行都会正确显示。

<Dimension name="Categories">
    <Hierarchy name="Category1" visible="true" hasAll="true" primaryKey="id" caption="Categories">
      <Table name="individuals_mv" schema="public"/>
      <Level  approxRowCount="6000" name="Category1" visible="true" column="category_1" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"/>
    </Hierarchy>
    <Hierarchy name="CategoryProbability1" visible="true" hasAll="true" primaryKey="id" caption="Categories">
      <Table name="individuals_mv" schema="public"/>
      <Level  approxRowCount="6000" name="CategoryProb1" visible="true" column="category_prob_1" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"/>
    </Hierarchy>
    <Hierarchy name="Category2" visible="true" hasAll="true" primaryKey="id" caption="Categories">
      <Table name="individuals_mv" schema="public"/>
      <Level  approxRowCount="6000" name="Category2" visible="true" column="category_2" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"/>
    </Hierarchy>
    <Hierarchy name="CategoryProbability2" visible="true" hasAll="true" primaryKey="id" caption="Categories">
      <Table name="individuals_mv" schema="public"/>
      <Level  approxRowCount="6000" name="CategoryProb2" visible="true" column="category_prob_2" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"/>
    </Hierarchy>
 </Dimension>

individuals_mv的内容:

individual  category_1  category_prob_1 category_2  category_prob_2
61411120    [NULL]      [NULL]          [NULL]      [NULL]
10658560    [NULL]      [NULL]          [NULL]      [NULL]
60652135    [NULL]      [NULL]          [NULL]      [NULL]
10657820    "C1"        0.32846         "C3"        0.1957235187
60873351    "C1"        0.33012354      "C2"        0.2763309777
61399718    [NULL]      [NULL]          [NULL]      [NULL]
61378272    [NULL]      [NULL]          [NULL]      [NULL]
61378554    [NULL]      [NULL]          [NULL]      [NULL]

报告输出:

Individual       Category1            CategoryProb1        Category2            CategoryProb2
"10658560"      "Not Available"      "Not Available"      "Not Available"      "Not Available"
"60652135"      "Not Available"      "Not Available"      "Not Available"      "Not Available"
"61378272"      "Not Available"      "Not Available"      "Not Available"      "Not Available"
"61378554"      "Not Available"      "Not Available"      "Not Available"      "Not Available"
"61399718"      "Not Available"      "Not Available"      "Not Available"      "Not Available"
"61411120"      "Not Available"      "Not Available"      "Not Available"      "Not Available"

【问题讨论】:

    标签: postgresql pentaho hierarchy cube mondrian


    【解决方案1】:

    简单地说:您不能在 Mondrian 中使用小数作为级别键。

    层次结构级别必须是离散的,而数值则不是。所以蒙德里安总会把小数部分截掉。

    您应该将数值作为字符串级别的属性。

    例如,

    <Dimension name="Categories">
        <Hierarchy name="Category1" visible="true" hasAll="true" primaryKey="id" caption="Categories">
          <Table name="individuals_mv" schema="public"/>
          <Level  approxRowCount="6000" name="Category1" visible="true" column="category_1" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
                <Property name="CategoryProb1" column="category_prob_1" type="Numeric" />
          </Level>
        </Hierarchy>
    (...)
     </Dimension>
    

    这些属性随后可用于通过 MDX 查询定义计算的度量。但它们不能直接用作关卡。

    或者,您可以将值截断为固定的小数位数并使用LevelType 作为字符串,但这会有些尴尬。

    【讨论】:

    • 我明白了。我已经考虑过将它作为一个属性,但问题是之后我不能使用 CategoryProbs 作为过滤器,这是我需要的。考虑到字符串的概率也不是一个选项,因为那样我将无法在这些列上使用典型的数字过滤器,如 ...我是对的吗?
    • 无论如何,一个级别的数值是一件非常奇怪的事情。您可以将它们设置为属性并仍然进行过滤,方法是基于该属性创建自定义度量并对其进行过滤。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    相关资源
    最近更新 更多