gpt4 book ai didi

ssas - 使用 MDX 语句在 SSAS 中创建多维数据集计算以将每月目标分配到每日级别

转载 作者:行者123 更新时间:2023-12-01 06:37:06 26 4
gpt4 key购买 nike

我有一个用于目标的多维数据集事实表,目标处于每月级别(Jan = 300、Feb = 450、Mar = 350 等)

在使用月份作为连接时,这被连接到我的多维数据集中的日期维度,但是维度粒度是在天级别。

我想要做的是创建一个计算,以便将每月目标平均分配给该月的天数,因此 1 月的每一天都有 300/31 Feb 450/28 等的目标。

然后,我希望能够将此计算出的度量用作我的目标,并将其用作每日/每月/每季度/每年的目标。

我认为这应该可以通过 MDX 语句(或者可能有一些使用一些计算的度量)来实现,但我对它并不那么熟悉。

那么这种方法会起作用吗,mdx 会是什么样子?

谢谢

最佳答案

如果您有能力对源 OLTP/临时数据库进行更改,那么如果您需要在该级别进行报告,最好将目标事实表的粒度更改为每日。如果您的 OLTP 数据库中有一个日期维度表,您可以通过将月度事实表连接到月属性上的日期维度,然后将目标值均匀分布在该月的天数上,来使用 View 执行此操作。

如果您使用的是 SQL Server 并且您的 OLTP 架构如下所示:

CREATE TABLE dimDate (
Date Date,
YearMonth Integer,
...
)

CREATE TABLE factMonthlyTarget (
YearMonth Integer,
Value Integer,
...
)

您的新事实 View 将类似于以下内容:
CREATE VIEW factDailyTarget AS
SELECT
dimDate.Date,
factMonthlyTarget.Value / Months.DaysPerMonth AS Value
FROM
factMonthlyTarget,
dimDate,
(
SELECT YearMonth, COUNT(*) AS DaysPerMonth
FROM dimDate
GROUP BY YearMonth
) Months
WHERE factMonthlyTarget.YearMonth = Months.YearMonth
AND Months.YearMonth = dimDate.YearMonth

关于ssas - 使用 MDX 语句在 SSAS 中创建多维数据集计算以将每月目标分配到每日级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com