【发布时间】:2021-08-17 03:25:17
【问题描述】:
对于 Microsoft Analysis Services 表格 (1500) 数据立方体,给定一个销售表:
CREATE TABLE SalesActual (
Id Int,
InvoiceNumber Char(10),
InvoiceLineNumber Char(3),
DateKey Date,
SalesAmount money,
CostAmount money )
DAX 中的 GP 计算在哪里
GP := SUM('SalesActual'[SalesAmount]) - SUM('SalesActual'[CostAmount])
我想限制某些用户访问成本/GP 数据。您会推荐哪种方法?
我能想到以下几点:
-
将所有 Sales 和 Cost 拆分为单独的行,并创建一个 MetricType 标志“C”、“S”等,并设置 Row-Level Security 以便某些人无法看到包含成本的行。
-
将其分成两个不同的表并通过OLS处理。
-
还有其他建议吗?
我倾向于方法 1,因为我有一些其他 RLS 设置并且 OLS 与 RLS 不能很好地混合,但我也想听听专家们有什么其他方法可以满足这些要求。
谢谢!
更新:我最终选择了第一种方法。
- 表格 DB 对于这种拆分速度很快
- OLS = 使字段无效;而且我必须创建和维护两个报告...这是不可取的
- RLS 更容易控制;我认为 cost / GP 是我目前唯一需要排除的内容,但如果我需要限制其他字段,它也为我提供了一些过滤器的灵活性;我的数据会垂直增长,但我也可以在未来的模型中添加额外的数据类型,如销售预算、销售预测、费用和其他成本等。全部由 RLS 轻松控制
接受的答案适用于许多场景。感谢回答者的分享,只是它并没有解决我的特殊情况。
【问题讨论】: