博客:www.jiaopengzi.com

焦棚子的文章目录

请点击下载附件

一、背景

最近比较忙,太久不没有更新文章,确实没有好的素材,就写一个吧。

在关于产品数据分析的时候,我们经常关注的是主要的几款产品,但是长尾产品有比较多,显示出来不太友好,所以有了我们的问题,把长尾产品一起归类为“其他”再显示出来(如图方式2)。

说明:

1、实际工作中订单表很大;

2、产品表中数量也很大,不方便每个产品型号都建立一个大类,只能把少数关注产品型号大类罗列出来;

3、所以为出现【方式1】中“空白”和后面的长尾明细;

4、需要把【方式1】显示为【方式2】,即解决掉“空白”问题,同时把长尾产品信息“收起来”;

5、感谢P圈 丁斌 提供素材。

二、数据源


数据源

解决问题的关键:构建一个辅助的维度表。

关系:

三、上DAX

1、有“空白”的度量值

销售额:=SUM('订单'[金额])

销量:=SUM('订单'[数量])



均价:=DIVIDE('产品'[销售额],'产品'[销量])

2、是否显示关键度量值

T:=
VAR T1 =
IF ( HASONEVALUE ( '维度'[主力型号大类] ), VALUES ( '维度'[主力型号大类] ) ) = "其他"
VAR T2 =
IF ( HASONEVALUE ( '订单'[型号] ), VALUES ( '订单'[型号] ) ) <> BLANK ()
RETURN
T1 && T2

3、长尾显示为“其他”度量值

销售额1:=IF('产品'[T],BLANK(),'产品'[销售额])
销量1:=IF('产品'[T],BLANK(),'产品'[销量])
均价1:=IF('产品'[T],BLANK(),'产品'[均价])

四、总结

1、dax本身没有什么难度;

2、动态维度表建立;

3、长尾产品是否显示的关键度量值的,pbi中用 SELECTEDVALUE 会更简单些。

by焦棚子

焦棚子的文章目录

119_Power Pivot 长尾明细显示为【其他】的更多相关文章

  1. Panorama和Pivot控件

    Windows Phone提供了Panorama和Pivot这两种控件供用户横向切换导航的方式来显示具有内容比较相关的页面.本文主要对这两个控件进行描述,包括如何使用,以及一些最佳实践. 其中包括如下 ...

  2. KingbaseES 支持pivot and unpivot 功能

    KingbaseES 通过扩展插件支持了pivot 和unpivot 功能.以下以例子的方式介绍. 一.功能介绍 创建扩展: create extension kdb_utils_function; ...

  3. 动态枢轴网格使用MVC, AngularJS和WEB API 2

    下载shanuAngularMVCPivotGridS.zip - 2.7 MB 介绍 在本文中,我们将详细介绍如何使用AngularJS创建一个简单的MVC Pivot HTML网格.在我之前的文章 ...

  4. XAF视频教程来啦,已出7课

        XAF交流学习群内的兄弟录制了视频,他没有博客,委拖我发至博客园,希望能让更多的开发人员受益.快速开发企业级应用的好工具!   XAF入门01快速浏览   XAF入门02特点. XAF入门03 ...

  5. XAF视频教程来啦,已出15课

    第一到第七课在这里: http://www.cnblogs.com/foreachlife/p/xafvideo_1_6.html 视频地址:http://i.youku.com/i/UMTI5OTE ...

  6. pb数据窗口设置操作

    1 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Pro ...

  7. Qlikview 处理交叉表数据

    数据来源于crossTable的时候,如何将数据做明细显示. 如图示交叉表数据 使用表格向导,选择交叉表按钮, 结果达到目的. 相关脚本. Month, 表示将要新加的字段的列明,Orders 为明细 ...

  8. Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录

    在前面介绍了几篇关于我的权限系统改进的一些经验总结,本篇继续这一系列主体,介绍如何一行代码实现重要表的操作日志记录.我们知道,在很多业务系统里面,数据是很敏感的,特别对于一些增加.修改.删除等关键的操 ...

  9. 如何看K线图基础知识

    在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同而不同,比如你也可以在系统里把它们设为5.15.30.60均线. 你看K线图的上 ...

随机推荐

  1. css使div居中

    每次想要使div居中都会设置position:absolute;,发现设置其他控件位置时会出现问题,所以采用以下办法: margin:0 auto;

  2. 大数据学习之路之ambari的安装

    之前按照正常方式安装的hbase不能插入数据 所以今天来尝试下ambari能不能行 已经打了快照 如果不能还能恢复之前的样子

  3. Python疫情爬取输出到txt文件

    在网上搬了一个代码,现在不适用了,改了改 import requestsimport jsondef Down_data(): url = 'https://view.inews.qq.com/g2/ ...

  4. 微信小程序超出后...

    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;

  5. 底部footer挡住上面内容的bug

    当设置底部footer的样式为: .footer{ position: fixed; height: 49px; bottom: 0; background: #fff; } 这样会挡住上面的内容,修 ...

  6. git概述

    学习资料来源-人家写得比我好 #视频教程: https://www.bilibili.com/video/BV1vy4y1s7k6?spm_id_from=pageDriver #文档教程 https ...

  7. coolshell-初见

    首页:https://coolshell.cn/tag/programmer 我是怎么招聘程序员的 https://coolshell.cn/articles/1870.html 程序员需要具备的基本 ...

  8. 面试 | Java 算法的 ACM 模式

    (Java 算法的 ACM 模式) 前言 经常在 LeetCode 上用核心代码模式刷题的小伙伴突然用 ACM 模式可能会适应不过来,把时间花在输入输出上很浪费时间,因此本篇笔记对 Java 算法的 ...

  9. 帝国CMS怎样删除清空数据库记录?

    我用的帝国CMS,删除已经发表的文章和栏目后,后面新发的栏目和文章ID并不会重新从1开始,而是接着已经删除的文章和栏目ID,那么,怎样让后面发的文章和栏目ID重新从1开始呢? 首先,做任何重要修改前先 ...

  10. NodeJS学习日报day4——模块化

    // console.log(module); // 执行顺序不同,结果也不同 // module.exports = { // name : 'Cra2iTeT', // hi() { // con ...