2010-09-23 57 views
0

我们有使用Analysis Services作为数据源的项目。为了避免由于我们允许的所有选择选项而必须创建100个查询,我们使用大量的开关和字符串连接来创建我们的mdx查询。这是我们的“数据访问层”。这是一个管理的野兽和最小的错误:缺失的空间,错误拼写很容易错过,甚至更容易意外地包括在内。有没有人知道一个好的资源,可以帮助使这个更易于管理,如教程,白皮书或示例项目。用于Analysis Services的数据访问层(带动态MDX)

为了让你我在谈论的情况下逻辑的想法,它的推移和... 如果(时间==日) { 如果(年==一) { 回报( “MEMBER”+ CurrentSalesPercent + “AS([Sales%”+ YearString +“”+ StatusType +“])”); } else // 2Y return(“MEMBER”+ CurrentSalesPercent + “AS([Sales%2Y”+ StatusType +“])”); }} 其他 如果(时间==周) { 如果(年==一) { 回报( “成员 ”+ CurrentSalesPercent + “ AS([销售WTD% ”+ YearString +“” + StatusType +“])”); } else // 2Y return(“MEMBER”+ CurrentSalesPercent + “AS([Sales WTD%2Y”+ StatusType +“])”); } ...

说实话,我不确定所有不同的措施和计算是否正确。但是,这是由另一个团队控制的,所以我们在这里的影响力稍小。

谢谢! mkt

回答

1

你看过MS生成MDX的方式吗?如果您安装了SSRS,请获取“Red gate Reflector”并反汇编C:\ Program Files \ Microsoft SQL Server \ MSRS10.MSSQLSERVER \ Reporting Services \ ReportServer \ bin \ MDXQueryGenerator.dll

除此之外,预先设置的查询拿参数看起来很标准:(