BI技巧丨计算组单位切换

news2024/11/22 14:38:57

PowerBI自带的数据显示单位有千、百万、十亿等,很明显这些数据单位有些时候是不太符合国人的使用习惯的。

在计算组出来之前,我们习惯利用配置表的方式,将这种数据单位转换为符合我们习惯的方式;在计算组出来之后,我们还可以通过计算组,来进一步将数据单位传递到可视化图表中。

案例数据:

将其导入到PowerBI中,通过以下代码,添加日期表。

Dim_Date =
GENERATE (
    CALENDAR ( MIN ( 'Fact_Sales'[DATE] ), MAX ( 'Fact_Sales'[DATE] ) ),
    VAR DA = [Date]
    VAR YEAR =
        YEAR ( DA )
    VAR QUARTER =
        "Q" & FORMAT ( DA, "Q" )
    VAR MONTE =
        FORMAT ( DA, "MM" )
    VAR DAY =
        DAY ( DA )
    RETURN
        ROW (
            "Year", YEAR,
            "Quarter", QUARTER,
            "Month", MONTE,
            "DayOfMonth", DAY,
            "YearQuarter", YEAR & QUARTER,
            "YearMonth", YEAR & MONTE,
            "YearMonthCount",
                YEAR * 12 + MONTE
        )
)

模型关系如下:

添加基础度量值:

01 基础度量值 =
SUM ( Fact_Sales[Quantity] )

添加配置表:

添加单位度量值:

02 单位度量值 =
[01 基础度量值] / SUM ( Con_Unit[UnitValue] )

将其拖放到可视化表中呈现:

可以看到,目前已经通过配置表的方式,将数据单位进行了单位转化。

其实到这里,这个需求只是完成了一半,用户希望看到的不只是这些。

那么还有哪些点,是我们疏漏掉的呢?
可视化图表!

对于用户侧来讲,虽然有切片器提示当前的数据单位,但是用户更期望的是,每一个可视化图表,展示的数据标签也带单位。

添加如下度量值:

03 单位 =
SELECTEDVALUE ( 'Con_Unit'[UnitType] )

在外部工作区,打开Tabular。

选择创建计算组。

添加计算项。

在公式栏输入如下代码:

SELECTEDMEASURE()

将公式栏切换到格式设置页面,添加如下代码:

SUBSTITUTE ( FORMAT ( SELECTEDMEASURE (), "0" ), "0", "\0" ) & [03 单位]

选择保存,将其应用到PowerBI中,最终展示效果如下:

这里是白茶,一个PowerBI的初学者。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

石油化工企业防雷工程应用解决方案

随着现代石油化工行业的不断发展,防雷工程的重要性也越来越凸显。在石油化工行业中,防雷工程是一项至关重要的工作,因为石油化工行业常常面临雷电等自然灾害的威胁,这些灾害可能导致严重的安全事故和经济损失。石化企业其生产过程…

Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处…

Vue版本2+模拟VueRouter的history模式

文章目录 分步骤实现创建 VueRouter 类创建静态方法,实现 install实现构造函数实现 createRouteMap实现 initComponents 方法 - router-link实现 initComponents 方法 - router-view实现 initEvents 完整代码 分步骤实现 创建 VueRouter 类 /*** VueRouter Class*…

RHEL软件包管理

3.1 RHEL软件包管理 完善的软件包管理机制对于操作系统来说是非常重要的,没有软件包管理器,用户使用操作系统将会变得非常困难,也不利于操作系统的推广。用户要使用Linux,需要了解Linux的包管理机制。随着Linux的发展&#xff0…

初识Vue-数据

目录 响应式 data prop 单向数据流 Prop属性校验 计算属性(computed) 侦听器(watch) 数组操作 数组操作-解决方案 响应式 data data为什么是函数? 因为只有返回一个生成data的函数,这个组件产生的…

精妙绝伦的算法之舞:解密力扣“删除有序数组中的重复项”

本篇博客会讲解力扣“26. 删除有序数组中的重复项”这道题,这是题目链接。 老规矩,先来审题: 题目有对判题标准的详细解释: 接下来是2个示例: 还有提示: 其实这道题考察的是“去重算法”,即…

【Linux】基础IO_文件描述符与重定向

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【C/进阶】如何对文件进行读写(含二进制)操作? 【Linux】基础…

SuperMap GIS基础产品WebGIS FAQ集锦(2)

SuperMap GIS基础产品WebGIS FAQ集锦(2) 【iClient】Vue中该如何使用inject传递Map容器? 【解决方案】provide和inject绑定是不可响应的,所以传递时需要传递对象的property,使它变为可响应,示例如下&#…

为什么选择云计算

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

【python】keras包:深度学习( CNN卷积神经网络 convolution nulear network)

CNN卷积神经网络 convolution nulear network 应用场景 图像识别、根据轮廓识别的图像识别 算法逻辑 算法学得好的话,一眼就可以看出MLP就是暴力算法,时间效率低。因此希望提升效率。 剪枝方法: 先提取图像的关键信息(轮廓&am…

树莓派系统配置-raspi-config

在终端内输入 sudo raspi-config 显示如下界面,左上方是树梅派的型号及版本信息。: 设置界面操作介绍 该配置工具中可以用键盘 ↑ ↓ ← → 进行选择,按 tab 在条目间切换,按 enter 确认,按 esc 返回。在二三级菜单…

(二)PID控制的Anti-windup

比例环节:快速接近目标积分环节:防止稳态误差微分环节:减少振荡 被控对象可以分为两个部分,分别是执行器,用于产生力或者能量从而改变系统,和处理,比如说温控的加热过程。在现实世界中&#xf…

PCL学习六:Filtering-滤波

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云 1. 点云滤波概述 1.1 背景 在获取点云数据时,由于设备精度、操作者经验、环境因素等带来的影响,以及电磁波衍射特性、被测物体表面性质变化和数据拼接配准操作过程的影响,点云数据中将…

java的spi机制使用场景讲解和具体使用

八股文背多了,相信大家都听说过一个词,SPI扩展。 有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的? 基本上,你一说是基于spring的SPI扩展机制,再把spring.factories文件和EnableAutoConf…

回收站文件恢复,分享4个巧妙解决方法!

案例:回收站文件怎么恢复 【清理电脑时一不小心清空了我的回收站,有朋友知道该怎么恢复吗?急急急!】 回收站对于电脑用户来说,可以带来很多的方便,能让用户能够在删除文件后将其恢复。但是,有…

C++之正则表达式

目录 #include • .:换行符以外的任何字符 • […]:…字符中的任何一个 • [^…]:…字符之外的任何一个 • [[:charclass:]]:指定之字符类charclass中的一个 • \n, \t, \f, \r, \v:换行符,tab符号&#xf…

协程实现原理

大家好,我是易安!今天我们来探讨一个问题,Go 协程的实现原理。此“协程”非彼”携程“。 线程实现模型 讲协程之前,我们先看下线程的模型。 实现线程主要有三种方式:轻量级进程和内核线程一对一相互映射实现的1:1线程…

自动驾驶经验分享

人生经验总结 第一个要聊的就是在自动驾驶行业工作的这几年,有什么人生经验可以总结一下。 我觉得从这几个方面,首先第一个是能力上,能力上你需要去锻炼,做成功一件事情的一个能力;技术上,对前沿的技术要…

并发编程java

1、CountDownLatch: 如果我们知道了我们的需要执行的任务数,那么我们可以用java并发包下的CountDownLatch,直接上代码: public class CountDownLaunch {private static final Executor executor Executors.newFixedThreadPool(…

SpringBoot参数校验

简单数据类型 SpringBoot自带了validation工具可以从后端对前端传来的参数进行校验&#xff0c;用法如下&#xff1a; 引入validation起步依赖 <!-- 参数校验 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>sprin…