[知识体系] 理解 SAMPLE

  [复制链接]
查看114674 | 回复122 | 2021-2-21 18:53:10 | 显示全部楼层 |阅读模式
如果需要对表中的数据做抽样,可以使用 SAMPLE 函数,其语法如下:如果需要对表中的数据做抽样,可以使用 SAMPLE 函数,其语法如下:
如果需要对表中的数据做抽样,可以使用 SAMPLE 函数,其语法如下:
SAMPLE
  1. SAMPLE(<n_value>, <table>, <orderBy_expression>, [<order>], [<orderBy_expression>] … )
复制代码


SAMPLE 返回包含样本行数<n_value>的表,当 n 为 0 或负数时,返回空。

参数属性描述
Size返回的抽样表的行数
Table用于抽样的表或表表达式
OrderBy可重复每行计值的标量表达式
Order可选

可重复
排序规则. 0/FALSE/DESC – 降序(默认); 1/TRUE/ASC – 升序.

抽样原理
<orderBy_expression>可以指定一个或多个列,这些列将用于在选择样本行之前对数据进行排序。算法根据这些参数对数据进行逻辑排序,然后按<n_value>的数量分块,从每个块返回一行。<orderBy_expression>通常使用列名,但也可以是在<table>的行上下文中计值的任何 DAX 表达式。<order>参数为 0,返回按<column>降序排序的数据,参数为 1 返回按升序排序的数据,如果为空,则默认为 0(降序)。

SAMPLE 返回的稳定分布的样本,包含原始表第一行、最后一行,和在首末记录之间均匀分布的行,顺序由<orderBy_expression>决定。

用法示例

下面的查询每月只返回一行:

  1. EVALUATE SAMPLE ( 12, 'Date', 'Date'[Month] )
复制代码



7079211936381.jpeg



Date 列似乎是随机分布的,其实整个表是按照 Month 列的降序排序,因为省略<order>参数默认使用降序,<column>和<order>可以重复使用。

  1. EVALUATE
  2. SAMPLE (
  3.     100,
  4.     SUMMARIZE ( 'Date', 'Date'[Date], 'Date'[Calendar Year], 'Date'[Month Number] ),
  5.     'Date'[Month Number],,
  6.     'Date'[Calendar Year],
  7. )
复制代码



7079211936382.jpeg



如果你指定的列呈不规则分布,那么在提取的样本中也会看到相同的分布特征。例如,考虑以下查询,该查询从顾客表中按 Country/Region 列的分布提取 6 行。

  1. EVALUATE
  2. SAMPLE (
  3.     6,
  4.     SUMMARIZE ( Customer, Customer[City], Customer[Country/Region] ),
  5.     Customer[Country/Region]
  6. )
复制代码



7079211936383.jpeg



Country/Region 列的许多值都没有显示,而美国却出现了好几次。这是因为列表包含的美国的城市比其他国家/地区多得多,因此样本中美国的城市更多。

某些客户端工具使用 SAMPLE 函数来评估数据的分布,而避免检索整个数据集,并根据相应的评估结果定义坐标轴的单位。


回复

使用道具 举报

赛车手 | 2021-4-24 13:39:15 | 显示全部楼层
秀起来~
回复

使用道具 举报

dglxha | 2021-7-17 17:47:39 | 显示全部楼层
回个帖子,下班咯~
回复

使用道具 举报

limimi | 2021-8-13 07:59:33 | 显示全部楼层
努力蜕变中
回复

使用道具 举报

szxrszxr | 2021-8-25 17:07:59 | 显示全部楼层
我只是路过,不发表意见
回复

使用道具 举报

zhanghaiming | 2021-8-30 21:09:17 来自手机 | 显示全部楼层
忙完了,来看看视频
回复

使用道具 举报

死性不改 | 2021-10-15 22:25:27 来自手机 | 显示全部楼层
围观 围观 沙发在哪里!!!
回复

使用道具 举报

肥鹏 | 2021-10-30 11:34:44 来自手机 | 显示全部楼层
是爷们的娘们的都帮顶!大力支持
回复

使用道具 举报

xhui224 | 2021-11-7 09:49:01 | 显示全部楼层
very good。。。。。
回复

使用道具 举报

se11989009 | 2021-11-12 13:15:59 来自手机 | 显示全部楼层
努力,努力,再努力!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则