SQL 数据仓库中的单个记录维度,似乎不合适,我还能如何满足这些需求?

Single Record Dimensions in SQL Data Warehouse, seems improper, how else can I provide for these needs?

业务需要一些单一的价值维度:

DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now

也许它们可以全部归入一个维度,每个值都有属性,但这不是我关心的。

这似乎是错误的。这些值每天或定期变化,使它们充其量只能缓慢改变维度。但是,使用 DW 存储这些值确实有用。

我想要实用,并提供诸如此类的有用对象,但我怀疑这些尺寸不符合正确的 Kimball 实现。

在 DW 中提供这些要求的另一种方法是什么?

为每个指标创建单个记录的维度肯定是错误的 - 您的星型模式会膨胀。

需要添加构建日期,没有办法绕过它(这是您的星型模式中没有的独特数据)。

当前汇率可以作为计算的 DAX 度量轻松添加到您的表格模型中(只是 select 汇率,其中日期 = 构建日期)。无需将其存储在单独的维度中。作为一种衡量标准,它在计算中使用起来会容易得多。

会计日期可以建模为单独的(会计)日历 table,或者您可以简单地将会计日期作为属性添加到您的日历 table(即 "Fiscal Date", "Fiscal Year",等等)。

同样,您可以在日历 table 中标记 "current" 期间(即添加字段 "Period Type",值为 "Current Period"、"Past Period"( "Future Period" 如果你需要的话))。它可以用作切片器或 DAX 过滤器。这同样适用于 "current" 财政周期 - 它只是日历 table 中的另一个属性。