一般来说,多多关系处理有三种方法处理:
方法1,CROSS TABLE FILTERING
同表或相关表的列过滤,功能强大,自然很复杂。
要点:
Calculate function performs the following operations:
1. Create a new filter context by cloning the existing one.
2. Move current rows in the row context to the new filter context one by one and apply blocking semantics against all previous tables.
3. Evaluate each setfilter argument in the old filter context and then add setfilter tables to the new filter context one by one and apply blocking semantics against all tables that exist in the new filter context before the first setfilter table is added.
4. Evaluate the first argument in the newly constructed filter context.
AmountM2M :=CALCULATE(
SUM( Fact_Transaction[Amount] ),
Bridge_AccountCustomer,
Dim_Account
)方法2,SUMMARIZE
AmountM2M :=CALCULATE(
SUM( Fact_Transaction[Amount] ),
SUMMARIZE(
Bridge_AccountCustomer,
Dim_Account[ID_Account]
)
)方法3,COUNTROWS
AmountM2M :=CALCULATE(
SUM( Fact_Transaction[Amount] ),
FILTER(
Dim_Account,
CALCULATE(
COUNTROWS( Bridge_AccountCustomer ) ) > 0
)
)
本文深入探讨了在数据处理中使用CROSS TABLE FILTERING、SUMMARIZE和COUNTROWS三种方法进行多表关联操作的原理及应用,通过具体示例展示如何高效实现复杂的数据筛选与聚合。
3455

被折叠的 条评论
为什么被折叠?



