DAX-MANY_TO_MANY

一般来说,多多关系处理有三种方法处理:

方法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
)
)

你可能感兴趣的:(man)