tfs - 报告生成器 : How do MDX filter expressions work in Query Designer?

标签 tfs ssas mdx reportbuilder

我正在尝试针对 TFS 多维数据集编写一些报告。我想使用查询生成器,因为我对 MDX 相当陌生,并且我不想编写整个查询;但是,将 MDX 注入(inject)查询设计器的维度过滤表达式似乎并不容易。有特殊的语法来输入它们吗?

例如,假设我想显示特定日期范围内前 10 个最严重的代码流失日期。在查询设计器中:

  • 我放入日期维度并将其标记为参数。
  • 我放入版本控制变更集,将层次结构设置为变更集 Id,将运算符设置为 MDX。
  • 然后,我使用过滤表达式生成器构建 TOPCOUNT([Version Control Changeset].[Changeset ID], 10, [Measures].[Total Churn])
  • 返回查询设计器,我将“日期”、“变更集 ID”和“总改动量”设置为我的列。

生成的查询如下:

SELECT NON EMPTY { [测量].[总流失率] } ON COLUMNS, NON EMPTY { ([日期].[日期].[日期].ALLMEMBERS * [版本控制变更集].[变更集 ID] .[变更集 ID].ALLMEMBERS ) } 维度属性 MEMBER_CAPTION、MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( TOPCOUNT([版本控制变更集].[变更集 ID], 10, [Measures].[Total Churn]) ) ON COLUMNS FROM ( SELECT ( STRTOSET(@DateYearMonthDateHierarchy, CONSTRAINED) ) ON 来自 [代码改动])) WHERE ( IIF( STRTOSET(@DateYearMonthDateHierarchy, CONSTRAINED).Count = 1, STRTOSET(@DateYearMonthDateHierarchy, CONSTRAINED), [日期].[年 - 月- 日期层次结构].currentmember ) ) 单元格属性值、BACK_COLOR、FORE_COLOR、FORMATTED_VALUE、FORMAT_STRING、FONT_NAME、FONT_SIZE、FONT_FLAGS

但是,在查询设计器的预览区域中以及当我运行报表时,就好像未应用 TOPCOUNT,我看到的不是前 10 名,而是全部。表达式解析正确;它似乎什么也没做。有没有我错过的简单问题?

谢谢!

最佳答案

根据您的目标...显示特定日期范围内前 10 个最严重的代码流失日期

我认为你的MDX表达式是错误的......

TOPCOUNT([Version Control Changeset].[Changeset ID], 10, [Measures].[Total Churn])

试试这个...

TOPCOUNT(
     (  
        [Date].[Date].[Date].ALLMEMBERS *
        [Version Control Changeset].[Changeset ID]
     )
    ,10
    ,[Measures].[Total Churn]
)

...另外,我发现了this utility在使用 MS 集成查询设计器生成的 MDX 时非常有用。

关于tfs - 报告生成器 : How do MDX filter expressions work in Query Designer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728463/

相关文章:

json - 将 CellSet 对象转换为 JSON 结果

mdx - 如何使用 MDX 获取最后的非空 10 个成员?

version-control - 是否可以从本地文件系统获取TFS更改集编号?

TFS 2010/Msbuild 失败,StackOverFlowException

tfs - 根据优先级对 TFS 2012 任务板中的产品积压项目进行排序

sql-server - 更改 Excel 中的默认数据库连接

excel - 蒙德里安立方体可以用 Microsoft Excel 浏览吗?

sql-server - 具有 Kerberos 委派的 SSAS 出现连接超时错误

sql-server - SQL Server SSAS MDX 查询

c# - 在 MTM 测试运行中获取当前内部版本号/环境设置