Power BI、DAX、多对一和关系表

2023-12-07

我之前在这里问过一个问题:DAX 子查询度量?

有关如何为可视化创建特定度量列的说明。为了使示例简单,我将其保留在一个虚构的表中,并且 DAX 查询运行得非常好。

然而,实际上,度量列所针对的可视化是由多个连接表组成的。 DAX 查询的结果出乎意料地全为零!所以我将在这里重构我的示例以获得更多帮助......

要求

我想要统计有多少“应用程序”不等于特定“构建”的“完整”。

数据模型

Builds
Build
App

Apps
App
Status

样本数据

Builds

Build...........App
Build1..........App1
Build1..........App2
Build1..........App9
Build2..........App3
Build3..........App1
Build3..........App5
Build3..........App8
Build3..........App9

Apps

App...........Status
App1..........UAT
App2..........Complete
App9..........New
App3..........Complete
App5..........UAT
App8..........Complete

关系

这种关系是“许多 Builds.App 到一个 Apps.App”。

可视化表

这是我的可视化 - 请注意不同的表格:

Builds.Build....Builds.App....Apps.Status
Build1..........App1..........UAT
Build1..........App2..........Complete
Build1..........App9..........New
Build2..........App3..........Complete
Build3..........App1..........UAT
Build3..........App5..........UAT
Build3..........App8..........Complete
Build3..........App9..........New

这是我需要的结果:

Builds.Build....Builds.App....Apps.Status....AppsNotCompleteForBuild
Build1..........App1..........UAT............2
Build1..........App2..........Complete.......2
Build1..........App9..........New............2
Build2..........App3..........Complete.......0
Build3..........App1..........UAT............3
Build3..........App5..........UAT............3
Build3..........App8..........Complete.......3
Build3..........App9..........New............3

尝试1(不工作!)

CALCULATE (
    COUNT ( Builds[App] ),
    FILTER (
        ALL ( Builds[Build], Builds[App] ),
        Builds[Build] = SELECTEDVALUE ( Builds[Build] )            
    ),
    FILTER (
        ALL ( Apps[Status] ),
        Apps[Status] <> "Complete"
    )
) + 0

尝试2(不工作!)

Measure 5 = CALCULATE (
    COUNT ( Builds[App] ),
    FILTER (
        ALL ( Builds[Build] ),
        Builds[Build] = SELECTEDVALUE ( Builds[Build] )            
    ),
    FILTER (RELATEDTABLE(Apps),
    Apps[Status] <> "Complete")
) + 0

尝试3(不工作!)

Measure5 = CALCULATE (
   COUNTAX(FILTER( Builds 
            ,  RELATED(Apps[Status]) <>"Complete"  
               && Builds[Build] = SELECTEDVALUE(Builds[Build])
             )  
     ,Builds[App])
) + 0

使用这些表在构建和应用程序之间建立多对一的关系

Builds = 
DATATABLE(
    "Build", STRING,
    "App", STRING,
    {
        { "Build1", "App1" },
        { "Build1", "App2" },
        { "Build1", "App9" },
        { "Build2", "App3" },
        { "Build3", "App1" },
        { "Build3", "App5" },
        { "Build3", "App8" },
        { "Build3", "App9" }
    }
)

Apps = 
DATATABLE(
    "App", STRING,
    "Status", STRING,
    {
        { "App1", "UAT" },
        { "App2", "Complete" },
        { "App9", "New" },
        { "App3", "Complete" },
        { "App5", "UAT" },
        { "App8", "Complete" }
    }
)

我们可以编写一个 dax 度量来计算每个构建中不处于“完成”状态的应用程序的数量。由于一个应用只能有一种状态,否则多对一的关系就会被打破,所以在计数时过滤掉 status = "Complete" 就足够了。

# not complete =
IF(
    HASONEVALUE( Builds[Build] ),
    VAR CurrentBuild =
        SELECTEDVALUE( Builds[Build] )
    RETURN
        COUNTROWS(
            FILTER(
                ALL( Builds ),
                Builds[Build] = CurrentBuild
                    && RELATED( Apps[Status] ) <> "Complete"
            )
        ) + 0
)

通过这个公式,我们可以使用表格视觉来获得这个结果

enter image description here

编辑:这也将处理应用程序表中缺少应用程序的情况,只需忽略它们

# not complete = 
IF(
    HASONEVALUE( Builds[Build] ),
    VAR CurrentBuild =
        SELECTEDVALUE( Builds[Build] )
    VAR CurrentApp =
        SELECTEDVALUE( Apps[App] )
    VAR Result =
        COUNTROWS(
            FILTER(
                ALLNOBLANKROW( Builds ),
                Builds[Build] = CurrentBuild
                    && RELATED( Apps[Status] ) <> "Complete"
                    && NOT ISBLANK( RELATED( Apps[Status] ) )
            )
        ) + 0
    RETURN
        IF( NOT ISBLANK( SELECTEDVALUE( Apps[Status] ) ), Result )
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Power BI、DAX、多对一和关系表 的相关文章

  • 如何在 PowerBi 中将切片器中的选定值设置为 API

    我想从切片器中选择时间并将用户选择的值放入 API 中 当我从 API 获取值后 分析将在我的本地计算机上进行 并将分析后的数据设置到 PowerBi 中 用于用户选择的数据 我使用以下 API 设置上述切片器 http localhost
  • dax 中选取不同值的动态总和

    以下是样本数据 Week Practice Type capacity Gen 1 BI c 80 0 1 BI c 80 1 1 BI sc 160 1 1 BI pc 240 0 1 BI pc 240 3 1 BI mc 1160 1
  • 如何在 R 编程中从数据框创建表格图像

    如何将数据框中的数据转换为表格的图形 我的数据在dataframe并想将其转换为图形 以便我可以使用 Power BI 软件显示它 e g x lt data frame Sex c M M F F F Color c brown blue
  • Application.CalculateUntilAsyncQueriesDone 导致 Excel 崩溃

    我有一个在 Power BI 服务上发布的 OLAP 数据模型 我使用构建了一个报告CUBE公式 我需要根据以下内容进行一些隐藏和显示列CUBEVALUE结果 我需要打印大量切片器选择的 PDF 当然 我需要我的 VBA Sub 来等待所有
  • 如何在运行总计矩阵 Power BI 中填写空白

    我正在 Power BI 中研究损失三角 其中AccidentYear是行和DevYear是列 表中的值为Running Total通过测量创建 Running Total Loss CALCULATE SUM fact Losses Pa
  • 如何将 POWER BI Web 与 AW mysql 数据库连接?

    我是 power bi 新手 我需要将我的 AW mysql 数据库与 power bi 连接 我做了研究 但没有找到任何合适的答案 有人可以帮忙吗 我认为你的意思是 AWS mysql 数据库 目前还没有直接连接 Power BI 的方法
  • 在 PowerBI 报告中排除周末?

    我在 Power BI 中有一个 VS Team Services 项目的燃尽图 这样我们就可以报告故事点 而不是剩余的工作量 在图表中 X 轴上有日期 有没有办法从图表中过滤掉周末日期 周末没有活动 I found 这个论坛帖子 http
  • Power BI:如何动态更改货币

    我们要求允许用户选择他想在仪表板中看到的货币 如下例所示 默认情况下 它是GBP 如果用户更改为USD 我们需要以美元显示支出 在引擎盖下我们已经有了桌子InvoiceDetail其中包含预先进行货币转换的列 SpendInGBP Spen
  • DirectQuery 模式下的 AAS 表格模型性能优势

    假设您有 10 个相当大的事实表 每个 50 100 GB 应该使用 Power BI 进行查询 它们不适合 Azure Analysis Services RAM 价格合理 因此 为了使用表格模型和 AAS 您必须使用以下模式 1 Pow
  • 在 Power BI/Power Query 中添加缺失的日期行并获取上面行的值

    假设我正在将以下内容导入 PowerBI Date Quantity 1 1 2018 22 1 3 2018 30 1 4 2018 10 其中外部源表是一系列日期 值行 其中缺少一些日期值 我想执行一些 DAX M 将任何缺失的日期行添
  • 使用示例 Node 和 .NET 的未经授权 (401) Power BI Embedded

    运行示例时为您的客户嵌入 https learn microsoft com en us power bi developer embedded embed sample for customers tabs node js step 8
  • 如何使用rest api将数据集作为csv文件导入到power bi?

    我想在 power bi 中自动执行导入过程 但我找不到如何将 csv 文件发布为数据集 我正在为此使用 C 解决方案 有没有办法做到这一点 您无法将 CSV 文件直接导入到 Power BI 服务中已发布的数据集 AddRowsAPIEn
  • 根据当前用户过滤 Power BI 报告

    我们目前正在为我们公司开发 Power BI 仪表板 Office 365 并希望根据当前用户的偏好定制仪表板上的信息 我们公司有多个部门和子部门 因此向所有用户显示每个部门的数据会适得其反 例如 如果 Bob 属于欧洲销售 他将仅看到欧洲
  • 使用 Python 重新打开与 Power BI XMLA 端点的连接时出错

    我有以下 python 代码 它在函数运行时工作正常 但在第二次运行时失败 import adodbapi def connect and print input str print Function starting input str
  • SnowFlake 和 Power BI“此值不支持本机查询”

    快速注意 我已经查看了这些线程 但它们没有解决我的问题 过时的信息 请参阅下面的文档 通过PowerBI访问Snowflake查询结果 https stackoverflow com questions 65483722 access sn
  • 强力查询历年产品利润对比

    我有一个数据集 其中包含公司 产品 利润和年份 公司每年都会销售少量产品并获得利润 公司没有必要在明年销售相同的产品 他们可能会省略以前的产品并添加新的少量产品 我只想对两年的产品进行逐个比较 如下所示 我的数据集是 Company Pro
  • 仅从数据库获取我想要的数据但保留结构

    我正在尝试在 powerbi 上执行此操作 但我想这只是基本的 SQL 我想将我的数据导入到 powerBi 中 但使用一些 id 对其进行过滤 我们以这个例子为例 我与一些公司有数据库 表1 每个公司都有建筑物 表2 每个建筑物有员工 表
  • Power BI 中的区分大小写

    我想知道是否可以在 Power BI 中配置区分大小写 我在 Oracle 数据库中有数据 其中主键EXample不同于exampLE 但如果我想将其导入到Power BI中 就不行了 任何想法 目前 我认为最好的选择是在查询编辑器阶段为主
  • Power BI:百分比变化公式

    我想在 power BI 中创建一个简单的百分比变化公式 具体来说 我想评估逐月的成本变化百分比 我知道百分比变化可以用不同的方式定义 所以要清楚的是 这是我指的公式 change current value previous value
  • 在 Power BI 中使用 Python 脚本,导入错误:缺少所需的依赖项 ['numpy']

    我是新来的Power BI我尝试在其中设置 python 脚本 我已经更改了选项并激活了Python scripting 之后我收到错误 DataSource Error ADO NET Python script error Traceb

随机推荐

  • 如何在 TypeScript 中输入具有已知和未知键的对象

    我正在寻找一种方法为以下对象创建 TypeScript 类型 该对象具有两个已知键和一个具有已知类型的未知键 interface ComboObject known boolean field number U string string
  • 使用 PHP 的简单 MVP 示例

    我知道如何与MVC模型 但我不知道如何使用 MVP 我读到了它们之间的差异 但不知道如何实现它 区别是双重的 视图是被动的并且不知道模型 演示者 控制器 更改模型的状态 读取信息并将其传递给视图 public function showUs
  • 如何使用 GData 检索用户的电子邮件地址?

    我正在尝试使用 GData 检索刚刚使用 Google OAuth 授权我的网站的用户的电子邮件地址 真实姓名和个人资料 URL 我们知道如何使用 Google 的 OpenID 流程来请求它 但 OpenID 流程有一个严重的限制 即我们
  • 将鼠标悬停在 上时缩放图像

    我有一个画布 我在上面画了一个图像 var imageObj new Image imageObj onload function context drawImage imageObj 0 0 imageObj src http local
  • 如何使用公司 API 获取公司页面的管理员个人资料详细信息 - Linkedin

    有没有办法使用公司 API 获取管理员个人资料详细信息 公司页面所有者详细信息 或者反之亦然 使用 Profile API 获取用户拥有的公司页面 不是他的雇主 我阅读了文档并可以找到一种方法 非常感谢任何帮助 http developer
  • Volley - 无法解析构造函数“JSONObjectRequest”

    我正在关注这个问题 http www androidhive info 2014 08 android building free wallpapers app part 2 现在我添加了一个启动屏幕并开始了 Volley 请求 本教程所说
  • 在 R 中使用变量创建正则表达式模式

    我有一个功能 ncount lt function num NULL toRead lt readLines abc txt n lt as character num x lt grep n number toRead value TRU
  • 如何绘制一条可选择的线?

    我想创建一个用户能够操纵他绘制的线的应用程序 类似于删除行或选择它 我该怎么做呢 提前致谢 我设法使用硬编码矩形来做到这一点 但我仍然不知道如何使用drawLine 我可以用吗drawPath进行命中测试 这是代码 private bool
  • 如何在 GitHub 存储库中创建文件夹?

    我想在 GitHub 存储库中创建一个文件夹 然后将文件添加到该文件夹 我该如何实现这一目标 TL DR Use 在文件名字段中创建文件夹 例如打字folder1 file1在文件名字段中将创建一个文件夹folder1和一个文件file1
  • 如何在pyparsing中匹配括号/方括号

    我有一个语法标记指定为 list value Suppress oneOf Group delimitedList string value int value list Suppress oneOf 然而 这显然允许 foo bar 如何
  • Oracle SQL:不允许列

    我创建了一个表 CREATE TABLE AIRLINE airline code NUMBER 4 PRIMARY KEY NOT NULL airline name VARCHAR 29 NOT NULL airline address
  • Rails:缺少要链接的主机!请提供 :host 参数或设置 default_url_options[:host]

    我已经在谷歌上搜索了大约 90 分钟 但仍然没有答案 我在哪里设置default url options 我已经设置为config action mailer default url options在其他地方解决同样的错误 但现在我在尝试在
  • NSArray 不区分大小写的indexOfObject

    有没有一种简单的方法可以在 NSString 的 NSArray 中进行不区分大小写的查找 NSArray 的参考文献提到了不区分大小写的排序 但没有提到查找 我可以轻松地编写自己的 fn 来做到这一点 但想知道是否有更简单的方法 我不知道
  • C++中类变量声明的查询

    我有一个类来表示浮点数的 3D 向量 class Vector3D public float x y z float const data Vector3D x 0 0 y 0 0 z 0 0 data x 我的问题是 x y 和 z 是否
  • Python 中的元组真的是不可变的吗? [复制]

    这个问题在这里已经有答案了 今天遇到的一个问题 实际上测试了Python中元组的不变性 面试官 Python 中的元组是不可变的吗 Me Yes 面试官 那么有什么作用print t1 在这里打印 t1 4 5 t1 t1 91 10 pr
  • 如何使用 vs2017rc 创建 aurelia typescript 项目

    我是 aurelia 的新手 我需要创建一个框架的原型项目 一开始 我打算使用 sculpture typescript aspnetcore 框架 但是当我尝试 vs2017rc 时 我发现它使用 csproj 作为默认格式 而 vs20
  • DDD中的数据访问层设计

    请原谅我糟糕的英语 好的 我现在正在考虑 DDD 方法 听起来不错 但是 有一个小问题 DDD 表示领域模型层与数据访问层 以及所有其他层 完全解耦 因此 当 DAL 保存某个业务对象时 它只能访问该对象的公共属性 现在的问题是 我们如何保
  • spriteKit 中的联系人双重通知

    当我的 SKSpriteNode 命中与 worldCategory 接触时 我似乎收到了双重通知 这是怎么回事 当我想在触及 worldCategory 时运行某个操作时 这会产生问题 因为该操作正在被触发 这是我在 InitWithSi
  • 使用 C# 从维基百科 api 反序列化 Json

    我有一个 json 格式的维基百科 api 现在我想从这个api中获取提取信息 我想让它对于任何维基百科 api 都是动态的 我的维基百科 API 1 我从 jsontoCsharp 得到以下信息 namespace Json deseri
  • Power BI、DAX、多对一和关系表

    我之前在这里问过一个问题 DAX 子查询度量 有关如何为可视化创建特定度量列的说明 为了使示例简单 我将其保留在一个虚构的表中 并且 DAX 查询运行得非常好 然而 实际上 度量列所针对的可视化是由多个连接表组成的 DAX 查询的结果出乎意