任何具有多个值的属性都可以是维度吗?

can any attribute with multiple values be a dimension?

这可能是一个奇怪的问题,但是如果属性具有多个值,我们可以从它创建一个维度 table 吗?例如 "ethnicity",种族是否应该始终是客户的一个属性(例如),或者它是否可以在任何情况下或场景中成为其自身的维度 table。

提前感谢您的帮助

如果属性有多个值,将所有值都放在一列中并不是一个好主意。如果您需要根据该值搜索某些内容,您会发现在后期阶段很困难。一个好的方法是创建另一个子维度 table,并将主维度代理键作为外键,然后按行放置多个值。这样您将得到一个结果集,该结果集在主维度中有 1 条记录,在子维度 table 中有许多该主记录的记录。我认为这将是处理多个价值场景的更好方法。

我必须处理一个类似的场景,其中一位客户有许多 phone 个号码,并且所有 phone 个号码都存储在源数据库的一列中。我创建了不包括 phone 数字的客户数据,并创建了一个单独的维度 table,包括客户 table 键作为外键,并将所有多个值作为行包含在该维度中 table 这对我以后必须解决的其他任务有很大帮助。 ETL 过程可以将这些值分成几行。

希望你明白了。