一家软件公司正在向所有主要汽车制造商销售其产品。
软件分为:
所以我的目标是计算 BMW 多租户和单租户资源的成本。
我创建了一个模型,您可以在这里下载:
如您所见,我可以计算多租户资源,但不能计算单租户资源:
一旦我创建了一个可以帮助我计算单租户资源的关系,我就成功了!
...但现在多租户资源已损坏。
我做错了什么?
为什么一种关系会删除另一种关系?
或者造成其他故障?
在这种情况下,我只能告诉你原因,但不能告诉你修复方法,因为我不了解你的数据模型和数据域。您需要创建适当的星型模式才能使 PBI 正常工作。您所看到的原因是您正在创建一个不明确的模型。数据模型是 PBI 中的一切,关系决定过滤器如何在表之间传播。
在创建新关系之前,示例数据将由 SSRS 过滤,而 SSRS 又由租户过滤,而租户又由客户端过滤。通过直接在客户端和示例数据之间引入关系,您为过滤器传播创建了更直接的关系,并且 PBI 使用最短路径。
理想情况下,您需要事实表和维度表。您还应该为您的度量编写DAX,以便您可以使用诸如USERELATIONSHIP()之类的东西来控制计算。
数据建模在 PBI 中相当困难,通常是大多数人遇到困难的地方。
Davide Bacci 是对的,真正的解决方案是创建更好的图表。
但是我现在通过使用USERELATIONSHIP
找到了一个
补丁。
因为一个计算有效,但另一个计算无效,我只是像 GIF 中所示那样拖放关系但我停用了它。
然后我用了DAX公式:
Cost_by_ResourceGroup =
CALCULATE(
SUM('Sample Data'[costInBillingCurrency]),
USERELATIONSHIP(Client[ClientCode], 'Sample Data'[tags])
)
结果,由于这种关系,第一个计算有效。第二个是因为
USERELATIONSHIP
。
警告:
这意味着绕过问题。没有解决问题。
我仍在继续努力,直到不再遇到这个问题。但总有一天我需要处理 ER 图。