我正在从SQL活动数据库中报告法律案件的执行情况。我有一个案例主表,它有一个父/子层次结构。我正在寻找一种方法来适当地报告案例表现,只报告一次父/子组(“家庭”)。
相关表格的一个例子是:
Cases
ID | Client | MatterName | ClaimAmount | ParentID | NumberOfChildren |
1 | Mr. Smith | ABC Ltd | $40,000 | 0 | 2 |
2 | Mr. Smith | Jakob R | $40,000 | 1 | 0 |
3 | Mr. Smith | Jenny R | $40,000 | 1 | 0 |
4 | Mrs Bow | JQ Public | $7,000 | 0 | 0 |
付款
ID | MatterID | DateReceived | Amount |
1 | 1 | 14/7/15 | $50 |
2 | 3 | 21/7/15 | $100 |
我希望能够报告一个仅显示父事项的综合视图,其中包含总数(以及许多其他类似的相关事实表) - 例如
Client | MatterName | ClaimAmount | TotalReceived |
Mr Smith | ABC Ltd | $40,000 | $150 |
Mrs Bow | JQ Public | $7,000 | $0 |
我遇到的一个关键问题是隐藏不相关行的行标签(子事务)。我相信我需要
任何帮助表示赞赏
答案 0 :(得分:1)
您的层次结构有多少级别?如果它只有2个级别(父母有孩子,孩子不能成为父母),那么将你的模型非规范化。您可以为ParentMatterName添加单个列,并将其用作pivot中的rowfilter。如果数据中存在合理的最大级别数(我们通常将< = 6视为合理),那么与尝试动态汇总子度量值相比,非规范化可能更可取,当然更简单/更高性能。
编辑以解决以下评论:
在这种情况下,对数据结构进行非规范化只意味着转到下面的表结构:
Cases
ID | Client | ParentMatterName | MatterName | ClaimAmount
1 | Mr. Smith | ABC Ltd | ABC Ltd | $40,000
2 | Mr. Smith | Jakob R | ABC Ltd | $0
3 | Mr. Smith | Jenny R | ABC Ltd | $0
4 | Mrs Bow | JQ Public | JQ Public | $7,000
关于命名法 - Excel是愚蠢的,DAX也是如此。以下是思考这些事情以帮助减少混淆的方法 - 当您在更复杂的DAX度量和查询中前进时,这些是重要的概念。
这里有一些绝对真实和准确的陈述,以显示命名法有多愚蠢:
等等。不要将数据透视表视为过滤器。你有过滤器,切片器,行过滤器,列过滤器。数据透视表中的所有内容都是过滤器上下文。
链接: