在立方体中合并 2 个事实?

Merge 2 facts in cube?

是否可以合并 2 个事实表以在 Mondrian 模式中创建一个多维数据集 例如 salescost ?

通常在一个事实中同时具有销售额和成本度量 table 并将它们作为度量添加到一个多维数据集中。

如果你不能在同一个事实中同时拥有它们 table,它们需要有共同的维度,所以它们可以在 Virtual Cube 中连接在一起(直到 Mondrian 3.8)。时间维度通常为:

生活热水

  • Table fact_sales: date_key, ..., sales
  • Table fact_cost: date_key, ..., cost
  • Table dim_date: date_key, day_of_month, month, year, ...

Mondrian OLAP 模式

  • 维度[日期]:tabledim_date,主键列date_key,级别年份year,级别月份...
  • 多维数据集 [Sales]: table fact_sales,维度 [Date] 使用 date_key,度量 sales
  • 多维数据集[成本]:tablefact_sales,维度[日期]使用date_key,度量cost
  • 虚拟立方体 [销售和成本]: 虚拟立方体维度 [Date]、虚拟立方体度量 [Sales.sales]、虚拟立方体度量 [Cost.cost]

如果您可以使用 Mondrian 4,您可以指定确切的 SQL 语句来检索事实 table 的数据。因此,您可以在数据库级别进行连接,如下所示:

 <PhysicalSchema>
    <Query alias="FACT">
        <ExpressionView>
            <SQL dialect="generic">
                select f.*, f2.measure_2 from FACT f INNER JOIN FACT2 f2 ON f.id = f2.fact_id
            </SQL>
        </ExpressionView>
    </Query>
</PhysicalSchema>

在此处查看完整示例: http://thejavatar.com/mondrian-4-in-pentaho-bi-server/