基本前提:
“信用”的粒度位于商品级别,即
CREDIT | SO | ITEM | ZONE | CREDAMT
-------------------------------------------------------
42 | 1 | 56 | A | $6
42 | 1 | 52 | A | $8
42 | 1 | 62 | B | $20
42 | 2 | 56 | A | $12
“订单明细”的粒度位于区域级别,即
SO | ZONE | DOL_AMT
-------------------------------
1 | A | $50
1 | B | $20
1 | C | $100
2 | A | $26
我有一个“区域”过滤器表,可以帮助我更好地进行分类并汇总到更广泛的类别,即
ZONE | TEMP | SORT
-------------------------------
A | DRY | 2
B | COLD | 3
C | DRY | 1
我需要什么:
工作原理:
CreditTotal = abs(sumx(Credits,Credits[CREDAMT]))
带有“区域”作为图例项。我有一个ORDER组件,当区域在贷项通知单中时,该组件工作
Order $ by Zone =
CALCULATE (
SUM ( 'Order Details'[DOL_AMT] ),
USERELATIONSHIP ( 'Order Details'[SO], Credits[SO] ),
ALL ( Credits[CreditCategory] )
)
我的问题:
没有 信誉的区域不会显示。因此,而不是
CREDIT | ZONE | ORDER $ BY ZONE
----------------------------------
42 | A | $76
42 | B | $20
42 | C | $100
我明白了
CREDIT | ZONE | ORDER $ BY ZONE
----------------------------------
42 | A | $76
42 | B | $20
我尝试通过添加ALL(Zones[Zone])
和/或ALL('Order Details'[Zone])
来删除此过滤器,但这没有帮助,大概是因为它 报告了“所有区域”实际上可以在“信用”表中找到。 我希望有某种方法可以要求它根据“贷方”表中的SO报告“订单明细”表中的所有区域。
在有帮助的情况下,以下是关系的结构;顺便说一句,我尝试过混合使用和混合使用主动/非主动,单向与双向过滤等各种组合,但是当前配置似乎是唯一可以按需远程工作的配置。
我很感谢任何建议;请让我知道是否有任何不清楚的地方。谢谢。
答案 0 :(得分:1)
通过使用'Order Details'[Zone]
而不是表格视觉和此度量中的Zones[Zone]
,我能够使它工作:
Order $ by Zone =
CALCULATE (
SUM ( 'Order Details'[DOL_AMT] ),
USERELATIONSHIP ( 'Order Details'[SO], Credits[SO] )
)
请注意,无论采取何种措施,Credits
中都没有与区域C
相对应的行,因此除非您告诉它,否则它不知道要在CREDIT
列中放置什么确切的方法。
如果您删除了CREDIT
维度列,则不需要像我上面建议的那样交换表。您可以只使用上面的度量,然后为CREDIT
列写一个新的 measure :
CreditValue =
CALCULATE(
VALUES(Credits[CREDIT]),
ALL(Credits),
Credits[SO] IN VALUES('Order Details'[SO])
)