如何定义一个维度,以便在显示所有值时不忽略 FK 中的空值?
Posted
技术标签:
【中文标题】如何定义一个维度,以便在显示所有值时不忽略 FK 中的空值?【英文标题】:How do I define a dimension so that null values in the FK are not ignored when showing all values? 【发布时间】:2015-08-19 09:29:41 【问题描述】:我使用 Modrian Workbench Schema 对 OLAP 多维数据集进行建模,并使用 Jaspersoft 来呈现它。多维数据集建立在具有 FK 到维度表的事实表之上。 目前,我的事实表具有维度的可空外键,我个人觉得这很有趣(据我所知,使用可空或不可空 FK(https://dba.stackexchange.com/questions/3512/fact-table-foreign-keys-null)只是样式决定。
问题是,在选择所有状态时(状态是我的设计中的维度),我只能获得具有状态的记录,而不是没有状态的记录(其中状态ID为空)。
Mondrian 是否能够获取没有状态 id 信息的行?我该如何定义?
【问题讨论】:
【参考方案1】:我认为您必须使用不可为空的 FK 和 none / n/a / unknown 等成员如果您希望 ALL 成员引用所有事实。
如果您以后想要编写只考虑具有实际维度值的行的查询,您可以再次排除 none 成员。
【讨论】:
以上是关于如何定义一个维度,以便在显示所有值时不忽略 FK 中的空值?的主要内容,如果未能解决你的问题,请参考以下文章