根据我关于将非数字值作为衡量标准的研究,我发现非数字不是最佳值。
所以我计划保持数值。我的场景是“员工出勤”,衡量标准可能是“临时休假”、“病假”、“不知情休假”、“补偿”。
是我需要为所有这些(4 个措施)维护列,并将根据相应用户的状态进行更新。如果我保持这样的态度,则意味着如果添加新的意味着它将像立方体的结构发生变化一样。
这将是一个好的解决方案还是任何可用的最佳解决方案?
根据我关于将非数字值作为衡量标准的研究,我发现非数字不是最佳值。
所以我计划保持数值。我的场景是“员工出勤”,衡量标准可能是“临时休假”、“病假”、“不知情休假”、“补偿”。
是我需要为所有这些(4 个措施)维护列,并将根据相应用户的状态进行更新。如果我保持这样的态度,则意味着如果添加新的意味着它将像立方体的结构发生变化一样。
这将是一个好的解决方案还是任何可用的最佳解决方案?
正如您在其他问题的评论中指出的那样,您的事实表数据似乎是这样的:
这种类型取决于您的 ETL 加载程序和报告要求。
你基本上有2个选择
创建单独的措施
为此,您需要在事实表中创建 4 列,并将相应的值设置为 1 或 0。
例如
然后,您可以简单地使用所有四列的总和来进行度量,最终得到 4 个度量。
创建一个额外的维度
您可以像这样为 LeaveType 创建一个额外的维度表:
然后在您的 ETL 中,您可以确定它是哪种类型的休假。
然后,您可以将该维度链接到您的事实表。
决策点
实施的难易程度取决于您的 ETL 流程(您有吗?)。一个比另一个更容易实现。
结果的行为也有点不同。例如,对于多个度量,您必须将每个度量添加到您的报告中,对于一个维度,您必须将维度放在一个轴上。
它还会影响进行 MDX 计算、过滤等的可能方式。
我无法代替你决定最好的选择是什么,我建议你做一个小的概念证明并尝试一下,看看什么最适合你。
例如,如果您将维度放在 excel 中的水平轴上,则不会显示没有值的休假类型。如果您有多个度量,您将有一个空列来表示报告的长度。
另一个例子是可维护性。根据您的工具和可能的 ETL 设置,添加新的休假类型“孩子生病”需要做多少工作。