PowerBI 中,数据模型通常包含多个表之间的关系。这些关系定义了数据如何在不同表之间流动和关联。默认情况下,PowerBI 会根据查询上下文自动选择合适的关系路径来获取数据。但在某些复杂场景下,需要手动控制关系的激活,以确保正确的数据检索和计算,例如,我们销售订单表中有两个日期列,分别是订单日期和发货日期,日期表和销售订单表只能允许一个激活的关系,但是,我们需要同时按照订单日期看销售额,也需要按照发货日期来看发货额,这类场该如何处理呢?
在解决这类场景之前,我们需要了解,在PowerBI中,两个表之间只能有一个活动关系,活动关系用一条实线显示,如果打算在这两个表之间继续建立更多关系,则会显示为虚线,即非活动关系,也称为虚线关系,虚线关系可以有多条,默认不能发生筛选作用。例如,本案例中日期表分别和订单日期和发货日期建立了关系,也就是说日期维度表和销售订单事实表之间创建了2条关系,注意这里面只有一条实线,另外一条是虚线(并没有激活,且不能发生筛选关系,筛选无效)。
sales_amount_delivery = CALCULATE(
[sales_amount],
USERELATIONSHIP(
'DimDate'[Date],
'FactSalesOrder'[发货日期]
)
)
上面表格中销售额sales_amount度量值是使用实现的关系:日期表日期->销售订单表订单日期,按照订单日期统计销售额。sales_amount_delivery度量值是通过使用USERELATIONSHIP函数激活非活动关系:日期表日期->销售订单表发货日期,按照发货日期统计销售额。
好了,本期的分享就到这了,如果需要系统学习Power BI课程,可以添加小编私信详细了解会员系统课程。
免费课程:Power BI免费课程更新至202405月 免费课程绝大部分都是录制视频讲解,针对典型案例进行讲解,大家可以当做是一个字典,需要时候来找一找。免费课程不系统,有些基础内容小编默认你是知道,所以没有详细讲解,需要系统学习推荐看看小编的付费系统课程。 付费课程:Power BI会员课程更新(202310) 付费课程从零基础开始讲解,上手平滑,深入浅出,结合实际案例针对性强。具体可以参考介绍,课程内容持续更新,永久学习!(付费后,小编后面开发推出的所有课程和资源免费获取,无需再付费!) 交流学习群:本群为付费制(49/一位),仅作为学习交流Power BI/Excel/Tableau/SQL等数据分析、数据处理工具用,有问题可以描述清楚你的问题,附上案例数据求助。除此外,不讨论任何无关事情,违者立刻剔除。啊?不是吧?加群还要付费?嗯,是的,所以,加群后请谨言慎行!群里会不定期分享各类模板、学习书籍等资讯,确认以上条件都能接受再添加小编私信!