1

我正在尝试使用 SSAS 表格模型作为数据源来构建一个简单的报告。模型中有两个不同的维度 - UserGroups 应该用作第一个参数,Regions 应该用作第二个参数。这些维度在模型中与 M2M 相关。使用表格模型的 M2M 技巧计算的简单度量在 Excel 和 PBID 中运行良好。

我需要将这些参数级联到 SSRS 报告中。即在用户组下拉列表中选择一个或多个(允许多个值参数选项为 ON)值后,应过滤区域下拉列表。

在我将两个维度都放到查询设计器中的过滤器窗格之后,我收到了两个带有隐藏数据集的参数。一切看起来都很好,但第一个参数(UserGroups)实际上并没有过滤 Regions 下拉菜单。

我想我理解问题的本质。在将 M2M 相关维度放置在相同的行/列窗格中时,我们在 Excel 等其他客户端工具中看到了相同的图片 - 第二维度显示在数据透视表中的所有成员中,直到我们检查数据透视表字段中的度量。一旦度量开始起作用,第二维度的所有成员(在我的例子中为区域)都会消失 - 如果度量值为空,Excel 足够聪明,可以清除维度成员。但这在 SSRS 中不会发生。

所有“自动”级联参数创建在单个维度的层次结构中运行良好。我希望这也适用于一对多相关维度。但是如何扩展/修改自动创建的 MDX 查询,以便过滤掉第二个参数数据集?在这种情况下看起来SELECT ( StrToSet ( @[UserGroupsUserGroups], CONSTRAINED ) ) ON COLUMNS还不够。我还需要检查度量值以过滤掉区域列表。不幸的是,我不是 MDX 专家。请帮助我将此检查注入查询。

4

1 回答 1

0

您走在正确的轨道上,并对场景进行了很好的解释。正如您所发现的,没有自动方法可以使参数级联。您确实需要将 MDX 过滤器添加到第二个参数才能实现这一点。

就实际查询而言,没有足够的信息可以为您提供准确的查询。但是您会使用StrToSet传入第一个参数并使用该FILTER函数来限制范围。正如您所说,包含度量是仅获取两个参数的“NonEmpty”组合的一种方法。如果您在示例查询中遇到特定问题,请随时提供更多详细信息。

于 2016-06-09T15:45:57.267 回答