gpt4 book ai didi

sql-server - 在 MDX 中,我如何为给定维度按计数 (*) 进行分组?

转载 作者:行者123 更新时间:2023-12-04 14:38:31 25 4
gpt4 key购买 nike

在 T-SQL 中,我只会在 select 语句中使用 group by 子句和 count(*) 来提供我需要的值。但对于立方体,情况就不同了,因为计数不仅仅是行,而是维度组合。所以我在谷歌上搜索了一个无济于事的答案。这是我的问题的详细解释:

我原来的 MDX 是:

SELECT 
NON EMPTY
{
[Measures].[Budget]
} ON COLUMNS
,NON EMPTY
{
[Location].[Category - Entity - Facility].[Facility].ALLMEMBERS*
[Location].[Category - Facility - Unit].[Location].ALLMEMBERS*
[Calendar].[Day].[Day].ALLMEMBERS
} ON ROWS
FROM
(
SELECT
{[Location].[Category - Entity - Facility].[Category].&[3]} ON COLUMNS
FROM
(
SELECT
[Calendar].[Year - Quarter - Month - Day].[Day].&[2012-01-01T00:00:00]
: [Calendar].[Year - Quarter - Month - Day].[Day].&[2012-05-31T00:00:00]
ON COLUMNS
FROM [PHI Census]
)
)

Results look like this:
Facility 1 Location 1 Day 1 100
Facility 1 Location 1 Day 2 100
Facility 1 Location 1 Day 3 100
Facility 1 Location 1 Day 4 100
Facility 1 Location 2 Day 1 80
Facility 1 Location 2 Day 2 80
Facility 1 Location 2 Day 3 80
Facility 2 Location 1 Day 1 65
Facility 2 Location 1 Day 2 65
Facility 2 Location 1 Day 3 65
Facility 2 Location 1 Day 4 65
Facility 2 Location 2 Day 1 73
Facility 2 Location 2 Day 2 73
Facility 2 Location 2 Day 3 73

这为我提供了针对每个设施-位置-日期组合列出的 [预算]。我想从 ON ROWS 子句中删除 [Calendar].[Day].[Day].ALLMEMBERS 并简单地使用一个计算成员,该成员将返回每个 Facility-Location 组合的天数以及每一行。所以基本上,

The results would look like this:
Facility Location Budget DayCount
Facility 1 Location 1 100 4
Facility 1 Location 2 80 3
Facility 2 Location 1 65 4
Facility 2 Location 2 73 3

最佳答案

DayCount 的表达式可以是:

MEMBER [Measures].[DayCount] AS Count(NonEmpty([Calendar].[Day].[Day].ALLMEMBERS, [Measures].[Budget]))

关于sql-server - 在 MDX 中,我如何为给定维度按计数 (*) 进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451138/

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