我正在尝试使用 SSAS 表格模型作为数据源来构建一个简单的报告。模型中有两个不同的维度 - UserGroups 应该用作第一个参数,Regions 应该用作第二个参数。这些维度在模型中与 M2M 相关。使用表格模型的 M2M 技巧计算的简单度量在 Excel 和 PBID 中运行良好。
我需要将这些参数级联到 SSRS 报告中。即在用户组下拉列表中选择一个或多个(允许多个值参数选项为 ON)值后,应过滤区域下拉列表。
在我将两个维度都放到查询设计器中的过滤器窗格之后,我收到了两个带有隐藏数据集的参数。一切看起来都很好,但第一个参数(UserGroups)实际上并没有过滤 Regions 下拉菜单。
我想我理解问题的本质。在将 M2M 相关维度放置在相同的行/列窗格中时,我们在 Excel 等其他客户端工具中看到了相同的图片 - 第二维度显示在数据透视表中的所有成员中,直到我们检查数据透视表字段中的度量。一旦度量开始起作用,第二维度的所有成员(在我的例子中为区域)都会消失 - 如果度量值为空,Excel 足够聪明,可以清除维度成员。但这在 SSRS 中不会发生。
所有“自动”级联参数创建在单个维度的层次结构中运行良好。我希望这也适用于一对多相关维度。但是如何扩展/修改自动创建的 MDX 查询,以便过滤掉第二个参数数据集?在这种情况下看起来SELECT ( StrToSet ( @[UserGroupsUserGroups], CONSTRAINED ) ) ON COLUMNS
还不够。我还需要检查度量值以过滤掉区域列表。不幸的是,我不是 MDX 专家。请帮助我将此检查注入查询。