BI技巧丨钻取动态度量值

PowerBI自带的数据钻取功能,在实际应用中是用户使用度较高的功能之一,特别是需要实际操作的业务用户,往往需要根据汇总的结果定位到相关的明细数据,以便进行下一步的流程操作,这种场景下钻取功能显得尤为便利。

关于钻取功能,白茶之前也介绍过,包括云端的跨页钻取,本期是结合特定的场景进行实际应用的介绍,偏向于业务会多一些。

先来看看本期的案例数据:

数据较为简单,一张事实表。将其导入到PowerBI里面。

案例数据与以往的不同,偏向于商机类型的数据,一般数据来源于SalesForce结构会与此类似,SAP系统中关于销售订单类型的数据,也符合本期的应用场景。

商机数据的划分,前几个阶段都属于未关单数据,最后的Loseing和Win都属于已关单数据。业务用户往往会关注未关单的数据进展如何,是否需要提供额外的支持,已关单的数据其中丢单的原因是什么等等。

而销售订单数据,会划分为已发货/未发货,部分发货/全部发货,已发货确收/已发货未确收等,业务形态与商机数据区别很大,但是在BI上需要的功能点,基本雷同。

编写如下基础度量值:

001.OppAmt =
SUM ( Fact_Opportunity[Amount] )

根据上面的业务形态,不难发现,其实用户想要的,就是动态度量值的切换,我们实现的办法有两种。

①新建维度表,通过逻辑关系关联度量值。

新建如下度量值:

未关单数据:

002.NoEndOppCount =
CALCULATE (
    [001.OppAmt],
    FILTER (
        'Fact_Opportunity',
        'Fact_Opportunity'[Status] IN { "1", "2", "3", "4" }
    )
)

已关单数据:

003.EndOppCount =
CALCULATE (
    [001.OppAmt],
    FILTER (
        'Fact_Opportunity',
        NOT 'Fact_Opportunity'[Status] IN { "1", "2", "3", "4" }
    )
)

动态度量值:

004.SelectValue =
VAR SelectValue =
    SELECTEDVALUE ( 'Dim_Select'[Index] )
VAR Result =
    SWITCH (
        TRUE (),
        SelectValue = 1, [002.NoEndOppCount],
        SelectValue = 2, [003.EndOppCount]
    )
RETURN
    Result

结果如下:

新建字段参数。

我们将两个结果放在一起对比一下:

从数据上来看,二者在动态度量值的处理上,结果是差不多的。

咱们继续,按照背景介绍,是需要钻取到对应的明细数据的。

分别添加两个明细页,将两个度量值呈现出来。

可以看出,二者之间目前呈现的方式都有点问题,度量值拼接的方式没有数据,而字段参数此时呈现的是2个值,我们来分别钻取看一下效果:

两个度量值都可以满足钻取的需求,但是有一个严重的漏洞,实际上我们在设计报表时,明细表默认是不会选择隐藏的,是需要开放给用户进行明细数据导出的,而两个明细表默认进来的情况,都不太理想,需要我们处理一下。

修改如下度量值:

004.SelectValue =
VAR SelectValue =
    SELECTEDVALUE ( 'Dim_Select'[Index] )
VAR Result =
    SWITCH (
        TRUE (),
        SelectValue = 1, [002.NoEndOppCount],
        SelectValue = 2, [003.EndOppCount],
        [002.NoEndOppCount] + [003.EndOppCount]
    )
RETURN
    Result

结果如下:

度量值逻辑修改后,可以满足当用户默认不筛选时,呈现正常的数据,而字段参数功能,则无法进行其他修改。

所以,面对如上业务场景时,白茶建议选择度量值维度表关联的方式。

PS:如果有知道解决方案的小伙伴,也可以联系白茶。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/249665.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

掌握魔法绘制图片、PDF剪辑器功能,智能生成AI文章,高效工作从此开始

在这个信息爆炸的时代,如何高效地处理和利用各种文件格式成为了我们日常工作的关键。今天,我们将为您介绍一款强大的工具,它能够智能生成AI文章,高效掌握魔法绘制图片和PDF剪辑器功能,为您的工作带来前所未有的便捷和高…

【送书活动】智能汽车、自动驾驶、车联网的发展趋势和关键技术

文章目录 前言01 《智能汽车》推荐语 02 《SoC底层软件低功耗系统设计与实现》推荐语 03 《SoC设计指南》推荐语 05 《智能汽车网络安全权威指南(上册)》推荐语 06 《智能汽车网络安全权威指南(下册)》推荐语 后记赠书活动 前言 …

jmeter,同一线程组内,调用cookie实现接口关联

取cookie方式参考上一篇:jemeter,取“临时重定向的登录接口”响应头中的cookie-CSDN博客 元件结构 登录后要执行的接口为“api/get_event_list/”,在该HTTP请求下创建HTTP信息头管理器,配置如下: 执行测试后&#xff0…

太阳能电池特性测试用太阳光模拟器24H光源

概述 太阳能模拟器是一种在室内模拟太阳光的设备,能够较为准确地模拟太阳辐射的准直性、均匀性和光谱特性。它的基本原理是利用人工光源模拟太阳光辐射,以克服太阳光辐射受环境、时间和气候等因素影响,并且总辐照度不能调节等缺点&#xff0c…

【NSX-T】10. 搭建NSX-T环境 —— 使用 BGP 配置 Tier-0 网关

目录 10.1 创建上行链路网段10.2 创建 Tier-0 网关(1)设置 Interface 信息(2)设置 BGP添加 BGP 邻居 (3)设置 BGP 路由重分发设置路由重新分发 10.3 连接 Tier-0 和 Tier-1 网关10.4 使用网络拓扑验证 Tier…

【树莓派】高级开发概述、开发环境搭建(内核镜像拷贝至树莓派并启动新内核)

一、树莓派开发环境搭建 二、Linux文件系统的目录结构 三、树莓派Linux源码目录树分析 四、树莓派Linux源码配置 五、如何配置树莓派的Linux内核 六、树莓派Linux内核编译 七、配置启动参数的cmdline.txt 一、树莓派开发环境搭建 树莓派官网 raspberrypi raspberrypi/tools…

laravel的安装

laravel的安装(Composer小皮) Composer的安装 windows下安装 https://getcomposer.org/Composer-Setup.exe 修改镜像 阿里云: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 华为云: compos…

如何实现免费的文档翻译

文中有彩蛋,请一定要看完。 目录 文中有彩蛋,请一定要看完。 一、问题的提出 二、文档翻译现状 三、如何免费海量文档翻译 1. 采用CAT工具机器翻译API法 2. 采用小牛文档翻译 四、学后反思 一、问题的提出 随着互联网和人工智能技术的飞速发展&…

基于SSM框架的安全教育平台论文

基于SSM框架的安全教育平台 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了安全教育平台的开发全过程。通过分析安全教育平台管理的不足,创建了一个计算机管理安全教育平台的方案。文章介绍了安全…

Transformer的学习

文章目录 Transformer1.了解Seq2Seq任务2.Transformer 整体架构3.Encoder的运作方式4.Decoder的运作方式5.AT 与 NAT6.Encoder 和 Decoder 之间的互动7.Training Transformer 1.了解Seq2Seq任务 NLP 的问题,都可以看做是 QA(Question Answering&#x…

Anaconda中使用Jupyter出现’No module named ‘pymysql‘问题解决

问题截图: 解决办法: 一.找到Anaconda所在文件夹,文件夹处输入 cmd 进入命令控制 二. 在打开的cmd中输入‘conda install pymysql’ 三、输入y 安装完成~ 测试: import pandas as pd from sqlalchemy import create_engine …

抖店怎么运营?从开店到店铺维护,具体如下!

我是电商珠珠 抖店的热度很高,不少人都想要入驻,其中对于抖店的运营方面,新手不是很懂。 今天,我就来给大家详细的讲一下。 一、入驻 入驻的话需要新手准备一张个体工营业执照,身份证、银行卡、抖音号、手机和电脑…

java SSM火车票务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM火车票务管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

读书心得(内容取自高质量C/C++编程)

版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是 程序风格的重要构成因素。 可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得…

Unity | Shader基础知识(第六集:语法<如何加入外部颜色资源>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、语法结构 1 复习 2 理论知识 3 Shader里声明的写法 4 Properties和SubShader毕竟不是一家人 三、 片元着色器中使用资源 四、代码实现 五、全部代码 六、下集介绍 相关阅读 Unity - Manual: Writing Surface Shaders…

ACL——访问控制列表

目录 1、ACL的产生背景及概述 2、ACL的应用 3、ACL的分类 4、ACL的组成 5、ACL的匹配位置 6、ACL的案例 案例1-----拒绝源IP为192.168.10.1的数据包 案例2------拒绝源IP在192.168.10.0/24整个网段的所有数据包 案例3------拒绝源IP为192.168.10.0/24所有奇数主机发送的…

VUE学习三、前端项目部署

1.前端项目打包 执行命令 npm run build:prod正常命令结束 , 会在前端项目里面出现dist文件夹 2.nginx下载安装 nginx下载 : http://nginx.org/en/download.html Windows 下载版本 Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说…

【Java JVM】实例对象内存布局

当 Java 应用启动后, 基本就是在不断的创建对象, 回收对象的过程中。 而这些创建的对象基本都是存放在应用的堆 (heap) 中, 但是这些对象在堆中又是什么样子的呢? 在这篇文章中, 我们分析一下 Java JVM 中实例对象的内存布局。 在 HotSpot 虚拟机里, 对象在堆内存中的存储布局…

如何禁止孩子在电脑中浏览某些网页?

在使用电脑的过程中,我们会使用浏览器来查看网页。而在孩子使用电脑的过程中,有些网页并不适合孩子查看。因此,我们需要禁止孩子浏览不健康的网页。那么,该如何禁止孩子在电脑中浏览某些网页呢? 定时关机3000简介 定时…

【docker】部署minio对象存储并用rclone同步

docker部署minio对象存储并用rclone同步 本文首发于 ❄️慕雪的寒舍 1.什么是minio? minio是一个开源的对象存储服务器,兼容S3协议。 官网:https://min.io/ 官方在开源的基础上也提供云端S3服务,分为个人和企业,有不…