Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssas MDX查询问题_Ssas_Mdx - Fatal编程技术网

Ssas MDX查询问题

Ssas MDX查询问题,ssas,mdx,Ssas,Mdx,在AnalysisServices中,我有一个基于住院数据的多维数据集。对于每次住院,可能有9个icd代码,这些代码都存储在多维数据集所基于的视图中各自的字段中。它们存储在SSAS数据库所基于的关系数据库的子表中 我想查询多维数据集以返回在9个ICD代码字段中的任意一个或多个字段中具有特定ICD代码的所有行。似乎在WHERE或Filter子句中使用此类OR应该很简单,但我没有找到正确的方法 提前感谢,, Jeremy Schrader据我所知,您是SQL专家,对MDX不熟悉,因此您在查询时遇到困

在AnalysisServices中,我有一个基于住院数据的多维数据集。对于每次住院,可能有9个icd代码,这些代码都存储在多维数据集所基于的视图中各自的字段中。它们存储在SSAS数据库所基于的关系数据库的子表中

我想查询多维数据集以返回在9个ICD代码字段中的任意一个或多个字段中具有特定ICD代码的所有行。似乎在WHERE或Filter子句中使用此类OR应该很简单,但我没有找到正确的方法

提前感谢,,
Jeremy Schrader

据我所知,您是SQL专家,对MDX不熟悉,因此您在查询时遇到困难

如果您能告诉我们您希望使用ICD代码选择哪些度量,那就更好了,但我将尝试向您展示一个尽可能简单的mdx查询示例。您的查询如下所示

select {Measure1,Measure2,...} on columns
ICDCodeDimension.Children on rows
//{ICDCodeDimension.ICDCode1,ICDCodeDimension.ICDCode5,...} on rows
from Cube
MDX是一种非常高级的查询语言,要有效地使用它,您还需要了解/学习更多的概念


希望这能有所帮助。

我猜你会有一个称为[ICD Codes]的维度,其中一个级别称为[Codes],9个成员称为[Code a]和[Code B]或其他。甚至可能是[无代码]的成员

在这种情况下,您的查询将能够告诉您在特定时间段内,所有医院中每种代码的住院病例总数:

SELECT {[ICD Codes].[Codes].members} ON ROWS,
{[Measures].[Number of Cases]} ON COLUMNS
FROM [CubeName]
WHERE ([Time].[2010].[Quarter 1])

谢谢你们的反馈。在我进一步研究了这里的一篇文章之后:它使用SUBCUBE方法来提供一些OR功能,但性能非常差,我意识到我正在寻找的OR构造需要记录级别的信息,因此在SSAS执行聚合后无法工作。因此,我需要在事实表上创建一个字段,该字段包含我需要的SQL或语句的结果

在本例中,我将只为在9个ICD代码字段中的任何一个字段中具有特定范围ICD代码的任何记录创建一个标志。然后,我将创建一个度量值来计算这些值。幸运的是,我的应用程序的要求是,只有有限数量的诊断需要以这种方式查看。任何与糖尿病、烟草相关的住院治疗等。。我仍然很好奇,如果您需要允许用户选择任何ICD代码,您将如何实现这一点。我在这一点上的理解是,然后需要恢复到纯SQL


杰里米

绝对是!不要认为MDX是SQL之类的东西,否则会伤到你的头。在处理跨类别的聚合时,OR和and的概念非常不同。感谢您的反馈。看看下面我的答案,告诉我你是否会这样做。杰里米,对不起,你还是走错了路。经过一番搜索,我为你找到了这份文件。建议你在做任何决定之前先读一读。我认为您需要告诉我们您的ICD维度是什么样的,以便我们为您提供一个MDX示例。不要担心告诉我们多维数据集视图或SSAS db是如何排列的,只需告诉我们多维数据集向最终用户显示了什么即可。