# 数据仓库 / 市场和板块函数

## `getBk(marketlist)`

声明：function

得到指定市场板块列表包含的最新成分。普通市场板块返回股票代码；行业或分类目录可能返回
行业名称、板块名称或分类属性代码，不是指数代码。板块或行业名称必须与板块管理中的名称
一致；需要指定历史日期时使用 `getBkByDate`

<!-- tags: 数据仓库 市场 板块 股票 成分 分类属性代码 SWHY CAPCHY CSRCHY YHFL TSJJ02 TSJJ03 最新 获取 -->

| 参数         | 类型   | 说明                                     |
| ------------ | ------ | ---------------------------------------- |
| `marketlist` | string | 市场板块列表，多个市场板块之间用分号分隔 |

返回：array of string

### 示例

范例01：获取多个市场板块的当前成分

```tsl
stocks := getBk('上证A股;创业板');
return stocks;
```

范例02：获取申万行业分类属性代码目录

```tsl
codes := getBk("申万行业");
return select * from infotable 138 of codes end;
```

`getBk("申万行业")` 返回的分类属性代码可作为股票行业分类信息表（表 138）的访问代码。
具体板块名称应先从板块管理或 `getBkList` 返回结果确认

范例03：获取股票和基金的全部分类属性代码

```tsl
codes := getBk('属性代码');
stock_classes := select * from infotable 138 of codes end;
fund_classes := select * from infotable 355 of codes end;
return stock_classes union fund_classes;
```

## `getUserBkList([bktype])`

声明：function

得到所有的或指定板块类别下的用户板块名称。`bktype` 省略时返回全部用户板块；指定时可
使用地域或行业目录，也可以用反斜杠分隔多级目录

<!-- tags: 数据仓库 市场 板块 用户板块 列表 获取 -->

| 参数     | 类型   | 说明                                                     |
| -------- | ------ | -------------------------------------------------------- |
| `bktype` | string | 可选。板块类别或目录路径，例如 `地域`、`行业` 或多级目录 |

返回：array of string

### 示例

范例01：获取全部用户板块名称

```tsl
my_sectors := getUserBkList();
return my_sectors;
```

范例02：获取用户板块的指定子目录

```tsl
my_sectors := getUserBkList("申万行业\\申万金融业");
return my_sectors;
```

## `getBkList(Type)`

声明：function

得到所有的或指定系统板块类别下的板块名称列表。`Type` 是板块类别或具体板块目录名称；
官方定义同时说明省略该参数时返回全部板块

<!-- tags: 数据仓库 市场 板块 系统板块 行业分类 分类目录 列表 获取 -->

| 参数   | 类型   | 说明                                |
| ------ | ------ | ----------------------------------- |
| `Type` | string | 板块类别或目录名称，例如 `申万行业` |

返回：array of string

### 示例

范例01：获取申万行业列表

```tsl
bk_list := getBkList('申万行业');
return bk_list;
```

范例02：获取申万行业的子目录列表

```tsl
bk_list2 := getBkList('申万行业\\申万采掘');
return bk_list2;
```

## `getUserBkList2([bktype])`

声明：function

得到所有的或指定板块类别下用户板块的名称及其所在路径。与 `getUserBkList` 不同，
该函数会包含指定目录及其子目录下的用户板块

<!-- tags: 数据仓库 市场 板块 用户板块 路径 列表 获取 -->

| 参数     | 类型   | 说明                                           |
| -------- | ------ | ---------------------------------------------- |
| `bktype` | string | 可选。板块类别或目录路径，多级目录用反斜杠分隔 |

返回：table_array

### 示例

范例01：获取申万行业目录下的用户板块及所属组别

```tsl
my_sectors := getUserBkList2("申万行业");
return my_sectors;
```

## `getBkList2([bktype])`

声明：function

得到所有的或指定系统板块类别下的板块名称及其所在路径。与 `getBkList` 不同，该函数会
包含指定目录及其子目录下的系统板块

<!-- tags: 数据仓库 市场 板块 系统板块 路径 列表 获取 -->

| 参数     | 类型   | 说明                                  |
| -------- | ------ | ------------------------------------- |
| `bktype` | string | 可选。板块类别或目录名称，例如 `行业` |

返回：table_array

### 示例

范例01：获取全部系统板块及其路径

```tsl
return getBkList2();
```

范例02：获取系统申万行业板块及其路径

```tsl
return getBkList2('申万行业');
```
