首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

精读《15 大 LOD 表达式 - 下》

范围平均值差异百分比 如下图所示,我们希望将趋势图的每个点,与选定区域(图中两个虚线范围内)的均值做一个差异百分比,并生成一个新的折线图放在上方。 重点是上面折线图 y 轴字段,差异百分比如何表示。...我们可以利用 LOD 表达式解决这个问题: 相对周期过滤的重点是,不能直接用日期进行对比,因为今年数据总是比去年大。...用户登陆频率 如何绘制一个用户每个月登陆频率? 要计算这个指标,得用用户总活跃时间除以总登陆次数。...但从实际例子来看,我们会发现真正的难点不在与 LOD 表达式的语法,而在于我们如何精确理解需求,拆解成合理的计算步骤,并在需要运行 LOD 的计算步骤正确的使用。...LOD 表达式看上去很神奇,似乎可以和数据 “神奇” 的贴合在一起,我们要理解到 LOD 背后就是表之间的 join,而不同明细级别就表示不同的 group by 规则这一背后原理,就能比较好的理解为什么

95730

精读《15 大 LOD 表达式 - 上》

但问题是,我们制作并不存在的 “首单年份维度”? 答案是利用 FIX 表达式:{ fixed [customerID] : min([orderDate]) }。 3....占总体百分比 LOD 表达式的一大特色就是计算跨详细级别的占比,比如我们要看 欧洲各国的销量在全世界占比: 显然这个图里所有国家之和不是 100%,因为欧洲加起来也才不到百分之二十,然而在当前详细级别下...这里解释两点: 之所以用 max 是因为 LOD 表达式只是一个字段,并没有聚合方式,运算必须在相同详细级别下进行,由于总销量只有一条数据,所以我们用 max 或者 min 甚至 sum 都行,结果都是一样的...从这个例子可以看出,如果我们在一个较高的详细级别,比如国家,此时的 sum([sales]) 是根据国家详细级别汇总的,而忽略了销售代表这个详细级别。...如果不是明确的按照某个详细级别计算,就不要使用 FIXED,因为不太灵活。 当计算时要跳过某个指定详细级别,但又要保留视图里的详细级别时,使用 EXCLUDE 表达式。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    “无知之幕”:帆软DEF官方案例之吐槽

    我只觉得无知者无畏,竟然想以 DEF 单挑 DAX 和 LOD!哪来的勇气说“不输 PowerBI 和 Tableau 的 DAX 和 LOD 函数”的! 细看案例,惊呆了我!这 TM 是啥!‍...从图中可以看到它其实是以 “城市 A”为筛选条件的 “车型销售额”(比如11200K 是思域两个月的销售额合计,而9600K 是轩逸两个月的销售额合计)。...说到这里,我都不好意思评价“李启方”用Tableau 的水平了,为了一个本就“错误的题目”,加上了“极不准确”的字段名,然后还强行用 Tableau 的拙劣语法做个死亡陪衬。...对了,帆软的很多人学习 Tableau 的 LOD 表达式,还把我的很多文章搬到内网(未经授权),欢迎你们“致敬” Tableau LOD案例,但请收起来你们的傲慢。‍‍‍‍‍‍‍‍‍‍‍‍‍...注: 1、帆软的“过滤”,基本对应 Tableau 的“筛选”,但和 PowerBI 中的“筛选”截然不同;‍‍‍‍‍‍‍ 2、帆软没有明确的“详细级别”(LOD)的概念,文章使用了“详细级别(粒度)”

    9010

    独家 | 手把手教数据可视化工具Tableau

    本节中的主题将尝试阐明这些问题,以及有关您在使用 Tableau Desktop 可以看到和体验到的功能的其他问题。 数据类型 数据源中的所有字段都具有一种数据类型。...在此示例中,视图解决以下这个问题:按总销售额计,纽约市位居前 10 名的客户有哪些?...作为上下文筛选器,此筛选器现在优先于维度筛选器,因此视图现在将按预期方式显示: 示例 2:将表计算转换为 FIXED 详细级别表达式 在此示例中,视图将解决以下这个问题:占总销售额的百分比将如何按产品子类列出...在某些情况下,这可能就是您需要的结果(也就是说,在使用快速筛选器时对百分比进行了重新计算)。但在其他情况下,您可能希望百分比即使在您筛选进或筛选出某些项目时也保持稳定。这是我们在本例中所需要的。...FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。在本例中,您将使用它来建立各个子类的百分比 — 不会受常规维度筛选器影响的百分比。为何会这样?

    18.9K71

    ElasticSearch权威指南:深入搜索(上)

    用不了多长时间,就会发现我们想要的更多:希望查询匹配更灵活,排名结果更精确,不同问题域下搜索更具体。 想要进阶,只知道如何使用 match 查询是不够的,我们需要理解数据以及如何能够搜索到它们。...如果一个字段没有值,那么如何将它存入倒排索引中的呢? 这是个有欺骗性的问题,因为答案是:什么都不存。...当我们索引新文档时,只需将那些新文档加入已有 bitset,而不是对整个缓存一遍又一遍的重复计算。和系统其他部分一样,过滤器是实时的,我们无需担心缓存过期问题。 1....这些选项已被弃用,如果存在,将被忽略。 过滤器上下文中使用的查询子句现在可以自动缓存。该算法考虑到使用频率,查询执行成本以及构建过滤器的成本。...4.组合查询 在 组合过滤器 中,我们讨论过如何使用bool过滤器通过 and 、 or 和 not 逻辑组合将多个过滤器进行组合。在查询中,bool查询有类似的功能,只有一个重要的区别。

    4.4K31

    边抄边遮,谁是最像 Tableau 的“国产崽”?

    低劣地脚踢Tableau 的厂家,之后我都会把“回旋镖”扔回去。 今天,我想写一个小短文:既然都像抄袭 Tableau,那谁是最像 Tableau 的“崽”?...先说结论,在我亲自使用的产品中: “网易有数”是最像 Tableau 的;而 QuickBI 是最像 PowerBI 的。‍‍‍‍‍‍‍‍‍ ‍‍‍‍...尤其是有数8.x版本推出了关系模型,并在之前支持 了LOD 表达式、自定义表计算等功能,理解能力都在其他国产 BI 之上。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍...帆软 BI6.0甚至直接“抄袭”了 LOD 函数,只是为了遮人耳目取了一个 DEF 的名字(当然也可以解释成 PowerBI 的 DEFINE)。‍‍‍‍‍‍‍‍‍...业务可视化分析:从问题到图形的Tableau方法》2021.7 《数据可视化分析:分析原理与Tableau、SQL实践》2023.9‍‍‍

    12610

    国产BI的“耻辱”:QuickBI 计算功能测评(下)

    高级计算:表计算(窗口函数)和 LOD(聚合子查询)满足高级分析的能力,体现在多个详细级别(颗粒度)的问题上 计算的优先级设定及其调整,特别包括筛选的优先级次序 为了测评的公平公正(后期也可以用在其他产品上...为了让大家知道优秀的样式,我不得不搬出来 Tableau的实例。 在 Tableau 中,几乎每个字段胶囊都可以直接双击编辑,或者直接双击创建计算(如下图所示),或者拖曳其他胶囊创建“利润率”计算。...由于这一问题如此的不科学,我不得不再次重提,万分强调。我甚至希望有朝一日 QuickBI 能因为我此处的诘问而修改这个功能。...{2014, 2015, 2016, 2017} 回到 QuickBI 的过滤器上,当我选择年度筛选,就只应该高亮上面四年的数值,其他年度不可选,或者标记为灰色表示即便选了也没有意义。...合计百分比) 组合分析:不同订单频次的客户数量 组合分析+:各个年度的销售额及其客户阵列(Customer Cohort) 最后,我想说,‍‍ 我之所以批判如此详细,绝非为了批评而批评。

    42400

    115.精读《Tableau 入门》

    安装 Tableau 提供了三种使用方式: Tableau Desktop 拥有 14 天免费试用的桌面版,可以将工作数据存储在计算机本地,如果你是学生或老师可以获得一年的免费使用权。...首先我们要看看大盘数据如何,也就是这家超市的总利润、质量、销量: 在左侧维度栏目下,最后一个字段 Measure Names 表示所有度量的集合。...其他功能 除了上面基本可视化分析能力之外,Tableau 还有许多辅助功能。...从上图可以看到,指定了 4 个分类,最右上角加州就是最突出的一组,整个聚类只有它一个元素,而画面偏左下角的也是一类,这些是业绩较差的一组数据。...当一个 Sheet 作为筛选条件后,类似点选这种操作产生的筛选就会作用于其他同数据集的图表,因此如上图所示,当点击了条形图的某一根柱子时,上面的销量地图也自动做了筛选,仅展示当前选中的产品的销量分布。

    2K30

    Elasticsearch 缓存深入详解

    2、Elasticsearch 缓存经常被问道的问题汇总 怎样知道自己的查询时命中缓存了还是走的磁盘搜索? 我想每次查询的时候直接显示几个小时以前的数据 而不是只有实时的,这些是要存到缓存中么?...看 Elasticsearch API的时候看到 /_cache/clear,这个缓存什么时候需要清理?有什么场景需要使用? 以上问题都是实战业务场景的问题。...3.1.2 节点查询缓存内存上限 默认情况下,节点查询缓存最多可容纳10000个查询,最多占总堆空间的10%。...分片级请求缓存在每个分片上缓存本地结果,这使得频繁使用的搜索请求几乎立即返回结果。分片请求缓存非常适合日志用例场景,在这种情况下,数据不会在旧索引上更新,并且可以将常规聚合保留在高速缓存中以供重用。...在评分之前,使用可重复使用的过滤器(filters)来缩小结果集的范围。使用scripted fields进行评分,但不要使用过滤器。 Filters 过滤器或多或少地按顺序执行。

    4.3K41

    精读《什么是 LOD 表达式》

    LOD 表达式在数据分析领域很常用,其全称为 Level Of Detail,即详细级别。 精读 什么是详细级别,为什么需要 LOD?你一定会有这个问题,我们来一步步解答。...但是,类似上面例子的需求是很多的,而且很常见,BI 工具必须想出一种解法,因此诞生了 LOD:LOD 就是一种表达式,允许我们在一个查询中描述不同的详细粒度。...LOD 给了我们跨详细粒度计算的能力,其本质还是将数据详细粒度统一,但我们可以让某列数据来自于一个完全不同详细级别的计算: 城市 销售额 总销售额 北京 3000 10000 上海 7000 10000...表示,如果 FIXED 详细级别比当前视图详细级别低,应该如何聚合。...我们后面会继续解读 tableau 整理的 Top 15 LOD 表达式业务场景,更深入的理解 LOD 表达式。 总结 LOD 表达式让你轻松创建 “脱离” 当前视图详细级别的计算字段。

    1.2K20

    智能分析工具PK:Tableau VS Google Data Studio

    Tableau工具 vs Google Data Studio 工具 Tableau 和 Google是两个软件供应商,两者都为数据可视化提供了一个易于使用的、可拖放的环境。...这就引出了协作和共享功能的问题(我们将在后面讨论)。你使用工具的体验会受到网络质量的影响。 2. 实用性 Tableau Desktop在大多数国家都可用。...5.过滤器 Data Studio和Tableau都提供了过滤器。可以对每个可视化的数据进行过滤,或者在报表中添加一个过滤器,以便最终用户能够更好地深入到数据中。...3.安全 Tableau提供了用户身份验证和数据安全。Tableau还允许发布者建立用户过滤器,根据他们的访问控制,在发布的视图中控制用户可以看到的数据。...Tableau在可视化数据发掘和数据可视化方面更加完善和强大;而Data Studio为构建漂亮的报告提供了一个很好的解决方案。

    4.8K60

    金三银四,那浏览器兼容你知多少?

    过滤器(filter) ps:过滤器可能这个说法有点不太正确,也可以说是浏览器标识符! _下划线过滤器 当一个属性前面增加一个下划线后,由于符合标准的浏览器不能识别带有下划线的属性而忽略了这个声明。...important;} *属性过滤器 当一个属性前面加了*后,该属性能被ie7及以下浏览器识别,其他浏览器忽略该属性的作用 语法:选择器{*属性:属性值;} +属性过滤器 当一个属性前面加了+后,该属性能被...ie7及以下浏览器识别,其他浏览器忽略该属性的作用 语法:选择器{+属性:属性值;} *+属性过滤器 当一个属性前面加了*+后,该属性能被ie7浏览器识别,其他浏览器忽略该属性的作用 语法:选择器{*+...浏览器识别,其他浏览器不识别 -webkit- webkit内核浏览器识别,其他浏览器不识别 -o- Opera浏览器识别,其他浏览器不识别 -ms- ie浏览器识别,其他浏览器不识别 常见的浏览器兼容问题以及解决方法...7)百分比bug 描素:在ie6以及以下版本中解析百分比时会四舍五入方式计算从而导致50%加50%大于100%的情况。

    60530

    TableauPowerBI的“割裂”和帆软BI的“集成”

    上周,一位Tableau客户辗转发来“问题”,说帆软销售给他们发了一个功能对比清单,大致如下: 不能够将工作表直接复制到其他工作簿中‍ 仪表板较多时,不能清楚地知晓工作表引用关系 数据准备:Desktop...我在多年前和帆软产品经理沟通时,他们就觉得Tableau 把问题弄复杂、误入歧途了:‍‍‍‍‍‍‍‍‍ “帆软 BI 努力把数据准备和分析整合在一起,这对于用户更友好;而 Tableau 还要区分 Prep...02—Tableau 的两大阶段:Prep + Desktop 如今的业务分析,早已不是当年透视表的年代,在构建一个复杂可视化之前,往往需要多重聚合、彼此嵌套,还要考虑千万、上亿级别数据量下的性能问题,...- 保留了和 Desktop 完全一样的 LOD 功能!‍‍‍‍‍‍‍ - 转置(行转列、列转行)、聚合、并集、连接一应俱全‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ - 支持插入新行!...M 语言延续 Excel 的思路而来,而 DAX 则是基于SQL Server 数据库和 Tabular 而来,没想到最后进了一个家门。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

    21910

    Redis 之布隆过滤器与布谷鸟过滤器

    ,是如何做到的呢?...布隆过滤器的问题 上面这种方式,应该你已经发现了,布隆过滤器存在一些问题: 第一方面,布隆过滤器可能误判: 假如有这么一个情景,放入数据包1时,将bitmap的1,3,6位设置为了1,放入数据包2时将bitmap...二是,当你删除某一个数据包对应位图上的标志后,可能影响其他的数据包,例如上面例子中,如果删除数据包1,也就意味着会将bitmap1,3,6位设置为0,此时数据包2来请求时,会显示不存在,因为3,6两位已经被设置为...特殊的 hash 函数 布谷鸟过滤器巧妙的地方就在于设计了一个独特的 hash 函数,使得可以根据 p1 和 元素指纹 直接计算出 p2,而不需要完整的 x 元素。...实际上是需要的,但是布谷鸟过滤器强制数组的长度必须是 2 的指数,所以对数组的长度取模等价于取 hash 值的最后 n 位。在进行异或运算时,忽略掉低 n 位 之外的其它位就行。

    80620

    居然还有布谷鸟过滤器,有何用处呢?

    如果再多一些,数据库大多数IO都在响应这种毫无意义的请求操作,那么如何将这些请求阻挡在外呢?过滤器由此诞生。...布隆过滤器 布隆过滤器(Bloom Filter)大概的思路就是,当请求信息的时候,先检查一下查询的数据我这有没有,有的话将请求压给数据库,没有的话直接返回,是如何做到的呢?...特殊的 hash 函数 布谷鸟过滤器巧妙的地方就在于设计了一个独特的hash函数,使得可以根据p1和元素指纹直接计算出p2,而不需要完整的x元素。...实际上是需要的,但是布谷鸟过滤器强制数组的长度必须是2的指数,所以对数组的长度取模等价于取hash值的最后n位。在进行异或运算时,忽略掉低n位之外的其它位就行。...将计算出来的位置p保留低n位就是最终的对偶位置。

    56320

    数据分析工具评测丨Yonghong Desktop对战Tableau Desktop

    同Tableau类似,如果基础数据未包括回答问题所需的所有列(字段),则可以在Yonghong Desktop中使用计算创建新列,Yonghong Desktop支持100多个计算函数,还可以进行直接直观的数据转化...另外Yonghong Desktop支持更多的动态计算,包括差值、百分比、差值百分比、汇总百分比、累积总计、移动计算、排名计算、百分位等,基于这些计算可以轻松实现在可视化图表的数据上的二次计算。...,比如在跨源组件联动时,可以通过组件之间进行参数值的传递,来实现点击一个图表视图,联动过滤展示另一个图表视图的数据。...可以看到现在Yonghong Desktop内置的是VooltDB引擎,启动后自动起了VooltDB节点,在Server上,VooltDB是收费的,而Desktop上则可以直接使用。...永洪有完善的社区(社区地址:https://club.yonghongtech.com/),几乎全部的使用问题和系统问题都可以在社区上自主找到答案,另外永洪定期举办免费的线上培训服务,听了几次,干货颇多

    2.1K20

    如何快速学习Tableau Desktop

    这个要慌,问题有点大! 严格来说我只是Tableau众多粉丝中的一员,而且是一个不怎么会Excel的。三年前一次偶然的机会在领导推荐下接触了Tableau,开始一段没资料没指导的摸索式学习。...这里面有两个值得注意的地方:第一点是单元格与单元格行计算,第二点是通过填充功能实现列计算效果。 那么Tableau又是如何新建公式达到业务需求的?...《触手可及的大数据分析工具:Tableau案例集》分别从为何要进行数据可视化、Tableau的发展历程、Tableau的产品介绍、Tableau 9.0的新特性、Tableau的应用优势以及如何利用Tableau...Tableau的高级分析应用 数据可视化提升网络营销洞察力 如何使用 Tableau 超越 Excel 销售分析的力量 可视化分析最佳实践 Tableau 与 R : 数据统计分析的完美集成 附件...: 学习Tableau过程中,最大的技术障碍就是「详细级别表达式」(LOD, level of detail) 详细级别 (LOD) 表达式 白皮书 LOD详细级别表达式终极实操 ---- 最后我们聊聊

    3.3K71

    面试官:大量请求 Redis 不存在的数据,从而打倒数据库,你有什么方案?

    那么如何将这些请求阻挡在外呢?过滤器由此诞生!...布隆过滤器的问题 上面这种方式,应该你已经发现了,布隆过滤器存在一些问题: 第一方面,布隆过滤器可能误判: 假如有这么一个情景,放入数据包1时,将bitmap的1,3,6位设置为了1,放入数据包2时将bitmap...特殊的 hash 函数 布谷鸟过滤器巧妙的地方就在于设计了一个独特的 hash 函数,使得可以根据 p1 和 元素指纹 直接计算出 p2,而不需要完整的 x 元素。...实际上是需要的,但是布谷鸟过滤器强制数组的长度必须是 2 的指数,所以对数组的长度取模等价于取 hash 值的最后 n 位。在进行异或运算时,忽略掉低 n 位 之外的其它位就行。...将计算出来的位置 p 保留低 n 位就是最终的对偶位置。 Spring Boot 定时任务开启后,怎么自动停止? 工作 3 年的同事不知道如何回滚代码!

    31110

    Tableau LOD:从SUM+IF条件计算到SUMIF

    先说最易于理解的方案:SUM+IF,对符合IF条件的数据行聚合相加。以“本年的销售额总和”为例,初学者使用Excel、SQL和Tableau会用如下的计算实现。...03—CALCULATE和LOD的差别 从计算的角度看,CALCULATE表达式确实代表了极高的逻辑水平,它为优化大数据性能提供了一个绝佳方案,是大数据分析的代表作。...它在POWER BI中的位置,犹如LOD之于Tableau。 二者的共同点是,产品经理总结了分析中高频的分析需求,然后将其封装为不同的函数。...因此,LOD解决了不同详细级别的问题合并的问题,CALCULATE解决了不同范围的指标(度量值)的计算优化问题。...不过,从业务的角度看,Tableau 的LOD表达式有助于回答“多维分析”的问题,典型代表是RFM分析,以及我个人钟爱的购物篮关联分析(你很难找到更好的方案);而Power BI的Calculate解决的是筛选的问题

    11900

    探索 eBay 用于交互式分析的全新优化 Spark SQL 引擎

    Tableau、Microstrategy 或 R 等商业智能工具,以及其他任何分析应用,都可以使用 jdbc/odbc 协议与系统连接,并运行 SQL 命令。...使用“临时视图”来创建这样的临时表将导致大量复杂的 SQL 执行计划,这在用户希望分析或优化执行计划时会产生问题。为解决这一问题,对新平台进行了升级,以支持创建 “Volatile”表。...其他 除上述特性外,SQL-on-Hadoop 引擎还升级了 Spark SQL 的新语法,使用户更容易编写 SQL。...它是通过在有分区表和维度表的过滤器的情况下添加一个动态分区裁剪过滤器来实现的。(详细的介绍和实现描述可以在这篇文章中找到)。...随着我们继续通过数据来推动 eBay 技术主导的重新构想,建立我们自己的内部解决方案,使我们处于不断增强和创新的制高点。请继续关注本系列的其他博文,其中重点介绍了我们如何建立自己的分析生态系统。

    84230
    领券