filter - 通过矩阵中的多个维度表过滤事实表(Power BI / Power Pivot)
问题描述
我有一个关于 Power BI (DAX) 中的筛选上下文的非常基本的问题。
数据模型由3个表组成:
维度 1“居住租户”(其字段为:1.- ID 租户 [主键];2.- 租户姓名;3.- 学年)
Dimension2“住宅位置”(其字段为:1.- ID 住宅[主键];2.- 住宅名称;3.- 住宅床位)
Fact1“数据租赁合同”(其字段为:1.- ID 租户 [外键];2.- ID 住所 [外键];3.- 租赁租金,单位为 €)
在设置 3 个表(事实表中的外键到维度表中的主键)之间的关系(一对多)后,我构建了一个矩阵,该矩阵由以下字段组成,混合了来自 2 个维度表的过滤器:
作为行(过滤上下文):
住所名称(Dim2)
租户名称 (Dim1)
作为数据衡量标准:租赁租金总和
我的问题:
当我使用来自 2 个不同的 Dim 表(彼此之间不相关)中的字段时,过滤器是否会正常工作?它们与事实表的关系都是正确的(都是“一对多”和下游),但我不确定混合这样的二维字段时矩阵中的过滤器流是否正确。
如果它不能正常工作,也许解决方案是使用 CrossFilter 功能,以便过滤器流从 Fact Table 上游到另一个 Dimension Table?在那种情况下,3张桌子会正确连接吗?
提前致谢
解决方案
第一个问题的答案是肯定的,过滤器会正常工作。过滤器上下文由来自 dim1 和 dim2 的过滤器组成。它会在您的情况下自动传播。
过滤上下文会自动从关系的一侧传播到多侧,而不是从多侧传播到一侧。
至于您的第二个问题,当您在关系的一侧(在维度表中)定义度量时,使用交叉过滤器或双向过滤器,在这种情况下,过滤器不会自动传播并且您需要使用交叉过滤器或双向过滤器。
访问:https ://www.sqlbi.com/articles/row-context-and-filter-context-in-dax/
推荐阅读
- r - 完形填空题的等宽数字和字符串答案?
- javascript - 迭代图像数组
- python - 如何将列中的列表/数组条目转换为一行,每个条目具有不同的列
- python - 我不知道为什么,但我收到错误消息:“AttributeError: 'super' object has no attribute '__getattr__'”
- c++ - 不支持 Matlab 编码器 refline、num2str、rsmak 和 fnplt
- cakephp - cakephp4 测试标题长度
- python - 使用 matplotlib 将多条线/图分组
- neo4j - Py2neo 请求所有关系的速度很慢
- python - 使用 openUpgrade 将 ODOO 从 V11 升级到 V13 后出现内部服务器错误
- excel - .Refresh BackgroundQuery:=False ERROR excel vba