文档库 最新最全的文档下载
当前位置:文档库 › Power BI技巧之使用 DAX 改进 Power BI 中的时序折线图

Power BI技巧之使用 DAX 改进 Power BI 中的时序折线图

Power BI技巧之使用 DAX 改进 Power BI 中的时序折线图
Power BI技巧之使用 DAX 改进 Power BI 中的时序折线图

额(Sales Amount)的折线图时将其层级放于轴上,则会获得如下结果:

在下面的截图中,点击下钻按钮,它可以导航到轴属性层级中的下一级。

通过下钻可显示季度级别的数据,该模型通过使用包含季度和年份的字符串来定义数据,从而使季度列在不同年份具有唯一性。然而显示的结果似乎过于冗余,每个数据点上的年份都重复出现了两次。

通过重复下钻操作,我们可导航到日期表层次结构的月份级别。

上图中的结果令人不解,因为X轴上每个数据点标签的年份都重复了三次。然而,没有年份属性的季度或月份列并不能彻底解决问题。图表中的每个点上依然会有重复的年份。

有一个不完全的解决方案是在下图所示的可视化折线图的X轴上的“连接标签”选项,将其禁用。

下图中显示的结果只是稍作改动,便从季度和月份级别上移除了年份从而改善了阅读体验,但很难想象如何在同一图表中显示超过三年的内容。实际上,当存在过多标签时。Power BI为每个点创建了一个只展示部分报告的滚动条(即使下一份图表中的季度和月份级别上仍然出现年份数字)。

最后一个可视化显示了36个点,若增加年份将使其在单个可视化中无法读取。此外,若将图表扩展到以周为单位显示,则需要为每年设置52个点,同样的问题再次产生:过多的点,过多的标签。

到现在为止,因为数据需用字符串显示,所以我们使用的都是分类折线图。折线图还提供了一种名为连续型的可视化类型,它需要轴属性为数字列或日期列。连续折线图的轴显示的标签数量较少,这是因为缺少的标签可根据与现有标签的距离来推断。连续折线图也对日期列起到特殊的管理作用,即显示简化的Year-Month标签。举个例子,在下图中,度量值与之前一样,但这次使用的是连续折线图。标签之间的距离可通过网格线来判断,这个方法也适用于判断可见轴标签之间的距离。

因为该轴现在有来自日期表中的的日期列,则可将折线图属性中的X轴区域的类型属性设置为连续型,只有日期和数字可以与连续折线图一起使用。此外,网格线属性也已启用,它也是同一X轴区域的一部分。

虽然连续折线图改善了标签的处理,但我们只能被迫使用日粒度。这将导致折线图中包含1000个点,然而更重要的是,这很可能不是用户想要展示的粒度。使用月粒度或周粒度可以获得更好的信息。我们将在下一节中展示如何通过使用DAX代码修改数据模型来克服该问题的限制性。

使用月粒度和季度粒度连续折线图

正如上一节所示,连续折线图仅适用于数字列。日期列在内部作为数字进行管理,并且折线图会以智能方式来显示日期。如果X 轴上的点太多,则需要压缩同一可视化中的所有数据点,连续折线图不再需要水平滚动条。当以不同的粒度(如月粒度和季度粒度)来呈现数据时,这一方法同样很实用。

换句话说,为了使用连续折线图,你需要在轴上使用日期列。然而,如果使用像月份和季度这样较低的粒度时,用于切片的列通常是代表月份或季度的字符串。这种情况下,似乎只能放弃连续折线图从而被迫使用分类折线图(及其所有约束),但事实并非如此。

解锁不同时间段的连续类需使用日期列显示所需的粒度,该日期列将整个周期聚合为单个日期。更简便的方法是在周期本身的最后一个日期聚合整个周期。举个例子,我们可在日期表中建立如下两个计算列。

我们在此采用两种不同的技术,Year-Month计算列使用DAX函数EOMONTH计算月末,这适用于任何标准日历表。

并且,此处用于计算Year-Quarter计算列的技术对于自定义日历或月份以外的粒度同样有效:只需在筛选上下文中使

用ALLEXCEPT保留一列或多列所需标识的周期,使用单列表示所需粒度始终可行。然而,如果该季度并非每年都是独一无二的,那我们就不用建立 Year Quarter Number 列,我们需要建立的是

ALLEXCEPT ( 'Date', 'Date'[Year],'Date'[Quarter Number] )

下图显示了连续折线图在轴属性中使用Year-Month列的结果,我们专门为该图表启用了数据标签和X轴 / 标题属性。

将轴属性中的日期列替换为Year-Quarter列后,图表的粒度以季度划分,唯一需要注意的是,在默认情况下,工具提示会显示使用日期(季度末)作为其本身的一个标签。解决方法是用如MMMM yyyy这样的格式表示季末列和月末列。但是,周期末不会明确呈现粒度是按月还是按季度划分,因此展示在X轴中启用标题可视化的粒度极其重要,我们也使用了月粒度去启用之前的折线图计算(下图不适用于下载的示例文件中的MMMM yyyy格式)。

如图所见,使用日期来表示月份和季度是解锁连续可视化类型的有用技能,下一节所述的是如何以周粒度呈现数据。

使用周粒度连续折线图

由于周数不同于月份、季度及年份,我们需要根据同一周的所有日期对一周的粒度进行分组,在日期表中我们创建了两个计算

日期进行分组。

下图显示了在轴上使用Week列的结果:

该可视化模型呈现数据时可提供更多正在进行的操作的相关详细信息。

第一行截至于2月2日的那一周,因此销售额仅包括了两天(2月1日和2日),而不考虑当周(1月27日至31日)其他五天的销售情况。与上周相同,该周包括了6月29日和30日的销售数据,但不包括当周(7月1日至5日)剩余五天的销售额。这也解释了为什么尽管月份切片器仅包括截至2008年6月的日期,但该报告却包括截至2008年7月的一周。

我们还可以创建一个度量值来从计算中删除不完整的周数,类似的技巧还可适用于不完整的月份和季度,如以下代码所示。

现在,折线图可视化可使用新的度量值来删除第一个和最后一个数据点,呈现更多可靠的数据。

在将模型可视化中的Sales Amount度量值与Sales Amount complete weeks度量值进行比较时,后者的操作会更加清晰。

新的度量值会为两个不完整的周返回一个空白值,此外,Sales Amountcomplete weeks度量值中使用的筛选技术同样适用于所

有层级;它仅包括完整的周数而不需要数周的昂贵迭代来获得正确的结果。该结果对于按周计算平均值很有用,否则如果使用常规的Sales Amount度量值时,将会因为不完整周数的存在而导致数据不可靠。

总结

本文介绍了几种在折线图的X轴上用不同粒度的Date表来改进度量可视化的技术,这些技术可以适用于任何非标准日历。更重要的一点是,通过使用DAX对数据模型稍作改动,我们可以解决现有可视化的某些条件限制。

视觉目标检测算法说明

视觉目标检测算法说明 1.功能 通过安装在战车上的摄像头,检测视野范围内的敌方战车。 2.算法: 2.1目标检测与识别 1.颜色检测 采集大量敌方机器人的图片数据,并进行训练,得到对方机器人的颜色区间, 并以此为阈值对整幅图像进行颜色检测,找到疑似敌方机器人的区域,量化 成二值图。 2.滤除噪声点 对得到的二值图像进行开运算处理,滤除颜色检测结果中的噪声点。 3.连通区域检测 对图像中的疑似区域进行连通区域检测,计算出每个疑似区域的外部轮廓, 用矩形近似表示。 4.连通区域合并 根据连通区域之间的距离和颜色相似性,将距离接近且相似性高的连通区域 进行合并。 5.形状和大小过滤 对大量敌方机器人图片进行训练,得到对方机器人的形状信息(例如长宽比) 和大小信息(面积),并以此为依据将不符合的区域过滤掉。 经过以上五步的处理,可以初步得到敌方机器人的位置、大小和形状信息。 2.2目标运动跟踪 对上步中的检测结果进行运动跟踪。 1.状态估计 根据上一时刻地方机器人的运动状态(包括位置和速度),估算当前时刻机 器人的运动状态。 2.轨迹关联 根据位置和颜色信息,对当前时刻机器人的估计状态和检测结果进行关联。 3.状态更新 若上一步中关联成功,更新当前时刻的运动状态。 通过对检测结果进行运动跟踪,可以计算出当前时刻敌方机器人的运动速度和方 向。 2.3预估提前量

1.评估延迟时间 根据己方机器人实际的调试情况,通过多次试验和统计的方法,估算己方机器人从接收命令到炮弹(或子弹)击中目标区域的时间延时(包括图像处理 时间、落弹时间和炮弹飞行时间)。 2.计算提前量 根据延迟时间和敌方机器人的运动速度,计算炮弹发射的提前量,补偿到敌方机器人的运动状态中。 3.总结: 对于机器人战车中的敌方目标检问题,有很多种方法可以实现,视觉检测只是其中的一种方法,而基于颜色识别的目标检测也只是视觉算法中比较简单有效的一种。所以,本段代码只是抛砖引玉的一个样本,适用范围只针对于2014年RoboMasters夏令营的场地和战车,希望可以看到大家更加简单有效的算法。

育龄妇女计划外妊娠原因分析

育龄妇女计划外妊娠原因分析 临床资料 根据1848例病历中病史记载及b超检查,统计育龄妇女避孕失败原因及节育器失败的原因及类型,其中工具避孕失败976例,居首位,占意外妊娠总数的528%;带器妊娠322例(174%),无措施376例(203%),脱环87例(471%),漏服避孕药4 例(022%),其他83例(449%)。 带器妊娠322例中,圆形环35例(1087%),宫形环67例(20 81%),圆宫环43例(1335%),t形环127例(687%),母体乐4例(124%),吉妮6例(186%),安舒29例(9%),环状不清11例(342%)。 节育器脱落87例中,圆形11例(1264%),宫形23例(26 44%),t形17例(1954%),母体乐4例(460%),吉妮2例(230%),安舒6例(690%),圆宫18例(2069%),环状不清6例(690%)。 避孕失败原因分析 本研究资料显示,导致意外妊娠的主要原因依次为避孕套漏用、带器妊娠、无措施、节育器脱落、避孕药漏服,其他可能与以下因素有关:①育龄妇女对避孕药具的正确使用方法掌握不到位:避孕套较高的使用率与避孕知识不足,导致其不正确使用以及使用体外

排精和安全期避孕方法仍可导致避孕失败,或不愿全程使用避孕套,导致避孕失败。②对无措施人员管理不到位,宣传力度不够:因漏管造成意外怀孕,发生无保护性行为后,能主动采取紧急避孕措施施与以补救的比例很低,虽然大多数育龄妇女认为其男伴关注避孕问题,但主动采用比例并不高。③宫腔大、宫口松驰、体力劳动过强及放置宫内节育器后月经过多易造成节育器移位或脱落外,多与手术者的技术操作熟练程度、选用宫内节育器的大小及制作材料有关。如宫内节育器未放置到底或宫内节育器过小,位于宫腔的下方或一侧,均可导致脱落、带器妊娠或移位,导致怀孕。如宫内节育器放置到位,其下移和脱落的动因是与子宫的收缩、宫内节育器的材料、形状、与子宫形态的匹配以及子宫的敏感性和收缩强度等因素有关。没有定期进行环情监测,对环移位及脱落者不能及时发现,环到期没有及时更换,造成意外怀孕。④避孕知识不足,有效避孕措施采用缺失,现有咨询宣教与药具发放服务空白式避孕失败的重要问题。 讨论 加强计划生育服务知识宣教,国际上提倡流产后计划生育服务,借助人工流产服务的机会向育龄妇女提供生殖健康宣教及避孕药具,帮助每位妇女自己决定是否需要及如何选择恰当避孕方法,并使其及其性伴侣能有效的使用这种避孕方法,目前中国流产后计划生育服务仍与国际有较大差距。流产后育龄妇女急需由专业医务人员对其进行系统的避孕方法知识宣教,增强有关知识,纠正以往的

相关文档