Ssas MDX:我只需要那些突出显示的记录
我只需要那些突出显示的记录Ssas MDX:我只需要那些突出显示的记录,ssas,mdx,Ssas,Mdx,我只需要那些突出显示的记录 SELECT [Measures].[Assessment Patients Detail] ON COLUMNS, NON EMPTY([DimAssessment].[Assessment Text].&[Employee Wellness HRA], [DimAssessment].[Question Text].&[Do you use tobacco products?], [DimPatient].
SELECT
[Measures].[Assessment Patients Detail] ON COLUMNS,
NON EMPTY([DimAssessment].[Assessment Text].&[Employee Wellness HRA],
[DimAssessment].[Question Text].&[Do you use tobacco products?],
[DimPatient].[Patient Key].[Patient Key],
Generate(
[DimAssessment].[Answer Text].[Answer Text].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
*TAIL(
NonEmpty(
[DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
)
,[DimAssessment].[Question Text].&[Do you use tobacco products?]
)
)
)ON ROWS
FROM
[Care];
这可能不是答案,因为我以前曾尝试过帮助解决这个问题,但下面有点神秘: 函数
Tail
的第二个参数通常是一个整数,例如2或3,这意味着您想要Tail
的第一个参数中指定的集合中的最后2或最后3个成员
对于行中的成员,我更喜欢使用交叉连接而不是元组,但我认为这不会提供所需的行:
SELECT
[Measures].[Assessment Patients Detail] ON COLUMNS,
NON EMPTY
{[DimAssessment].[Assessment Text].&[Employee Wellness HRA]}
*{[DimAssessment].[Question Text].&[Do you use tobacco products?]}
*[DimPatient].[Patient Key].[Patient Key].members
*Generate(
[DimAssessment].[Answer Text].[Answer Text].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
*TAIL(
NonEmpty(
[DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
)
,1 //[DimAssessment].[Question Text].&[Do you use tobacco products?]
)
)
ON ROWS
FROM
[Care];
我们需要在generate中移动更多的逻辑
首先尝试以下操作,看看它是否返回两个正确的列
SELECT
[Measures].[Assessment Patients Detail] ON COLUMNS,
NON EMPTY
Generate(
[DimPatient].[Patient Key].[Patient Key].MEMBERS
,[DimPatient].[Patient Key].CURRENTMEMBER
*TAIL(
NonEmpty(
[DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS
,[DimPatient].[Patient Key].CURRENTMEMBER
)
,1
)
ON ROWS
FROM
[Care];
这可能不是我以前尝试过的答案,但下面有点神秘: 函数
Tail
的第二个参数通常是一个整数,例如2或3,这意味着您想要Tail
的第一个参数中指定的集合中的最后2或最后3个成员
对于行中的成员,我更喜欢使用交叉连接而不是元组,但我认为这不会提供所需的行:
SELECT
[Measures].[Assessment Patients Detail] ON COLUMNS,
NON EMPTY
{[DimAssessment].[Assessment Text].&[Employee Wellness HRA]}
*{[DimAssessment].[Question Text].&[Do you use tobacco products?]}
*[DimPatient].[Patient Key].[Patient Key].members
*Generate(
[DimAssessment].[Answer Text].[Answer Text].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
*TAIL(
NonEmpty(
[DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS
,[DimAssessment].[Answer Text].CURRENTMEMBER
)
,1 //[DimAssessment].[Question Text].&[Do you use tobacco products?]
)
)
ON ROWS
FROM
[Care];
我们需要在generate中移动更多的逻辑
首先尝试以下操作,看看它是否返回两个正确的列
SELECT
[Measures].[Assessment Patients Detail] ON COLUMNS,
NON EMPTY
Generate(
[DimPatient].[Patient Key].[Patient Key].MEMBERS
,[DimPatient].[Patient Key].CURRENTMEMBER
*TAIL(
NonEmpty(
[DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS
,[DimPatient].[Patient Key].CURRENTMEMBER
)
,1
)
ON ROWS
FROM
[Care];
我很惊讶这段代码会执行?@whytheq-为什么你对这是你的查询感到惊讶(你上周发表了评论),但例外的结果集没有显示。你把它作为尾随的第二个参数:
,[DimAssessment]。[Question Text]。&[you use tobacco products?]
。第二个参数应该是一个整数。。。所以我很惊讶。我很惊讶这段代码会执行?@whytheq-为什么你对这是你的查询感到惊讶(你上周发表了评论),但是例外结果集没有被显示。你把它作为尾随的第二个参数:,[DimAssessment].[Question Text]。&[you use tobacco products?]
…第二个参数应该是整数。。。所以我很惊讶。@whytheq-showing error message”查询(4,6)乘法函数需要一个元组集表达式作为1参数。使用了字符串或数值表达式。“@whytheq-您能重播一下吗,我需要每个患者的最新日期和最新答案。@whytheq-显示错误消息”查询(4,6)乘法函数需要一个元组集表达式作为1参数。使用了字符串或数字表达式。“@whytheq-请您重播一下,我需要每个患者的最新日期和最新答案。