【问题标题】:how do you prevent the result of a formula from changing with the filters in SSAS?如何防止公式的结果随着 SSAS 中的过滤器而改变?
【发布时间】:2020-05-12 12:49:22
【问题描述】:

首先,我有一个安全 CustomData(),它根据 Dim_Centre 表的 IdCentre 过滤数据。

IdCentre | UserName
--------------------
7613     |  Jame_R
7610     | Hugo_T

另一方面,我有一个表 Fact_Control,其中包含每个 Center 根据 type (1,2) 所做的总控件强>。

Date_Ctl |IdCentre|Departement|Type_Ctl| Total_Ctl
20200201   7613      76           1        10
20200202   7613      76           2         5
20200202   7613      76           1         4
20200202   7610      76           1        10
20200202   7610      76           2         7
20200203   7610      76           2         3
20200203   7610      76           1         5

我需要一个公式来计算每个部门的控制数量。 这个公式不会因中心而异,因为有些中心并非每天都在工作。

例如: Total_CTL_Dep = 44 如果我按中心 7613 过滤,total_Ctl_Dep 更改为 19 但我想保留 44

提前感谢您的帮助

【问题讨论】:

  • SSAS 多维还是表格?我假设 Power BI 正在实时连接到 SSAS,而不是从 SSAS 导入一些表?
  • 嗨,它是表格模型。你是对的,PowerBi 正在连接到 SSAS

标签: powerbi ssas dax custom-data-attribute


【解决方案1】:

您是否只需要一个未按行级安全性过滤的数字,那么完成此操作的最简单方法是创建一个隐藏的计算表。计算表是在外部处理时计算的,没有应用行级安全性。 (您可以将行级安全性放在生成的计算表上,但在这种情况下您不希望这样做。)确保新的 Fact_Control_Dep 计算表与其他表没有关系(因此行级安全性不会过滤其行)。

Fact_Control_Dep = ROW("Total_CTL_Dep", SUM(Fact_Control[Total_Ctl]))

【讨论】:

  • 您好,感谢您回答我。我刚刚解决了这个问题。我创建了 2 个用于创建度量的新表。然后,我将它们用作事实表。事实上,将它们用作事实表允许我创建任何度量,因为它们与其他维度相关联,这些将尊重安全性并且不会更改我的数据
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2019-09-15
  • 2023-03-06
相关资源
最近更新 更多