如何从数据中筛选所需数据筛选有效数据?

本部分介绍如何在数据分析表达式(DAX)公式中创建筛选器。 可以在公式中创建筛选器,以限制在计算中使用的源数据中的值。 要执行此操作,请将表指定为公式的输入,然后定义筛选表达式。 所提供的筛选表达式用于查询数据,并仅返回源数据的一个子集。 每次更新公式的结果时,都会动态应用筛选器,具体取决于数据的当前上下文。

在公式中使用的表上创建筛选器

可以在将表格用作输入的公式中应用筛选器。 使用 FILTER 函数定义指定表中的行子集,而不是输入表名称。 然后,对于自定义聚合之类的操作,该子集被传递到另一个函数。

例如,假设您有一个包含有关经销商的订单信息的数据,并且您想要计算每位经销商售出的数量。 但是,你希望显示销售的销售人员的销售额,这些经销商销售了多值更高价值产品的多个单元。 基于 DAX 示例工作簿的以下公式显示了如何使用筛选器创建此计算的一个示例:

公式的第一部分指定 Power Pivot 聚合函数之一,该函数将表用作参数。 SUMX 计算表的总计。

公式的第二部分 FILTER(table, expression),告诉 SUMX 要使用的数据。 SUMX 需要表或生成表的表达式。 在此处,使用 FILTER 函数指定要使用表中的哪些行,而不是使用表中的所有数据。

筛选表达式有两部分:第一部分命名要应用筛选器的表。 第二部分定义要用作筛选条件的表达式。 在这种情况下,您正在对销售超过 $100 的产品和价格超过的产品的经销商进行筛选。 运算符( &&)是一个逻辑 AND 运算符,表示条件的两个部分都必须为 true 才能使行属于筛选的子集。

公式的第三部分告诉 SUMX 函数应将哪些值求和。 在这种情况下,您只使用销售金额。

请注意,筛选器(这些函数返回表)不会直接返回表或行,而是始终嵌入另一个函数。 有关筛选器和用于筛选的其他函数(包括更多示例)的详细信息,请参阅筛选器函数(DAX)。

注意: 筛选表达式受使用它的上下文的影响。 例如,如果在度量值中使用筛选器,并且度量值在数据透视表或数据透视图中使用,则返回的数据子集可能会受到用户在数据透视表中应用的其他筛选器或切片器的影响。 

除了针对特定值进行筛选之外,还可以从另一个表或列中返回一组唯一值。 如果你想要计算列中的唯一值的数目,或者使用其他操作的唯一值的列表,这可能会很有用。 DAX 提供两个用于返回非重复值的函数: Distinct 函数和values 函数。

DISTINCT 函数会检查你指定为函数的参数的单个列,并返回仅包含非重复值的新列。

VALUES 函数还返回唯一值的列表,但也返回未知成员。 当你使用由关系联接的两个表中的值,并且一个表中缺少一个值并在另一个表中出现时,此方法非常有用。 有关未知成员的详细信息,请参阅DAX 公式中的上下文。

这两个函数都返回一整列的值;因此,你可以使用函数获取值的列表,然后将这些值传递到另一个函数。 例如,你可以使用以下公式获取特定经销商销售的独特产品的列表,使用唯一的产品密钥,然后使用 COUNTROWS 函数对该列表中的产品进行计数:

将 DAX 公式添加到数据透视表或数据透视图时,该公式的结果可能会受到上下文影响。 如果你使用的是 Power Pivot 表,则上下文是当前行及其值。 如果正在使用数据透视表或数据透视图,则上下文表示由切片或筛选等操作定义的数据集或数据子集。 数据透视表或数据透视图的设计也会强加自己的上下文。 例如,如果创建按区域和年份对销售额进行分组的数据透视表,则只有适用于这些区域和年份的数据会显示在数据透视表中。 因此,你添加到数据透视表的任何度量值都将在列和行标题的上下文中以及度量公式中的任何筛选器中计算。

使用复杂公式时,你可能希望确切知道当前筛选器的确切内容,或者你可能希望修改公式的筛选部分。 DAX 提供了多个功能,使你能够删除筛选器,并控制将哪些列作为当前筛选器上下文的一部分保留。 本部分概述了这些函数如何影响公式中的结果。

覆盖具有 ALL 函数的所有筛选器

你可以使用 ALL 函数替代之前应用的任何筛选器,并将表中的所有行返回到执行聚合或其他操作的函数。 如果使用一个或多个列(而不是表)作为 ALL的参数,则 ALL 函数将返回所有行,忽略任何上下文筛选器。

注意: 如果你熟悉关系数据库术语,可以将 ALL 视为生成所有表的自然左外部联接。

例如,假设您有 "表"、"销售" 和 "产品",并且您希望创建一个公式,该公式将计算当前产品的销售额总和除以所有产品的销售额。 您必须考虑到这样一种情况:如果在度量值中使用公式,则数据透视表的用户可能会使用切片器筛选特定产品,并在行中使用产品名称。 因此,若要获取分母的 true 值而不考虑任何筛选器或切片器,则必须添加 ALL 函数以覆盖任何筛选器。 下面的公式是如何使用 ALL 替代以前筛选器的效果的一个示例:

= SUM (销售额 [金额])/SUMX (销售 [金额],筛选器(销售额,全部)(产品))

公式的第一部分 "SUM" (销售额 [金额])计算分子。
Sum 考虑当前上下文,这意味着如果将公式添加到计算列中,则应用行上下文,如果将公式作为度量值添加到数据透视表中,则应用数据透视表中应用的任何筛选器(筛选器上下文)。
公式的第二部分计算分母。 ALL 函数将覆盖可能应用于 Products 表的任何筛选器。

ALLEXCEPT 函数还会覆盖现有筛选器,但你可以指定应保留某些现有筛选器。 作为 ALLEXCEPT 函数的参数命名的列指定将继续筛选哪些列。 如果想要替代大多数列中的筛选器,而不是所有列,ALLEXCEPT 比所有列更方便。 在创建可能会在多个不同列上筛选的数据透视表,并且希望控制公式中使用的值时,ALLEXCEPT 函数尤其有用。 有关详细信息,包括如何在数据透视表中使用

【编者按】新冠肺炎疫情是对我国治理能力和治理水平的一次重要检验。针对疫情防治中呈现的一些新现象、新问题,社科理论界积极发声,贡献属于学人的智慧和力量。本着”思想温暖学术,学术关怀现实”的办刊理念,上海市社联《探索与争鸣》编辑部于今年1月28日在全国社科学术界,率先推出“国家治理现代化视野下的抗击新型肺炎”主题征文。此次征文获得学界积极关注和支持,截至3月12日,共收到论文1500多篇。为更全面呈现人文社科学者对抗疫过程的思考,《探索与争鸣》与解放日报·上观新闻“思想汇”合作,从征文中选取部分文章组成“抗疫论”专栏予以刊发,希望引发更多思考。


此次疫情期间,大数据辅助下的快速决策对有效防控疫情发挥了重要作用。然而,大数据虽然具备提前预警、辅助研判的功能,但信息主体多、来源渠道广、审核机制不完善、收集方式和分析标准不统一等问题,也在很大程度上影响着决策结果的合理性。如何打通不同主体间的数据共享渠道,如何以法律手段规制疫情防控中的大数据辅助决策行为,是当下值得进一步思考的问题。

疫情防控中大数据辅助决策的现存问题

此次疫情期间,大数据辅助下的决策相关行为不少,各类主体以大量数据为基础,设定算法、构建模型、预估疫情走势,辅助政府实施规制行为。但与此同时,大数据辅助决策仍存在以下三方面问题:

万众期待的京东11.11全球热爱季落下帷幕,巅峰狂欢中,多少人的购物车在这一天成为了GDP野马,创造的商业价值年年翻新,节节拔高,这背后的数据和流量,让消费者和企业更加直观、明确地捕捉到最新的消费风向,而每年同期公开展示的系列数据大屏正是这其中重要的一环。

(11.11机房数据图谱大屏 图中显示非真实数据)

本次与大家分享的11.11机房数据图谱大屏,作为这系列之一,以最新的视觉体验和可视化形态为观者传递了机房、网络的实时状况。

本篇文章我们将以设计者的身份为大家带来相关见解与分析。

要了解11.11可视化大屏,我们先来认知数据大屏这一概念。

感兴趣的小伙伴可以点击以下链接回顾:

数据大屏的根本是数据可视化,而数据可视化就是借助图形手段把相对复杂、抽象的数据,清晰有效地传达、沟通出去。把枯燥无味的数据通过图形化设计表现达到一种更加精准和高效的数据分析和表达。

数据大屏作为数据可视化的表现形式之一,往往承载了大量变量的数据集,设计者需要使数据容易产生对比,并用它来讲故事,以此来帮助用户做出决策。

上面提到了设计者需要用数据来讲故事,小说的三大要素是人物、情节和环境,套用在数据大屏上,这三大要素便是图表、交互流程和环境场景。

为了确保这三大要素的准确性,设计者要在前期对自己提出人生三大问号:故事受众是什么?为什么要讲这一故事?故事要怎么讲?

本次11.11大屏需要表述各大机房的流量详情及年度数据对比,其中的数据包括公网出口,内网专线,内网实时流量、流量趋势,内网峰值、带宽,公网出口流量、带宽等。

根据以上内容我们确立了数据工厂这一概念,以数据流水线的形式将各类信息进行可视化处理。

在618活动中所展示的机房数据图谱大屏,选用了2.5D插画的视觉风格,考虑到近两年利用3D效果展示智慧城市、工厂的可视化案例越来越多,本次大屏的视觉设计也倾向于基于3D效果,全方位展现云主机运维的各个细节,直观传达实时数据信息。

(1)精细筛选数据信息

在设计可视化大屏产品时,根据故事受众及目的,选择合适数据内容。将用户最关心的数据展现出来,筛选分类后摘取合适的图表,让数据和最有效的图表类型配对。

在此向大家推荐一款开源的数据可视化JavaScript图表库:ECharts,包含了极其丰富的图表资源可供选用,如常规的折线图、柱状图、散点图、饼图、水位图、雷达图、K线图、箱线图、日历热力图、关系图、漏斗图、桑基图、仪表盘等,满足用户进行多维数据分析和展示。

(图片来源于网络:EChart)

(2)数据展示与3D模型相结合

这一展现方式需要数据与设计者所描述的故事相适应,将数据合理适当地放置于3D场景中,利用匹配透视视角、环境光效、动态效果等手法减少违和感。

(上:纯模型图  下:数据结合模型展示)

本次大屏设计主要使用数据与3D模型相结合的形式来展示具体内容,分布在不同机房处的数据利用各自的视角差和色彩状态体现归属关系,各种数据实时更新,流量趋势动态展示,体现数据的即时性与实时性。

三维模型经过程序开发,是可支持用户交互操作的,但考虑到本次11.11大屏的实际需求与研发周期,只采用了一个固定视角对外展示。

11.11大屏三维建模到最终数据工厂效果呈现的过程大致如下:

1、建模:根据拓扑图结构构建机房模型,放置于工厂环境的模型中适当对工厂模型进行减面,拉开重点模型的精细度。

2、渲染:根据大屏的科技感、科幻感定位,大量使用金属、玻璃、发光材质,还可以根据机房的不同状态设置不同的发光效果,如正常绿、故障黄等。

3、数据搭建:海量数据信息依据奥卡姆剃刀原则合理摆放,并适当用图例引导观者理解。

(左:纯模型图  右:数据结合模型展示)

4、动效:根据实时流量状态增加动态流量效果,让动效也能传达实际信息,而不是影响扰乱阅读。

5、音效:完整的可视化大屏体验应该是带有音效的,采用合适的音乐增强代入感,同时适量使用机械音作为点击、消息的音效,增强大屏使用的反馈效果和科幻感。

大屏设计越来越普遍地采用3D效果,这得益于它震撼的视觉效果,但同时,3D模型过于抓人眼球就会失去了制作数据大屏的初衷——展示数据,传达信息。设计者要善用3D、动效这些设计手法,让它们成为数据的传达方式,从中体现数据的真正价值,而非炫技。

前路且长,道阻且跂,可视化大屏设计这条路,让我们一起探索下去。

(可视化大屏中所用数据皆非真实数据 文中部分图片来源于网络,侵删)

欢迎点击【】,了解开发者社区

更多精彩技术实践与独家干货解析

欢迎关注【京东智联云开发者】公众号

我要回帖

更多关于 如何从数据中筛选所需数据 的文章

 

随机推荐