gpt4 book ai didi

ssas - SQL 到 MDX Where IN 子句

转载 作者:行者123 更新时间:2023-12-01 23:50:12 25 4
gpt4 key购买 nike

我有一种情况需要制定 MDX 查询。相应的 SQL 查询类似于:

SELECT no_of_downloads 
FROM table_1
WHERE project_code IN ('abc', 'def', 'ghi' , .....)

我制定了以下 MDX 查询,但我一次只能将其用于一个项目代码。

SELECT 
[Measures].[#Activity] ON COLUMNS
,Filter
(
[Organisation Dimension].[Txt Project Code].MEMBERS
,
[Organisation Dimension].[Txt Project Code].CurrentMember.Name = 'KM_BNG'
) ON ROWS
FROM [Activity Cube]
WHERE
(
[Activity Dimension].[Txt Activity Name].&[Download]
,[System Dimension].[Txt System Name].&[KShop] //ENTER CODE HERE//
,[Time Dimension].[Fiscal Hierarchy].[Fiscal Half Year Name].&[2014-04-01T00:00:00]
);

如何在列表中添加更多项目代码?

最佳答案

或者,如果您真的热衷于使用 WHERE 子句,则只需将 FrankPI 创建的 SET 移动到 WHERE 子句中。

WHERE子句在概念上是一个轴,作为 MDX 的规则,同一层次结构不能放置在多个轴上,您需要将其从中移动ROWS 像这样:

SELECT 
[Measures].[#Activity] ON 0
FROM [Activity Cube]
WHERE
(
[Activity Dimension].[Txt Activity Name].&[Download]
,[System Dimension].[Txt System Name].&[KShop]
,{
[Organisation Dimension].[Txt Project Code].[KM_BNG],
[Organisation Dimension].[Txt Project Code].[other name],
[Organisation Dimension].[Txt Project Code].[third name]
}
,[Time Dimension].[Fiscal Hierarchy].[Fiscal Half Year Name].&[2014-04-01T00:00:00]
);

在极端情况下,您有 50 个要包含的层次结构 [Organisation Dimension].[Txt Project Code] 成员,那么在多维数据集脚本中可能会更好地对其进行管理。您可以创建一个集合 [myTxtProjectCodes] 然后 MDX 会简单得多:

SELECT 
[Measures].[#Activity] ON 0
FROM [Activity Cube]
WHERE
(
[Activity Dimension].[Txt Activity Name].&[Download]
,[System Dimension].[Txt System Name].&[KShop]
,{
[myTxtProjectCodes]
}
,[Time Dimension].[Fiscal Hierarchy].[Fiscal Half Year Name].&[2014-04-01T00:00:00]
);

关于ssas - SQL 到 MDX Where IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26971891/

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