├── .gitignore
├── 01.BigQuery-BigData.pdf
├── 02.BigQuery-GCP.pdf
├── 03.BigQuery-RegionZone.pdf
├── 04.BigQuery-GoogleCloudSDK.pdf
├── 05-1.BigQuery-GCloudSDKPC_실습.pdf
├── 06.BigQuery-IAM.pdf
├── 07.BigQuery-IAM_실습.pdf
├── 08.BigQuery-GCS.pdf
├── 09.BigQuery-GCS_실습.pdf
├── 10.BigQuery-GSUtil_실습.pdf
├── 11.BigQuery-UI.pdf
├── 12.BigQuery-UI_실습.pdf
├── 13.BigQuery-SQLDDL.pdf
├── 14.BigQuery-SQL_CREATETABLE_실습.pdf
├── 15.BigQuery-SQL_DMLSELECT.pdf
├── 16.BigQuery-SQL_AGG.pdf
├── 17.BigQuery-SQL_ARRAY.pdf
├── 18.BigQuery-SQL_ARRAY_실습.pdf
├── 19.BigQuery-SQL_TABLEJOIN.pdf
├── 20.BigQuery-SQL_TABLEJOIN_HOL.pdf
├── 21.BigQuery-SQL_Architecture.pdf
├── 22.BigQuery-SQL_PartitioningAndClustering.pdf
├── 23.BigQuery-SQL_View.pdf
├── 24.BigQuery-SQL_MaterializedView.pdf
├── 25.BigQuery-SQL_WindowsFunction.pdf
├── 26.BigQuery-DataStudio.pdf
├── 27.BigQuery-ETL-HOL01.pdf
├── 27.BigQuery-ETL.pdf
├── 28.BigQuery-GA.pdf
├── 29.BigQuery-Notebook.pdf
├── 30.BigQuery-BQML.pdf
├── LICENSE
├── README.md
└── src
├── 10
└── gsutil-command.txt
├── 12
└── User_Shipped_InsertData.sql
├── 14
├── 14-1_CreateTable.sql
└── 14-2_CreateTempTable.sql
├── 15
└── 15_SQL_SELECT.sql
├── 16
└── 16_SQL_Aggregation.sql
├── 17
└── 17_ArrayAndStruct.sql
├── 18
└── 18_UsingArrayAndStruct.sql
├── 20
└── 20_TableJoins.sql
├── 21
└── 21_Dremel_Example.sql
├── 22
├── 22-1_PartitioningTables.sql
├── 22-2_ClusteringTables.sql
└── 22-3_Partitioning_Clustering.sql
├── 23
└── 23_Views.sql
├── 24
└── 24_MaterializedView.sql
├── 25
└── 25_WindowFunction.sql
├── 27
├── 27-2_ExternalQuery.sql
├── 27_ETL.sql
├── gsod2014.csv
└── gsod2022.csv
├── 28
└── 28_GoogleAnalytics.sql
├── 30
└── 30_BigQueryML.sql
└── 09
├── User_Shipped_InsertData.csv
└── inference.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95 | __pypackages__/
96 |
97 | # Celery stuff
98 | celerybeat-schedule
99 | celerybeat.pid
100 |
101 | # SageMath parsed files
102 | *.sage.py
103 |
104 | # Environments
105 | .env
106 | .venv
107 | env/
108 | venv/
109 | ENV/
110 | env.bak/
111 | venv.bak/
112 |
113 | # Spyder project settings
114 | .spyderproject
115 | .spyproject
116 |
117 | # Rope project settings
118 | .ropeproject
119 |
120 | # mkdocs documentation
121 | /site
122 |
123 | # mypy
124 | .mypy_cache/
125 | .dmypy.json
126 | dmypy.json
127 |
128 | # Pyre type checker
129 | .pyre/
130 |
--------------------------------------------------------------------------------
/01.BigQuery-BigData.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/01.BigQuery-BigData.pdf
--------------------------------------------------------------------------------
/02.BigQuery-GCP.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/02.BigQuery-GCP.pdf
--------------------------------------------------------------------------------
/03.BigQuery-RegionZone.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/03.BigQuery-RegionZone.pdf
--------------------------------------------------------------------------------
/04.BigQuery-GoogleCloudSDK.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/04.BigQuery-GoogleCloudSDK.pdf
--------------------------------------------------------------------------------
/05-1.BigQuery-GCloudSDKPC_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/05-1.BigQuery-GCloudSDKPC_실습.pdf
--------------------------------------------------------------------------------
/06.BigQuery-IAM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/06.BigQuery-IAM.pdf
--------------------------------------------------------------------------------
/07.BigQuery-IAM_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/07.BigQuery-IAM_실습.pdf
--------------------------------------------------------------------------------
/08.BigQuery-GCS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/08.BigQuery-GCS.pdf
--------------------------------------------------------------------------------
/09.BigQuery-GCS_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/09.BigQuery-GCS_실습.pdf
--------------------------------------------------------------------------------
/10.BigQuery-GSUtil_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/10.BigQuery-GSUtil_실습.pdf
--------------------------------------------------------------------------------
/11.BigQuery-UI.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/11.BigQuery-UI.pdf
--------------------------------------------------------------------------------
/12.BigQuery-UI_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/12.BigQuery-UI_실습.pdf
--------------------------------------------------------------------------------
/13.BigQuery-SQLDDL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/13.BigQuery-SQLDDL.pdf
--------------------------------------------------------------------------------
/14.BigQuery-SQL_CREATETABLE_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/14.BigQuery-SQL_CREATETABLE_실습.pdf
--------------------------------------------------------------------------------
/15.BigQuery-SQL_DMLSELECT.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/15.BigQuery-SQL_DMLSELECT.pdf
--------------------------------------------------------------------------------
/16.BigQuery-SQL_AGG.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/16.BigQuery-SQL_AGG.pdf
--------------------------------------------------------------------------------
/17.BigQuery-SQL_ARRAY.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/17.BigQuery-SQL_ARRAY.pdf
--------------------------------------------------------------------------------
/18.BigQuery-SQL_ARRAY_실습.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/18.BigQuery-SQL_ARRAY_실습.pdf
--------------------------------------------------------------------------------
/19.BigQuery-SQL_TABLEJOIN.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/19.BigQuery-SQL_TABLEJOIN.pdf
--------------------------------------------------------------------------------
/20.BigQuery-SQL_TABLEJOIN_HOL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/20.BigQuery-SQL_TABLEJOIN_HOL.pdf
--------------------------------------------------------------------------------
/21.BigQuery-SQL_Architecture.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/21.BigQuery-SQL_Architecture.pdf
--------------------------------------------------------------------------------
/22.BigQuery-SQL_PartitioningAndClustering.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/22.BigQuery-SQL_PartitioningAndClustering.pdf
--------------------------------------------------------------------------------
/23.BigQuery-SQL_View.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/23.BigQuery-SQL_View.pdf
--------------------------------------------------------------------------------
/24.BigQuery-SQL_MaterializedView.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/24.BigQuery-SQL_MaterializedView.pdf
--------------------------------------------------------------------------------
/25.BigQuery-SQL_WindowsFunction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/25.BigQuery-SQL_WindowsFunction.pdf
--------------------------------------------------------------------------------
/26.BigQuery-DataStudio.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/26.BigQuery-DataStudio.pdf
--------------------------------------------------------------------------------
/27.BigQuery-ETL-HOL01.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/27.BigQuery-ETL-HOL01.pdf
--------------------------------------------------------------------------------
/27.BigQuery-ETL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/27.BigQuery-ETL.pdf
--------------------------------------------------------------------------------
/28.BigQuery-GA.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/28.BigQuery-GA.pdf
--------------------------------------------------------------------------------
/29.BigQuery-Notebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/29.BigQuery-Notebook.pdf
--------------------------------------------------------------------------------
/30.BigQuery-BQML.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synabreu/BigQuery-Study/beeea1acc3f3ad317e39c5efd9c09bb761febafc/30.BigQuery-BQML.pdf
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Jinho Seo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # BigQuery-Study
2 | 빅쿼리를 활용한 빅데이터 분석 강의
3 |
4 | 이 강의 자료는 30강 구글 빅쿼리를 활요한 빅데이터 분석 강의한 발표 자료를 공개하오니 무료로 다운로드 받을 수 있습니다. 다만 유료 강의나 세미나에 사용 또는 인용할 시 저에게 알려주시기 바랍니다. 강의자료는 다음과 같은 내용으로 구성되어 있습니다.
5 |
6 | 2022년 7월 기준으로 작성되었으므로 현재 구글 클라우드 빅쿼리와 호환가능한 부분도 있고 새로 추가 되었습니다. 전체 내용은 빅데이터에 대한 기술적인 배경과 지식 등을 먼저 이해하고, 빅데이터 분석에 필요한 구글 클라우드 플랫폼 및 서비스를 직접 사용하는 것을 목표로 하고 있습니다.
7 | 또한 빅쿼리(BigQuery)를 통해 기본적인 SQL 사용법부터 최신 데이터웨어 하우스에서 빅데이터를 분석하고, 빅쿼리를 이용해 최신 인공지능 알고리듬을 분석하고 작성하는 방법하는 것 까지 예제 소스를 함께 공유합니다.
8 |
9 | 아래와 같은 분들은 이 강의 자료를 보시면 좋습니다.
10 |
11 |
• 데이터 분석가, 비즈니스 분석가, 비즈니스 인텔리전스 프로페셔널이 되려는 분
12 | • 데이터 분석가와 협력하여 구글 클라우드 플랫폼 에서 확장 가능한 데이터 솔루션을 구축할 데이터 엔지니어가 되려는 분
13 |
14 | 제 1 강 구글 클라우드 빅데이터 플랫폼 및 서비스 소개
15 | 제 2 강 구글 클라우드 - 프로젝트, 프로젝트 권한, IAM 역할, 서비스 권한 및 계정 연동
16 | 제 3 강 구글 클라우드 인프라스트럭처 - IaaS, PaaS 및 구글 클라우드 리전과 영역(zone), 오픈소스와 API 커뮤니티
17 | 제 4 강 구글 클라우드 플랫폼 콘솔, CLI 및 SDK, API Explorer 소개
18 | 제 5 강 구글 클라우드 실습 - Google Cloud SDK 설치
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/09/User_Shipped_InsertData.csv:
--------------------------------------------------------------------------------
1 | User,Price,Shipped
2 | ROCKY,50,false
3 | ETHAN,25,false
4 | HANNAH,15,false
5 | AMANDA,20,true
6 | JINHO,45,true
7 | JAEKYUNG,100,true
8 | ANDRES,10,true
9 | SEAN,35,true
10 | CASEY,55,true
11 | EMMA,65,true
--------------------------------------------------------------------------------
/src/09/inference.py:
--------------------------------------------------------------------------------
1 | import json
2 | import subprocess
3 | import sys
4 |
5 | subprocess.check_call([sys.executable, "-m", "pip", "install", "tensorflow==2.3.1"])
6 | subprocess.check_call([sys.executable, "-m", "pip", "install", "transformers==3.5.1"])
7 | # Workaround for https://github.com/huggingface/tokenizers/issues/120 and
8 | # https://github.com/kaushaltrivedi/fast-bert/issues/174
9 | # subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'tokenizers'])
10 |
11 | import tensorflow as tf
12 | from transformers import DistilBertTokenizer
13 |
14 | classes = [1, 2, 3, 4, 5]
15 |
16 | max_seq_length = 64
17 |
18 | tokenizer = DistilBertTokenizer.from_pretrained("distilbert-base-uncased")
19 |
20 |
21 | def input_handler(data, context):
22 | data_str = data.read().decode("utf-8")
23 | print("data_str: {}".format(data_str))
24 | print("type data_str: {}".format(type(data_str)))
25 |
26 | jsonlines = data_str.split("\n")
27 | print("jsonlines: {}".format(jsonlines))
28 | print("type jsonlines: {}".format(type(jsonlines)))
29 |
30 | transformed_instances = []
31 |
32 | for jsonline in jsonlines:
33 | print("jsonline: {}".format(jsonline))
34 | print("type jsonline: {}".format(type(jsonline)))
35 |
36 | # features[0] is review_body
37 | # features[1..n] are others (ie. 1: product_category, etc)
38 | review_body = json.loads(jsonline)["features"][0]
39 | print("""review_body: {}""".format(review_body))
40 |
41 | encode_plus_tokens = tokenizer.encode_plus(
42 | review_body, pad_to_max_length=True, max_length=max_seq_length, truncation=True
43 | )
44 |
45 | # Convert the text-based tokens to ids from the pre-trained BERT vocabulary
46 | input_ids = encode_plus_tokens["input_ids"]
47 |
48 | # Specifies which tokens BERT should pay attention to (0 or 1)
49 | input_mask = encode_plus_tokens["attention_mask"]
50 |
51 | transformed_instance = {"input_ids": input_ids, "input_mask": input_mask}
52 |
53 | transformed_instances.append(transformed_instance)
54 |
55 | transformed_data = {"signature_name": "serving_default", "instances": transformed_instances}
56 |
57 | transformed_data_json = json.dumps(transformed_data)
58 | print("transformed_data_json: {}".format(transformed_data_json))
59 |
60 | return transformed_data_json
61 |
62 |
63 | def output_handler(response, context):
64 | print("response: {}".format(response))
65 | response_json = response.json()
66 | print("response_json: {}".format(response_json))
67 |
68 | outputs_list = response_json["predictions"]
69 | print("outputs_list: {}".format(outputs_list))
70 |
71 | predicted_classes = []
72 |
73 | for outputs in outputs_list:
74 | print("outputs in loop: {}".format(outputs))
75 | print("type(outputs) in loop: {}".format(type(outputs)))
76 |
77 | predicted_class_idx = tf.argmax(outputs, axis=-1, output_type=tf.int32)
78 | predicted_class = classes[predicted_class_idx]
79 | print("predicted_class: {}".format(predicted_class))
80 |
81 | prediction_dict = {}
82 | prediction_dict["predicted_label"] = predicted_class
83 |
84 | jsonline = json.dumps(prediction_dict)
85 | print("jsonline: {}".format(jsonline))
86 |
87 | predicted_classes.append(jsonline)
88 | print("predicted_classes in the loop: {}".format(predicted_classes))
89 |
90 | predicted_classes_jsonlines = "\n".join(predicted_classes)
91 | print("predicted_classes_jsonlines: {}".format(predicted_classes_jsonlines))
92 |
93 | response_content_type = context.accept_header
94 |
95 | return predicted_classes_jsonlines, response_content_type
--------------------------------------------------------------------------------
/src/10/gsutil-command.txt:
--------------------------------------------------------------------------------
1 | gcloud components install gsutil
2 |
3 | gcloud auth login
4 |
5 | gcloud config set project my-pc-project-357506
6 |
7 | gsutil list
8 |
9 | gsutil cp supercloud-16*16.ico gs://mybigquery-bucket/
10 |
11 | gsutil ls gs://mybigquery-bucket/
12 |
13 | gsutil du –s gs://mybigquery-bucket/
14 |
15 | gsutil mb gs://mybigquery-second-bucket
16 |
17 | gsutil rb gs://mybigquery-second-bucket
18 |
19 | cd c:\Users\digit\Desktop\BigQuery 강의\
20 |
21 | gsutil cp 01.BigQuery-BigData.pptx gs://mybigquery-bucket/
22 |
23 | gsutil ls gs://mybiquery-bucket
24 |
25 | gsutil cp gs://mybiquery-bucket/supercloud-16*16.ico .
26 |
27 | gsutil rm gs://mybiquery-bucket/01.BigQuery-BigData.pptx
28 |
29 | gsutil ls gs://mybiquery-bucket/
30 |
31 | gsutil –m ls gs://mybiquery-bucket/
32 |
--------------------------------------------------------------------------------
/src/12/User_Shipped_InsertData.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM `SalesDataSet.INFORMATION_SCHEMA.TABLES`
2 |
3 | SELECT * FROM `my-pc-project-357506.SalesDataSet.User_Shipped` LIMIT 1000;
4 |
5 | # User_Shipped 테이블에 다중 데이터 추가
6 | BEGIN
7 | BEGIN TRANSACTION;
8 |
9 | INSERT INTO SalesDataSet.User_Shipped
10 | VALUES ('SEAN', 35, True),
11 | ('JINHO', 45, True),
12 | ('JAEKYUNG', 100, True),
13 | ('ROCKY', 50, False),
14 | ('AMANDA', 20, True),
15 | ('EMMA', 65, True),
16 | ('ANDRES', 10, True),
17 | ('CASEY', 55, True),
18 | ('HANNAH', 15, False),
19 | ('ETHAN', 25, False);
20 |
21 | COMMIT TRANSACTION;
22 |
23 | EXCEPTION WHEN ERROR THEN
24 | -- 내부적으로 예외 처리가 발생하면 롤백하고 에러메시지 나타냄
25 | SELECT @@error.message;
26 | ROLLBACK TRANSACTION;
27 |
28 | END;
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/14/14-1_CreateTable.sql:
--------------------------------------------------------------------------------
1 | # 참고 URL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#console
2 |
3 |
4 | -- ### TABLE 생성 ###
5 | -- 1. 테이블이 없는 경우에만 TABLE 만들기
6 | # 설명: mydataset에 이름이 newtable인 테이블이 없는 경우에만 mydataset에 newtable이라는 테이블을 # 만듭니다. 데이터 세트에 테이블 이름이 있는 경우 오류가 반환되지 않고 아무런 작업도 수행되지 않습니다.
7 | # 주의점: 콘솔에서 테이블 스키마를 검사할 때 STRUCT는 RECORD 열로 표시되고 ARRAY는 REPEATED 열로 # 표시됩니다. STRUCT 및 ARRAY 데이터 유형은 BigQuery에서 중첩 및 반복되는 데이터를 만들 때 사용됩니다.
8 |
9 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.newtable`
10 | (x INT64,
11 | y STRUCT, b BOOL>)
12 | OPTIONS(
13 | expiration_timestamp=TIMESTAMP "2022-08-15 00:00:00 UTC",
14 | description="a table that expires in 2022",
15 | labels=[("org_unit","development")]
16 | );
17 |
18 | -- 2. 테이블 만들기 또는 대체
19 | # myDataSet에 newtable이라는 테이블을 만들고 newtable이 myDataSet에 있으면 빈 테이블로 덮어씁니다.
20 | CREATE OR REPLACE TABLE myDataSet.newtable2
21 | ( x INT64,
22 | y STRUCT,b BOOL>)
23 | OPTIONS(
24 | expiration_timestamp=TIMESTAMP "2022-08-15 00:00:00 UTC",
25 | description="a table that expires in 2022",
26 | labels=[("org_unit","development")]
27 | );
28 |
29 | # Table 삭제
30 | DROP TABLE myDataSet.newtable2;
31 | DROP TABLE myDataSet.newtable;
32 |
33 | -- 3. 기존 테이블(쿼리)에서 새 테이블 만들기
34 | # 설명: bigquery-public-data.samples.shakespeare 에서 corpus 를 가져와 myDataSet에 top_words라는 테이블 생성
35 |
36 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.top_words`
37 | OPTIONS( description="Top ten words per Shakespeare corpus" )
38 | AS
39 | SELECT
40 | corpus,
41 | ARRAY_AGG(STRUCT(word,word_count)
42 | ORDER BY word_count DESC
43 | LIMIT 10)
44 | AS top_words
45 | FROM `bigquery-public-data.samples.shakespeare`
46 | GROUP BY corpus;
47 |
48 | # DROP TABLE
49 | DROP TABLE myDataSet.top_words;
50 |
51 | -- 4. REQUIRED 열이 있는 테이블 생성
52 | # mydataset에 newtable라는 테이블을 만듭니다.
53 | # CREATE TABLE 문의 열 정의 목록에 있는 NOT NULL 한정자는 열 또는 필드가 REQUIRED 모드로 생성되도록 지정합니다.
54 |
55 | CREATE TABLE
56 | myDataSet.newtable
57 | ( x INT64 NOT NULL,
58 | # NOT NULL Required 한정자, 표시하지 않으면 Nuallable (널허용)
59 | y STRUCT< a ARRAY,
60 | b BOOL NOT NULL,
61 | c FLOAT64 > NOT NULL,
62 | # 주의: 콘솔에서 테이블 스키마를 검사할 때 STRUCT는 RECORD 열로 표시되고 ARRAY는 REPEATED 열로 표시됩니다.
63 | z STRING );
64 |
65 | DROP TABLE myDataSet.newtable;
66 |
67 | -- 5. 매개변수화된 데이터 유형이 있는 테이블 만들기
68 | # 예제 설명: mydataset에 newtable라는 테이블을 만듭니다. 괄호 안의 매개변수는 열에 매개변수화된 데이터 유형이 포함되도록 지정합니다.
69 | # 매개변수화된 데이터 유형: STRING, BYTES, NUMERIC, BIGNUMERIC 와 같은 매개변수로 선언된 데이터 유형.
70 | DECLARE myParam STRING(10); # 매개 변수 유형으로 하나의 변수로 선언
71 | -- SET myParam = "hello"; # x 변수에 "hello" 문자열 할당
72 |
73 | SET myParam = "this string is too long"; # x 변수에 할당은 "this string is too long" 문자열 할당 시 문자열 길이 위반으로 OUT_OF_RANGE 오류 발생
74 |
75 |
76 | # 매개변수(Parameter)된 데이터 유형의 테이블 생성
77 | CREATE TABLE
78 | myDataSet.newtable (
79 | x STRING(10),
80 | y STRUCT< a ARRAY,
81 | b NUMERIC(15,
82 | 2),
83 | c FLOAT64 >,
84 | z BIGNUMERIC(35) );
85 |
86 | ### DROP TABLE myDataSet.newtable;
87 |
88 |
89 | -- 6. CREATE SNAPSHOT TABLE 문
90 |
91 | # 예제 설명: myproject.myDataSet.mytable 테이블의 테이블 스냅샷을 만듭니다.
92 | # 테이블 스냅샷이 myDataSet 데이터 세트에 생성되고 이름이 mytablesnapshot으로 지정됩니다.
93 | # 세부 설명: CREATE 문 하나만 허용됩니다.
94 | # 소스 테이블은 테이블, 테이블 클론, 테이블 스냅샷 들 중 하나어야 함.
95 | # FOR SYSTEM_TIME AS OF 절은 테이블이나 테이블 클론의 스냅샷을 만들 때만 사용될 수 있으며 테이블 스냅샷을 복사할 때에는 사용될 수 없습니다.
96 |
97 | CREATE SNAPSHOT TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.mytablesnapshot`
98 | CLONE `my-pc-project-357506.myDataSet.newtable`
99 | OPTIONS(
100 | expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR),
101 | friendly_name="my_table_snapshot",
102 | description="A table snapshot that expires in 2 days",
103 | labels=[("org_unit","development")]
104 | );
105 |
106 | DROP SNAPSHOT TABLE myDataSet.mytablesnapshot;
107 |
108 | -- 7. CREATE TABLE CLONE 문
109 |
110 | # 상세정보: 소스 테이블을 기준으로 테이블 클론을 만들고 소스 테이블은 테이블, 테이블 클론 또는 테이블 스냅샷일 수 있다.
111 | # 주의사항: 열 목록 대신 CLONE 절을 사용하는 것을 제외하면 이 구문은 CREATE TABLE 구문과 동일합니다.
112 | # 예제설명: 테이블 스냅샷 myproject.mydataset.mytablesnapshot에서 myproject.mydataset.mytable 테이블을 만듬. 따라서 대상 테이블이 이미 있으면 실패함.
113 |
114 |
115 | CREATE TABLE `my-pc-project-357506.myDataSet.mytable`
116 | CLONE `my-pc-project-357506.myDataSet.newtable`
117 | OPTIONS(
118 | expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 365 DAY),
119 | friendly_name="my_table",
120 | description="A table that expires in 1 year",
121 | labels=[("org_unit",
122 | "development")]
123 | );
124 |
125 | DROP TABLE myDataSet.newtable;
126 | DROP TABLE myDataSet.mytable;
127 |
--------------------------------------------------------------------------------
/src/14/14-2_CreateTempTable.sql:
--------------------------------------------------------------------------------
1 | -- 1. 임시 테이블 만들기
2 |
3 | # 예제 설명: Example이라는 임시 테이블을 만들고 값을 입력함.
4 | # CREATE TEMP TABLE `my-pc-project-357506.myDataSet.TempTable`
5 | # 더보기 -> 쿼리 설정 -> 세션 모드 사용
6 |
7 | CREATE TEMP TABLE Example
8 | (
9 | a INT64,
10 | b STRING
11 | );
12 |
13 |
14 | INSERT INTO Example VALUES (5, 'foo');
15 | INSERT INTO Example VALUES (6, 'bar');
16 |
17 | SELECT * FROM Example;
18 |
19 | # Temp 파일
20 | DROP TABLE Example;
21 |
--------------------------------------------------------------------------------
/src/15/15_SQL_SELECT.sql:
--------------------------------------------------------------------------------
1 |
2 | -- 1. SELECT문 사용하기
3 | -- 설명: SELECT 문을 사용하면 테이블에서 지정된 열의 값을 검색할 수 있음.
4 | SELECT *
5 | FROM `bigquery-public-data.new_york_citibike.citibike_trips` LIMIT 5;
6 |
7 |
8 | -- 예시: 뉴욕 자전거 데이터에서 대여기간(tripduration), 성별(gender) 포함을 포함한 자전거 대여를 조회하라.
9 | -- 내부: 빅쿼리는 행을 읽는 작업을 여러 워커에 분배하고, 각 워커는 데이터셋의 서로 다른 샤드에서 데이터를 읽어서 분산 처리한다.
10 | -- LIMIT 제약 조건은 쿼리 엔진이 처리할 데이터 양이 아니라 표시되는 데이터 양만 제한함.
11 | -- 일반적으로 쿼리에서 처리되는 데이터의 양에 따라 요금이 청구되므로 읽는 컬럼이 많을수록 청구되는 요금이 많다.
12 | -- 처리되는 행의 수는 일반적으로 쿼리가 읽는 테이블의 전체 크기임을 유의하라.
13 | SELECT gender, tripduration
14 | FROM `bigquery-public-data.new_york_citibike.citibike_trips` LIMIT 5;
15 |
16 | -- 2. AS로 컬럼명에 별칭 지정하기
17 |
18 | SELECT gender, tripduration As rental_duration
19 | FROM `bigquery-public-data.new_york_citibike.citibike_trips` LIMIT 5;
20 |
21 | -- 대여 기간을 분 단위로 표시하기
22 | SELECT gender, tripduration/60
23 | FROM `bigquery-public-data.new_york_citibike.citibike_trips` LIMIT 5;
24 |
25 | SELECT gender, tripduration/60 AS duration_minutes
26 | FROM `bigquery-public-data.new_york_citibike.citibike_trips` LIMIT 5;
27 |
28 | -- 3. WHERE로 조건 필터링하기
29 | -- 예시 : 대여시간이 10분 미만인 대여 건을 찾아라.
30 |
31 | SELECT gender, tripduration
32 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
33 | WHERE tripduration < 600
34 | LIMIT 10;
35 |
36 | -- 예시(AND): 자전거를 대여한 사람이 여성이고, 대여 시간이 5분에서 10분 사이에 대여 건만 찾아라.
37 | SELECT gender, tripduration
38 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
39 | WHERE tripduration >= 300 AND tripduration < 600 AND gender='female'
40 | LIMIT 10;
41 |
42 | -- 예시(NOT): 대여 시간이 10분 미만인 사람 중 여성이 아닌 사용자를 찾아라.
43 | SELECT gender, tripduration
44 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
45 | WHERE tripduration < 600 AND NOT gender = 'female'
46 | LIMIT 100;
47 |
48 | -- 예시(OR): 모든 남성 사용자와 대여 시간이 10분 미만인 여성 사용자를 찾아라.
49 | SELECT gender, tripduration
50 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
51 | WHERE (tripduration < 600 AND gender = 'female') OR gender = 'male'
52 | LIMIT 10;
53 |
54 | -- 예시: 10분 미만에 대여를 찾아라. WHERE 절에 별칭을 참조할 수 없다. 에러 발생함.
55 | SELECT gender, tripduration/60 AS minutes
56 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
57 | -- WHERE minutes < 10
58 | WHERE (tripduration / 60) < 10
59 | LIMIT 10;
60 |
61 | -- 4. SELECT *, EXCEPT, REPLACE 사용법
62 |
63 | -- 예시(*): 이 테이블의 전체 컬럼을 모두 나타내라.
64 | SELECT name, *
65 | FROM `bigquery-public-data.new_york_citibike.citibike_stations`
66 | WHERE name LIKE '%Central Park%'
67 | LIMIT 10;
68 |
69 |
70 | -- 예시(EXCEPT): EXCEPT로 지정한 컬럼 외에 모두 나타내라.
71 | SELECT * EXCEPT(short_name, last_reported)
72 | FROM `bigquery-public-data.new_york_citibike.citibike_stations`
73 | WHERE name LIKE '%Central Park%'
74 | LIMIT 10;
75 |
76 | -- 예시(REPLACE): 모든 컬럼을 조회하면서 그중 한 컬럼의 값을 변환하고 싶을때 SELECT REPLACE를 사용한다.
77 | -- 즉, 대여 가능한 자전거 수에 5를 더하고 싶다.
78 | SELECT * REPLACE(num_bikes_available + 5 AS num_bikes_available)
79 | FROM `bigquery-public-data.new_york_citibike.citibike_stations`
80 | LIMIT 10;
81 |
82 | -- 4. WITH를 사용한 서브 쿼리
83 | -- 장점: 서브 퀴리를 사용하면 반복을 줄이고 별칭을 계속 사용할 수 있다.
84 |
85 | -- 중복 쿼리를 사용해서 괄호 안에 쿼리를 식별하기 어렵다.
86 | SELECT * FROM (
87 | SELECT gender, tripduration / 60 AS minutes
88 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
89 | )
90 | WHERE minutes < 10
91 | LIMIT 5;
92 |
93 | -- 식별하기 어려운 쿼리를 WITH 절로 사용한다.
94 | -- all_trips 는 임시(Temp) 테이블이 아니라 'from_item'로 테이블처럼 값을 선택할 수 있는 모든 데이터베이스 객체를 부름.
95 | WITH all_trips AS (
96 | SELECT gender, tripduration / 60 AS minutes
97 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
98 | )
99 | SELECT * FROM all_trips
100 | WHERE minutes < 10
101 | LIMIT 5;
102 |
103 | # object func(minutes) {
104 | # ......
105 | # return all_trips
106 | # }
107 | # value: all_trips.gender, all_trips.minutes
108 |
109 | -- 5. ORDER BY로 정렬하기
110 | -- DESC (Descending) : 역순/숫자가 큰 것 부터, ASC (Ascending): 정순/숫자가 작은 것 부터, ASC 생략 가능
111 |
112 | SELECT gender, tripduration/60 AS minutes
113 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
114 | WHERE gender = 'female'
115 | -- ORDER BY minutes DESC
116 | -- ORDER BY minutes ASC
117 | ORDER BY minutes
118 | LIMIT 5;
119 |
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/src/16/16_SQL_Aggregation.sql:
--------------------------------------------------------------------------------
1 | -- ### 집계(Aggregation) ###
2 |
3 | -- 앞선 예시들은 테이블의 모든 행으로부터 tripduration 컬럼의 값을 60으로 나눠 초를 분으로 변환.
4 | -- 그러나 집계 함수를 사용하면 모든 행의 값을 집계해 결과 집합의 하나의 행만 나타나도록 함.
5 |
6 |
7 | -- 1. GROUP BY로 집계하기
8 | -- 예시: 남성 사용자의 평균 대여 시간을 계산하여 조회하라.
9 |
10 | SELECT AVG(tripduration / 60) AS avg_trip_duration
11 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
12 | WHERE gender = 'male'
13 | LIMIT 5;
14 |
15 | -- 결과: 뉴욕에서 남성 사용자가 평균적으로 자전거를 대여하는 시간이 약 13.4분임을 알수 있음.
16 |
17 | -- 예시: 다른 사용자의 평균 대여 시간을 계산하여 조회하라.
18 | SELECT gender, AVG(tripduration / 60) AS avg_trip_duration
19 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
20 | WHERE tripduration is not null
21 | GROUP BY gender
22 | ORDER BY avg_trip_duration;
23 |
24 |
25 | -- ORDER BY로 순서대로 된 avg_trip_duration의 평균값(AVG)에 대하여 gender별 각각 그룹핑해서 보여줌. 이 데이터셋의 성별을 나타내는 값은 male, female, unknown 등 3가지임.
26 |
27 | -- 2. COUNT로 레코드 수 세기
28 | -- 예시: 위의 예제에서 계산한 평균값에 몇 건의 대여 기록이 포함되어 있는지 조회하라.
29 | SELECT gender, COUNT(*) AS rides, AVG(tripduration / 60) AS avg_trip_duration
30 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
31 | WHERE tripduration is not null
32 | GROUP BY gender
33 | ORDER BY avg_trip_duration;
34 |
35 |
36 | -- 3. HAVING으로 그룹화된 항목 필터링하기
37 | -- HAVING 절을 사용하면 그룹핑한 것을 연산 하여 필터링할 수 있음.
38 | -- 예시: 평균 14분 이상 대여한 성별을 조회하라.
39 | SELECT gender, AVG(tripduration / 60) AS avg_trip_duration
40 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
41 | WHERE tripduration is not null
42 | GROUP BY gender
43 | HAVING avg_trip_duration > 14
44 | ORDER BY avg_trip_duration;
45 |
46 | -- 4. DISTINCT로 고윳값 찾기
47 | -- 설명: 데이터셋의 성별 컬럼에 어떤 값이 들어 있는 조회하라.
48 | -- 중복되지 않고 고유한 값을 찾을땐 DISTINCT 사용함.
49 |
50 | SELECT DISTINCT gender
51 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`;
52 |
53 | -- 4번째 빈값은 성별 값이 누락되거나 저품질 데이터가 존재해서 보여짐.
54 | -- 보통 이러한 값들을 결측치(missing value)값이라고 표현하고 주로 NULL 값으로 나옴.
55 | -- WHERE 절에서 NULL 값을 필터링할 때 NULL에 대한 비교 연산은 NULL 값으로 리턴하므로 WHERE 조건으로 적절하지 않음
56 | SELECT bikeid, tripduration, gender
57 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
58 | WHERE gender = ""
59 | LIMIT 100;
60 |
61 |
62 | -- 따라서 IS NULL 또는 IN NOT NULL 절을 사용해서 NULL값이 있느냐 아니면 NULL값이 아니냐를 분별할 수 있음
63 | SELECT DISTINCT gender, usertype
64 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
65 | WHERE gender != '';
66 |
67 |
68 | -- 실행 결과: 6개의 행이 리턴되는 데, 데이터세트에 존재하는 고유한 성별과 고유한 사용자 유형(구독자 또는 고객)을 바탕으로 가능한 모든 조합에 해당하는 결과는 리턴한다.
69 |
70 |
71 |
--------------------------------------------------------------------------------
/src/17/17_ArrayAndStruct.sql:
--------------------------------------------------------------------------------
1 | -- ### 배열과 구조체 사용 ###
2 |
3 | -- 1. 배열
4 |
5 | -- 배열 타입 없이 조회
6 | SELECT [1,2] myArray;
7 |
8 | -- 배열 타입 지정하여 조회
9 | SELECT ARRAY[1] myArray;
10 |
11 | -- 배열 생성
12 | SELECT ARRAY[1,2,3] myArray;
13 |
14 | -- 배열 생성(초기화와 값 할당)
15 | SELECT [10, 20, 30, 40, 50] AS myNumber;
16 |
17 | -- 배열 요소 액세스(색인)
18 |
19 | -- 첫번째 배열 요소 가져오기
20 | WITH myNumber AS (
21 | SELECT [10, 20, 30, 40, 50] AS myInt
22 | )
23 | SELECT myInt[OFFSET(4)] AS offset_1
24 | FROM myNumber;
25 |
26 |
27 | -- 예시: 다음 테이블에는 ARRAY 데이터 유형의 some_numbers 열이 있습니다.
28 | -- 이 열의 배열 요소에 액세스하려면 0부터 시작하는 색인의 경우 OFFSET,
29 | -- 1부터 시작하는 색인의 경우 ORDINAL을 선택하여 사용할 색인 유형을 지정해야 합니다.
30 |
31 | WITH sequences AS
32 | (SELECT [0, 1, 1, 2, 3, 5] AS some_numbers
33 | UNION ALL SELECT [2, 4, 8, 16, 32] AS some_numbers
34 | UNION ALL SELECT [5, 10] AS some_numbers)
35 | SELECT some_numbers,
36 | some_numbers[OFFSET(1)] AS offset_1,
37 | some_numbers[ORDINAL(1)] AS ordinal_1
38 | FROM sequences;
39 |
40 | -- 배열 스키마 생성
41 | CREATE TABLE `my-pc-project-357506.myDataSet.array_demo` AS
42 | WITH myAddressBook AS (
43 | select ["name","occupation","birth"] AS address_history
44 | )
45 | SELECT address_history FROM myAddressBook;
46 |
47 | SELECT address_history FROM `my-pc-project-357506.myDataSet.array_demo`;
48 |
49 | -- 구조체 스키마 생성
50 | CREATE TABLE `my-pc-project-357506.myDataSet.struct_demo` AS
51 | WITH myAddressBook AS (
52 | select struct("current" as status,
53 | "seoul" as address,
54 | "ABC123D" as postcode) as address_history
55 | )
56 | Select address_history FROM myAddressBook;
57 |
58 | SELECT address_history FROM `my-pc-project-357506.myDataSet.struct_demo`;
59 |
60 | -- 구조체의 배열 스키마 생성
61 | CREATE TABLE `my-pc-project-357506.myDataSet.struct_of_arrays_demo` AS
62 | WITH myAddressBook AS (
63 | SELECT [
64 | struct("current" as status,"seoul" as address,"ABC123D" as postcode),
65 | struct("previous" AS status, "San Francisco" as address, "74077" as postcode),
66 | struct("birth" AS status, "Jinhae" AS address, "70000" as postcode)
67 | ] AS address_history
68 | )
69 | Select address_history FROM myAddressBook;
70 |
71 | -- 데이터 조회
72 | SELECT address_history FROM `my-pc-project-357506.myDataSet.struct_of_arrays_demo`;
73 |
74 | -- 스트럭처 내의 배열 한 부분 조회 할 때 에러 발생 (멀티 로우)
75 | SELECT address_history.status, address_history.address
76 | FROM `my-pc-project-357506.myDataSet.struct_of_arrays_demo`;
77 |
78 | -- 모든 struct key-value 쌍은 멀티 로우 값을 가질때 반드시 unnest 문을 사용해야 한다.
79 | SELECT addr.status, addr.address
80 | FROM `my-pc-project-357506.myDataSet.struct_of_arrays_demo`,
81 | UNNEST(address_history) AS addr;
82 |
83 |
84 | -- 데이터 타입으로써 배열과 스트럭처를 정의한 테이블 생성하기
85 | create table myDataSet.array_struct_tbl
86 | (
87 | address_array ARRAY,
88 | address_struct STRUCT,
89 | address_array_of_struct ARRAY>,
90 | address_struct_in_struct STRUCT, col2 STRING>,
91 | address_array_of_nested_structs ARRAY, col2 STRING>>
92 | );
93 |
94 |
--------------------------------------------------------------------------------
/src/18/18_UsingArrayAndStruct.sql:
--------------------------------------------------------------------------------
1 |
2 |
3 | -- 1. 문자열 함수 SPLIT 사용
4 |
5 | -- 설명: 단어를 특정 구분자를 기준으로 나누고 싶은 경우 사용하는 함수
6 | -- 예를 들면, "a, b, c"라고 하나의 컬럼에 저장된 경우 SPLIT 함수를 사용하면 a, b, c로 나눔
7 | -- 여러 내용을 한번에 저장하는 경우에 쉼표(,), 탭(\t)을 보편적으로 사용함
8 |
9 | WITH letters AS (
10 | SELECT "" AS letter_group
11 | UNION ALL
12 | SELECT "a" AS letter_group
13 | UNION ALL
14 | SELECT "b c d" AS letter_group
15 | )
16 | SELECT
17 | SPLIT(letter_group, " ") AS example
18 | FROM letters;
19 |
20 | -- 예시: 배열로 들어가 있는 문자열 데이터를 나누어서 조회하라.
21 | WITH US_Cities AS (
22 | SELECT * FROM UNNEST([
23 | 'Seattle WA', 'NewYork NY', 'SanFrancisco CA'
24 | ]) AS city
25 | )
26 | SELECT city, SPLIT(city, ' ') AS Parts
27 | FROM US_Cities;
28 | -- 결과: UNNEST 연산자는 ARRAY를 입력으로 받고 ARRAY의 각 요소에 대한 행이 한 개씩 포함된 객체에 대해 return함
29 |
30 |
31 | -- 예시: 대여 횟수가 2,000회 미만인 두 행의 데이터를 가진 작은 데이터셋을 만들어라. (하드코딩)
32 | WITH trip_count AS (
33 | SELECT 'Fri' As day, 1550 AS numrides, 101 AS oneways
34 | UNION ALL SELECT 'Sat', 3300, 736
35 | UNION ALL SELECT 'Sun', 2275, 888
36 | )
37 | SELECT * FROM trip_count WHERE numrides < 2000;
38 |
39 | -- 2. ARRAY_AGG 배열 만들기
40 | -- 예시: 성별 및 연도별 대여 횟수를 찾아라.
41 |
42 | SELECT gender, EXTRACT(YEAR FROM starttime) AS year, count(*) AS numtrips
43 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
44 | WHERE gender != 'unknown' AND starttime IS NOT NULL
45 | GROUP BY gender, year
46 | HAVING year > 2016;
47 |
48 | -- 예시: 여러 해에 걸쳐 성별과 관련된 대여 횟수를 시계열으로 조회하라.
49 | -- 이런 결과를 만들때 대여 횟수를 배열로 만들어야 하는 데, ARRAY 타입을 사용해 해당 배열을 쿼리하고 ARRAY_AGG 함수로 배열을 생성한다.
50 |
51 | WITH gender_year_numtrips AS (
52 | SELECT gender, EXTRACT(YEAR FROM starttime) AS year, count(1) AS numtrips
53 | FROM `bigquery-public-data.new_york_citibike.citibike_trips`
54 | WHERE gender != 'unknown' AND starttime IS NOT NULL
55 | GROUP BY gender, year
56 | HAVING year > 2016
57 | )
58 | SELECT gender, ARRAY_AGG(numtrips order by year) AS numtrips,
59 | FROM gender_year_numtrips
60 | GROUP BY gender;
61 |
62 | -- 결과 화면: 일반적으로 성별을 그룹화할 때에는 AVG(numtrips) 와 같은 함수로 그룹의 단일 스칼라 값을 계산해 모든 연도의 평균 대여 횟수를 찾는다.
63 | -- 그러나 ARRAY_AGG를 사용하면 개별 값을 수집해 순서가 있는 리스트 또는 배열(Array)에 넣을 수 있다.
64 | -- ARRAY 타입은 쿼리 결과 뿐만 아니라 JSON과 같은 계층 형식의 데이터를 보여줄 때도 사용한다.
65 |
66 | -- 3. 구조체(Struct)
67 | -- 설명: 구조체는 순서를 갖는 필드의 그룹이다.
68 | -- 필드에는 원하는 이름을 지정하는 이유는 가독성 때문이다. 생략하면 빅쿼리에서는 이름을 지정한다.
69 |
70 | SELECT [
71 | STRUCT('female' AS gender, [3236735,1260893] AS numtrips),
72 | STRUCT('male' AS gender, [9306602,3955871] AS numtrips)
73 | ] AS bikerides;
74 |
75 | # JSON 문서 내용
76 | # [{
77 | # "gender": "female",
78 | # "numtrips": ["3236735", "1260893"]
79 | # }, {
80 | # "gender": "male",
81 | # "numtrips": ["9306602", "3955871"]
82 | # }]
83 |
84 | -- 4. 튜플(Tuple)
85 | -- 설명: STRUCT 키워드와 필드명을 생략하면 튜플 또는 익명 구조체(anonymous struct)가 생성된다.
86 | -- 빅쿼리는 쿼리 결과에서 이름이 지정되지 않은 컬럼과 구조체 필드에 의해 임의의 이름을 할당한다.
87 | -- 컬럼명의 별칭이 생략하면 쿼리 필드명을 읽기도 어렵고 유지보수도 어렵다. 반드시 별칭을 붙여 가독성을 높펴라.
88 |
89 | SELECT [
90 | STRUCT('female', [3236735,1260893]),
91 | STRUCT('male', [9306602,3955871])
92 | ] AS bikerides;
93 |
94 |
95 | -- 5. 배열 활용하기
96 | -- 설명: 배열을 생성했다면 배열의 길이를 찾을 수도 있고 배열 내의 개별 항목을 탐색한다.
97 |
98 |
99 | WITH gender_numtrips_array AS (
100 | SELECT [
101 | STRUCT('female' AS gender, [3236735,1260893] AS numtrips),
102 | STRUCT('male' AS gender, [9306602,3955871] AS numtrips)
103 | ] AS bikerides
104 | )
105 | SELECT
106 | ARRAY_LENGTH(bikerides) AS num_items,
107 | bikerides[OFFSET(0)].gender AS first_gender
108 | FROM gender_numtrips_array;
109 |
110 | -- 6. 배열 풀기
111 | -- 예시: 다음 쿼리에서 SELECT 절을 배열을 포함하는 행 1개만을 반환하기 때문에 두 성별 데이터가 같은 행을 반환한다.
112 |
113 | SELECT
114 | [
115 | STRUCT('female' AS gender, [3236735,1260893] AS numtrips),
116 | STRUCT('male' AS gender, [9306602,3955871] AS numtrips)
117 | ];
118 |
119 | -- 예시: 이 때 UNNEST를 사용하면 배열의 요소를 행으로 반환하기 때문에 결과 배열을 풀면 배열의 각 항목에 해당되는 행을 가져올 수 있다.
120 |
121 | SELECT * FROM UNNEST(
122 | [
123 | STRUCT('female' AS gender, [3236735,1260893] AS numtrips),
124 | STRUCT('male' AS gender, [9306602,3955871] AS numtrips)
125 | ]);
126 |
127 | -- 특정 컬럼인 배열의 일부만 선택할 수 있음.
128 | SELECT numtrips FROM UNNEST(
129 | [
130 | STRUCT('female' AS gender, [3236735,1260893] AS numtrips),
131 | STRUCT('male' AS gender, [9306602,3955871] AS numtrips)
132 | ]);
133 |
134 |
135 |
136 |
137 |
138 |
139 |
--------------------------------------------------------------------------------
/src/20/20_TableJoins.sql:
--------------------------------------------------------------------------------
1 |
2 | -- 0. TABLE JOIN 사용하기 전에 샘플 테이블 생성하기
3 |
4 | -- Roster 테이블: Roster 테이블에는 선수 이름 (LastName) 목록과 해당 학교에 할당된 고유 ID (SchoolID) 목록이 포함되어 있습니다.
5 |
6 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.Roster`
7 | (
8 | LastName STRING,
9 | SchoolID INT64
10 | ) AS
11 | WITH Roster AS
12 | (SELECT 'Adams' as LastName, 50 as SchoolID UNION ALL
13 | SELECT 'Buchanan', 52 UNION ALL
14 | SELECT 'Coolidge', 52 UNION ALL
15 | SELECT 'Davis', 51 UNION ALL
16 | SELECT 'Eisenhower', 77)
17 | SELECT * FROM Roster;
18 |
19 |
20 | -- PlayerState 테이블: PlayerStats 테이블에는 선수 이름(LastName) 목록과 주어진 경기의 -- 상대에게 할당된 고유 ID(OpponentID)와 해당 경기에서 선수가 기록한 점수(PointsScored)-- 가 포함되어 있습니다.
21 |
22 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.PlayerStats`
23 | (
24 | LastName STRING,
25 | OpponentID INT64,
26 | PointsScored INT64
27 | ) AS
28 | WITH PlayerStats AS
29 | (SELECT 'Adams' as LastName, 51 as OpponentID, 3 as PointsScored UNION ALL
30 | SELECT 'Buchanan', 77, 0 UNION ALL
31 | SELECT 'Coolidge', 77, 1 UNION ALL
32 | SELECT 'Adams', 52, 4 UNION ALL
33 | SELECT 'Buchanan', 50, 13)
34 | SELECT * FROM PlayerStats;
35 |
36 | -- TeamMascot 테이블: TeamMascot 테이블에는 고유한 학교 ID (SchoolID) 목록과 해당 학교의 마스코트(Mascot)가 포함되어 있습니다.
37 |
38 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.TeamMascot`
39 | (
40 | SchoolID INT64,
41 | Mascot STRING
42 | ) AS
43 | WITH TeamMascot AS
44 | (SELECT 50 as SchoolID, 'Jaguars' as Mascot UNION ALL
45 | SELECT 51, 'Knights' UNION ALL
46 | SELECT 52, 'Lakers' UNION ALL
47 | SELECT 53, 'Mustangs')
48 | SELECT * FROM TeamMascot;
49 |
50 | -- 1. INNER JOIN
51 | -- 이 쿼리는 Roster 및 TeamMascot 테이블에서 INNER JOIN을 수행합니다.
52 |
53 | SELECT Roster.LastName, TeamMascot.Mascot
54 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
55 | JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
56 | ON Roster.SchoolID = TeamMascot.SchoolID;
57 |
58 | -- 2. CROSS JOIN
59 |
60 | SELECT Roster.LastName, TeamMascot.Mascot
61 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
62 | CROSS JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot;
63 |
64 | -- 3. 쉼표 교차 조인 (,)
65 |
66 | SELECT Roster.LastName, TeamMascot.Mascot
67 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster,
68 | `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot;
69 |
70 | -- 4. FULL [OUTER] JOIN
71 |
72 | SELECT Roster.LastName, TeamMascot.Mascot
73 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
74 | FULL JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
75 | ON Roster.SchoolID = TeamMascot.SchoolID;
76 |
77 | -- 5. LEFT [OUTER] JOIN
78 |
79 | SELECT Roster.LastName, TeamMascot.Mascot
80 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
81 | LEFT JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
82 | ON Roster.SchoolID = TeamMascot.SchoolID;
83 |
84 | -- 6. RIGHT [OUTER] JOIN
85 |
86 | SELECT Roster.LastName, TeamMascot.Mascot
87 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
88 | RIGHT JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
89 | ON Roster.SchoolID = TeamMascot.SchoolID;
90 |
91 | -- 7. ON
92 | -- 설명: 조인 조건이 TRUE를 반환하면 결합된 행(두 행을 조인한 결과)은 ON 조인 조건을 충족합니다.
93 |
94 | SELECT Roster.LastName, TeamMascot.Mascot
95 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
96 | JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
97 | ON Roster.SchoolID = TeamMascot.SchoolID;
98 |
99 | -- 8. USING
100 | -- 설명: 쿼리는 Roster 및 TeamMascot 테이블에서 INNER JOIN을 수행합니다.
101 | -- 이 문은 Roster와 TeamMascot의 행을 반환합니다.
102 | -- 여기서 Roster.SchoolID은 TeamMascot.SchoolID과 동일합니다.
103 |
104 |
105 | SELECT Roster.LastName, TeamMascot.Mascot
106 | FROM `my-pc-project-357506.myDataSet.Roster` AS Roster
107 | INNER JOIN `my-pc-project-357506.myDataSet.TeamMascot` AS TeamMascot
108 | USING (SchoolID);
109 |
110 |
--------------------------------------------------------------------------------
/src/21/21_Dremel_Example.sql:
--------------------------------------------------------------------------------
1 |
2 | -- 20-1.드레멜 - 빅쿼리 실행 엔진
3 | -- 예시: 대여소 이름별 행의 개수를 가져오는 쿼리
4 |
5 | SELECT COUNT(*), start_station_name
6 | FROM `bigquery-public-data.london_bicycles.cycle_hire`
7 | GROUP BY 2
8 | ORDER BY 1 DESC
9 | LIMIT 10;
10 |
11 | # 간단한 스캔을 실행해 값을 집계 하는 데, 스캔 작업은 리프에서 완료됩니다.
12 | # 집계는 리프보다 높은 수준의 노드에서 완료되어 루트에서 최종 결과를 조합합니다.
13 | # 트리는 '스캔-필터-집계' 형식의 쿼리 같은 특정 종류의 쿼리에는 적합하지만 그보다 복잡한 쿼리에는 적합하지 않는 단점이 발생합니다.
14 |
15 | -- 예시: 정적 트리로 처리가 불가능한 쿼리
16 |
17 | SELECT
18 | COUNT(*),
19 | starts.start_station_id AS point_a,
20 | ends.start_station_id AS point_b
21 | FROM
22 | `bigquery-public-data.london_bicycles.cycle_hire` starts,
23 | `bigquery-public-data.london_bicycles.cycle_hire` ends
24 | WHERE
25 | starts.start_station_id = ends.end_station_id
26 | AND ends.start_station_id = starts.end_station_id
27 | AND starts.start_station_id <> ends.start_station_id
28 | AND starts.start_date = ends.start_date
29 | GROUP BY 2, 3
30 | ORDER BY 1 DESC
31 | LIMIT 10;
32 |
33 | # 이 쿼리는 런던의 자전거 대여소 중 하루 동안 가장 완래가 빈번한 곳을 찾는 데 조인을 사용하므로 실행 트리안에 추가 계층이 필요합니다.
34 | # 현재 드레멜 버전10 에서는 어떤 수의 계층 구조도 가질 수 있는 동적 쿼리 계획을 생성합니다.
35 | # 심지어 쿼리가 실행되는 동안에도 쿼리 계획을 변경할 수 있습니다.
36 | # 각 쿼리 단계에서 셔플 단계를 지원하기 때문에 트리와 비슷하게 보이겠지만 필요한 만큼 계층을 추가시킬 수 있는 장점을 가집니다.
37 |
38 | -- 3. 빅쿼리 엔진 실행
39 |
40 | -- 3.1 스캔-필터-카운트 쿼리 : 가장 간단한 쿼리로 스캔-필터-카운트(집계) 쿼리로 테이블에서 데이터를 읽어 필터(where)를 적용 한 후 결과의 수를 반환하는 쿼리이다.
41 |
42 | SELECT COUNT(*) AS cnt
43 | FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2017`
44 | WHERE passenger_count > 5;
45 |
46 | # 이 쿼리는 2017년 뉴욕시의 옐로캡 택시 서비스 사용 기록에서 탑승객이 5명을 초과하는 사용 기록의 수를 계산합니다.
47 | # 이 쿼리를 완료한 후에 쿼리 계획을 보여주는 실행 세부 정보(Execution Details) 탭을 클릭합니다.
48 |
49 | -- 3.2 스캔-필터-집계 쿼리 : 데이터를 한 번에 훓어서 실행하는 쿼리입니다.
50 | -- 대용량 환경에서 어떻게 동작하는지 살펴보기 위해 위키피디아 페이지뷰 로그 중 최신 2022년도 1월 1일 부터 12월 31일까지 가진 데이터를 조회합니다.
51 | -- 반드시 전체 쿼리를 하면 비용이 많이 들므로 아래의 쿼리로만 사용하기를 권장합니다.
52 |
53 | SELECT title, COUNT(title) AS cnt
54 | FROM `bigquery-public-data.wikipedia.pageviews_2022`
55 | WHERE datehour BETWEEN '2022-01-01' AND '2022-12-31'
56 | AND title LIKE "G%o%o%g%l%e"
57 | GROUP BY title
58 | ORDER BY cnt DESC;
59 |
60 | # 이 쿼리는 G,o,o,g,l,e 문자가 순서대로 들어간 페이지들을 찾아서 각 페이지의 조회 수를 센 후 그 결과를 조회 수가 높은 순으로 반환합니다.
61 |
62 |
63 | -- 3.3 높은 카디널리티를 갖는 스캔-필터-집계 쿼리
64 |
65 | # 3.2과 같은 쿼리지만 필터를 적용하지 않을 때, 제목이 수백만 개가 넘습니다.
66 | # 이러한 경우를 title 컬럼의 카디널리티가 높다고 말합니다.
67 | # 해시 값을 저장할 버킷의 수가 너무 적으면, 너무 적은 수의 워커 샤드가 너무 많은 작업을 수행해서 쿼리의 실행에 시간이 오래 걸립니다.
68 | # 아래의 예제는 조회 수를 기준으로 내림차순 정렬한 위키피디아 페이지들을 모두 반환합니다.
69 |
70 | SELECT title, COUNT(title) AS cnt
71 | FROM `bigquery-public-data.wikipedia.pageviews_2022`
72 | WHERE datehour BETWEEN '2022-01-01' AND '2022-12-31'
73 | GROUP BY title
74 | ORDER BY cnt DESC;
75 |
76 | # 쿼리 실행 후, 실행 계획 결과를 보면 엄청난 수에 대한 연산이 수행된 것을 볼 것 입니다.
77 | # 왜냐하면, 데이터를 미리 필터링할 수 없기 때문에 처리 시간이 훨씬 오래 걸립니다.
78 |
79 |
--------------------------------------------------------------------------------
/src/22/22-1_PartitioningTables.sql:
--------------------------------------------------------------------------------
1 | -- ### 파티셔닝하지 않은 테이블과 파티셔닝한 테이블 생성후 성능 비교하기 ###
2 |
3 | -- 1. 파티셔닝 하기 전
4 |
5 | # 예제: SQL 쿼리를 실행하여 기존 테이블에서 새 테이블을 생성하여 StackOverflow 게시물을 기반으로 하는 공개 데이터셋에서 로드된 데이터로 파티셔닝하지 않은 테이블을 생성합니다.
6 | # 이 테이블에는 2018년에 생성된 StackOverflow 게시물이 포함됩니다.
7 | # 주의: stackoverflow 데이터셋이 없다면, stackoverflow 데이터셋을 생성한 후 쿼리문을 실행해야 에러가 발생하지 않습니다.
8 |
9 | CREATE OR REPLACE TABLE `my-pc-project-357506.stackoverflow.questions_2018` AS
10 | SELECT * FROM `bigquery-public-data.stackoverflow.posts_questions`
11 | WHERE creation_date BETWEEN '2018-01-01' AND '2018-07-01';
12 |
13 | # 실행 세부 정보를 살펴 보십시오.
14 | # 테이블로 이동해서 스키마와 미리보기를 해서 데이터를 살펴 보십시오.
15 |
16 | # 2018년 1월에 'android' 태그가 지정된 모든 StackOverflow 질문을 가져오기 위해 파티셔닝 테이블을 쿼리해 보겠습니다.
17 |
18 | # 쿼리가 실행되기 전에 파티셔닝과 클러스터링된 테이블과 성능을 비교할 때 공정하기 위해 캐싱이 비활성화시킵니다.
19 | # 캐시환경 설정 -> 캐시된 결과 해제
20 |
21 | SELECT id, title, body, accepted_answer_id, creation_date, answer_count, comment_count, favorite_count, view_count
22 | FROM `my-pc-project-357506.stackoverflow.questions_2018`
23 | WHERE creation_date BETWEEN '2018-01-01' AND '2018-07-01';
24 |
25 | # 실행 세부정보 결과를 보면, 쿼리 결과로 파티션되지 않은 테이블에 대한 쿼리가 2018년에 생성된 StackOverflow 게시물로 전체 5.94GB 데이터를 스캔하는 데 2분 38초가 걸렸음을 알 수 있습니다.
26 |
27 | -- 2. 파티셔닝 테이블
28 |
29 | # BigQuery DDL 문을 사용하여 DATE/TIMESTAMP로 파티션을 나눈 테이블을 만듭니다.
30 | # 쿼리 액세스 패턴을 기반으로 파티셔닝 열을 creation_date로 선택했습니다.
31 |
32 | CREATE OR REPLACE TABLE `my-pc-project-357506.stackoverflow.questions_2018_partitioned`
33 | PARTITION BY
34 | DATE(creation_date) AS
35 | SELECT * FROM `bigquery-public-data.stackoverflow.posts_questions`
36 | WHERE creation_date BETWEEN '2018-01-01' AND '2018-07-01';
37 |
38 | # 이제 캐시가 비활성화된 파티션된 테이블에서 이전 쿼리를 실행하여 2018년 1월에 'android' 태그가 지정된 모든 StackOverflow 질문을 가져옵니다.
39 |
40 | SELECT id, title, body, accepted_answer_id, creation_date, answer_count, comment_count, favorite_count, view_count
41 | FROM `my-pc-project-357506.stackoverflow.questions_2018_partitioned`
42 | WHERE creation_date BETWEEN '2018-01-01' AND '2018-07-01';
43 |
44 | # 파티셔닝한 테이블 쿼리는 5.97GB를 처리하는 파티셔닝하지 않은 테이블과 비교하여 1.62MB 데이터를 처리하는 데 필요한 파티션만 스캔했습니다.
45 |
46 | # 파티션 관리는 특정 범위에 대해 쿼리할 때 BigQuery 성능과 비용을 최대화하는 데 핵심입니다.
47 | # 결과적으로 쿼리당 더 적은 데이터를 스캔하고 쿼리 시작 시간 전에 정리가 결정됩니다.
48 | # 파티셔닝은 비용을 절감하고 성능을 향상시키는 동시에 사용자가 실수로 정말 큰 테이블 전체를 쿼리함으로써 발생하는 비용 폭발을 방지합니다.
49 |
--------------------------------------------------------------------------------
/src/22/22-2_ClusteringTables.sql:
--------------------------------------------------------------------------------
1 | -- ### 테이블을 클러스터링 하기 ###
2 |
3 | -- 1. 테이블을 클러스터팅하기
4 |
5 | # BigQuery DDL 문을 사용하여 새 DATE/TIMESTAMP로 파티션을 나누고 클러스터링된 테이블을 만듭니다.
6 | # 쿼리 액세스 패턴을 기반으로 파티셔닝 열을 creation_date로, 클러스터 키를 태그로 선택했습니다.
7 |
8 | CREATE OR REPLACE TABLE `my-pc-project-357506.stackoverflow.questions_2018_clustered`
9 | PARTITION BY DATE(creation_date)
10 | CLUSTER BY tags AS
11 | SELECT *
12 | FROM `bigquery-public-data.stackoverflow.posts_questions`
13 | WHERE creation_date BETWEEN '2018-01-01' AND '2018-07-01';
14 |
15 | # 실행 세부 정보를 보면, 경과 시간은 7초, 사용한 슬롯 시간 4분 19초, 셔플 바이트가 3.39GB 입니다.
16 |
17 | # 쿼리가 실행되기 전에 파티셔닝과 클러스터링된 테이블과 성능을 비교할 때 공정하기 위해 캐싱이 비활성화시킵니다.
18 | # 캐시환경 설정 -> 캐시된 결과 해제
19 |
20 | # 캐시가 비활성화된 상태에서 파티셔닝 및 클러스터링된 테이블에서 쿼리를 실행하여 2018년 1월에 'android' 태그가 지정된 모든 StackOverflow 질문을 조회합니다.
21 |
22 | SELECT
23 | id,
24 | title,
25 | body,
26 | accepted_answer_id,
27 | creation_date,
28 | answer_count,
29 | comment_count,
30 | favorite_count,
31 | view_count
32 | FROM
33 | `my-pc-project-357506.stackoverflow.questions_2018_clustered`
34 | WHERE
35 | creation_date BETWEEN '2018-01-01' AND '2018-02-01'
36 | AND tags = 'android';
37 |
38 | # 실행 세부정보를 살펴보면, 경과시간 1초, 사용한 슬롯 시간 9초, 셔플 바이트 2.47MB 입니다.
39 |
40 | # 파티셔닝 및 클러스터링된 테이블을 사용하여 쿼리는 1초 미만에 ~275MB의 데이터를 스캔했는데, 이는 파티셔닝된 테이블보다 낫습니다.
41 | # 파티셔닝 및 클러스터링으로 데이터를 구성하는 방식은 슬롯 작업자가 스캔하는 데이터의 양을 최소화하여 쿼리 성능을 개선하고 비용을 최적화합니다.
42 |
43 | # 클러스터링을 사용할 때 주의할 몇 가지 사항은 다음과 같습니다.
44 |
45 | # 첫째, 클러스터링은 쿼리를 실행하기 전에 엄격한 비용 보장을 제공하지 않습니다.
46 | # 클러스터링에 대한 위의 결과에서 쿼리 유효성 검사는 286.1MB의 처리를 보고했지만 실제로 쿼리는 274MB의 데이터만 처리했습니다.
47 |
48 | # 둘째, 파티셔닝만 허용하는 것보다 더 세분성이 필요한 경우에만 클러스터링을 사용하기를 추천합니다.
49 |
--------------------------------------------------------------------------------
/src/22/22-3_Partitioning_Clustering.sql:
--------------------------------------------------------------------------------
1 | -- 1. 파티션을 나눈 테이블 만들기
2 |
3 | # 예제 설명: DATE 열을 사용하여 mydataset에 newtable이라는 파티션을 나눈 테이블을 만듭니다.
4 | # partition_expiration_days는 파티션 만료 시간 3일이라는 것을 뜻합니다.
5 | CREATE TABLE myDataSet.newtable (transaction_id INT64, transaction_date DATE)
6 | PARTITION BY transaction_date
7 | OPTIONS(
8 | partition_expiration_days=3,
9 | description="a table partitioned by transaction_date"
10 | );
11 |
12 | # 예제 설명: 쿼리 결과에서 파티션을 나눈 테이블 만들기 - DATE 열을 사용하여 mydataset에 days_with_rain이라는 파티션을 나눈 테이블을 만듭니다.
13 |
14 | CREATE TABLE myDataSet.days_with_rain
15 | PARTITION BY date
16 | OPTIONS (
17 | partition_expiration_days=365,
18 | description="weather stations with precipitation, partitioned by day"
19 | ) AS
20 | SELECT
21 | DATE(CAST(year AS INT64), CAST(mo AS INT64), CAST(da AS INT64)) AS date,
22 | (SELECT ANY_VALUE(name) FROM `bigquery-public-data.noaa_gsod.stations` AS stations
23 | WHERE stations.usaf = stn) AS station_name, # Stations 은 다중 이름을 가질 수 있음
24 | prcp
25 | FROM `bigquery-public-data.noaa_gsod.gsod2017` AS weather
26 | WHERE prcp != 99.9 # unknown 변수를 필터하라
27 | AND prcp > 0; # 비가 오지 않는 날(강우량 0)인 지역/날 필터
28 |
29 | -- Drop Table 삭제
30 | DROP TABLE myDataSet.days_with_rain;
31 |
32 | -- 2. 클러스터링된 테이블 만들기
33 |
34 |
35 | # 예제 설명: mydataset에 myclusteredtable이라는 클러스터링된 테이블 생성
36 | CREATE TABLE myDataSet.myclusteredtable
37 | (
38 | customer_id STRING,
39 | transaction_amount NUMERIC
40 | )
41 | CLUSTER BY
42 | customer_id
43 | OPTIONS (
44 | description="a table clustered by customer_id"
45 | );
46 |
47 | -- Drop Table 삭제
48 | DROP TABLE myDataSet.myclusteredtable;
49 |
50 | # 예제 설명: mydataset에 myclusteredtable이라는 클러스터링된 테이블을 만듭니다.
51 | # 테이블은 TIMESTAMP 열로 파티션을 나누고 customer_id라는 STRING 열로 클러스터링된 파티션을 나눈 테이블입니다.
52 | # 파티션 만료 시간: 3일
53 |
54 | CREATE TABLE myDataSet.myclusteredtable
55 | (
56 | timestamp TIMESTAMP,
57 | customer_id STRING,
58 | transaction_amount NUMERIC
59 | )
60 | PARTITION BY DATE(timestamp)
61 | CLUSTER BY customer_id
62 | OPTIONS (
63 | partition_expiration_days=3,
64 | description="a table clustered by customer_id"
65 | );
66 |
67 |
68 | -- Drop Table 삭제
69 | DROP TABLE myDataSet.myclusteredtable;
70 |
71 | # 수집 시간으로 파티션을 나눈 테이블
72 | # mydataset에 myclusteredtable이라는 클러스터링된 테이블을 만듭니다.
73 |
74 | CREATE TABLE mydataset.myclusteredtable
75 | (
76 | customer_id STRING,
77 | transaction_amount NUMERIC
78 | )
79 | PARTITION BY DATE(_PARTITIONTIME)
80 | CLUSTER BY
81 | customer_id
82 | OPTIONS (
83 | partition_expiration_days=3,
84 | description="a table clustered by customer_id"
85 | );
86 |
87 | -- Drop Table 삭제
88 | DROP TABLE myDataSet.myclusteredtable;
89 |
90 |
91 | -- 참고사항: https://cloud.google.com/bigquery/docs/partitioned-tables
92 |
93 |
--------------------------------------------------------------------------------
/src/23/23_Views.sql:
--------------------------------------------------------------------------------
1 | -- ### 뷰(View) ### --
2 |
3 | -- 1. 뷰테이블 생성
4 | CREATE VIEW IF NOT EXISTS `my-pc-project-357506`.myDataSet.usa_male_names(name, number) AS (
5 | SELECT
6 | name,
7 | number
8 | FROM
9 | bigquery-public-data.usa_names.usa_1910_current
10 | WHERE
11 | gender = 'M'
12 | ORDER BY
13 | number DESC
14 | );
15 |
16 | ## 뷰 인포메이션 스키마 쿼리
17 | SELECT * EXCEPT (check_option)
18 | FROM myDataSet.INFORMATION_SCHEMA.VIEWS;
19 |
20 | ## 뷰 속성 업데이트
21 |
22 | ALTER VIEW `my-pc-project-357506.myDataSet.usa_male_names`
23 | SET OPTIONS (
24 | description = 'NEW_DESCRIPTION'
25 | );
26 |
27 |
28 |
29 |
30 | ## 뷰 삭제
31 | DROP VIEW `my-pc-project-357506.myDataSet.usa_male_names`;
32 |
33 |
34 | ## 뷰 조회
35 | SELECT * FROM `my-pc-project-357506.myDataSet.usa_male_names_view`;
36 |
--------------------------------------------------------------------------------
/src/24/24_MaterializedView.sql:
--------------------------------------------------------------------------------
1 | -- ### 구체화된 뷰(Materialized View) ### --
2 |
3 | -- 1. 구체화된 뷰를 사용하기 전에
4 |
5 | # my_base_table 생성
6 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.my_base_table` (
7 | product_id INT64 OPTIONS (description = '상품번호'),
8 | clicks INT64 OPTIONS (description = '클릭수')
9 | )
10 | OPTIONS (
11 | description = '구체화된 뷰 예제 - 상품 베이스 테이블'
12 | );
13 |
14 | # 임의의 데이터 입력
15 | BEGIN
16 | BEGIN TRANSACTION;
17 |
18 | INSERT INTO myDataSet.my_base_table
19 | VALUES (1, 35),
20 | (2, 45),
21 | (3, 100),
22 | (4, 50),
23 | (5, 20),
24 | (6, 65),
25 | (7, 10),
26 | (8, 55),
27 | (9, 15),
28 | (10, 25),
29 | (1, 20),
30 | (2, 55),
31 | (3, 10),
32 | (4, 10),
33 | (5, 90),
34 | (6, 85),
35 | (7, 60),
36 | (8, 35),
37 | (9, 25),
38 | (10, 45);
39 |
40 | COMMIT TRANSACTION;
41 |
42 | EXCEPTION WHEN ERROR THEN
43 | -- 내부적으로 예외 처리가 발생하면 롤백하고 에러메시지 나타냄
44 | SELECT @@error.message;
45 | ROLLBACK TRANSACTION;
46 |
47 | END;
48 |
49 | -- 2. 각 제품 ID를 클릭한 수에 대한 구체화된 뷰 생성
50 |
51 | CREATE MATERIALIZED VIEW `my-pc-project-357506.myDataSet.my_mv_table` AS (
52 | SELECT
53 | product_id,
54 | SUM(clicks) AS sum_clicks
55 | FROM
56 | `my-pc-project-357506.myDataSet.my_base_table`
57 | GROUP BY
58 | product_id
59 | );
60 |
61 | SELECT * FROM `my-pc-project-357506.myDataSet.my_mv_table`;
62 |
63 | -- 3. 구체화된 뷰 삭제 및 테이블 삭제
64 | DROP MATERIALIZED VIEW `my-pc-project-357506.myDataSet.my_mv_table`;
65 | DROP TABLE `my-pc-project-357506.myDataSet.my_base_table`;
66 |
67 |
--------------------------------------------------------------------------------
/src/25/25_WindowFunction.sql:
--------------------------------------------------------------------------------
1 | --- ### 23. 윈도우 함수(WINDOW FUNCTION) ### ---
2 |
3 | -- 1. 윈도우 함수를 사용하기 전에 예시에 사용된 공통 테이블
4 |
5 | # 상품(Produce) 테이블 생성
6 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.Produce`
7 | AS
8 | (SELECT 'kale' as item, 23 as purchases, 'vegetable' as category
9 | UNION ALL SELECT 'banana', 2, 'fruit'
10 | UNION ALL SELECT 'cabbage', 9, 'vegetable'
11 | UNION ALL SELECT 'apple', 8, 'fruit'
12 | UNION ALL SELECT 'leek', 2, 'vegetable'
13 | UNION ALL SELECT 'lettuce', 10, 'vegetable');
14 |
15 | SELECT * FROM myDataSet.Produce;
16 |
17 | # 직원(Employees) 테이블 생성
18 |
19 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.Employees`
20 | AS
21 | (SELECT 'Isabella' as name, 2 as department, DATE(1997, 09, 28) as start_date
22 | UNION ALL SELECT 'Anthony', 1, DATE(1995, 11, 29)
23 | UNION ALL SELECT 'Daniel', 2, DATE(2004, 06, 24)
24 | UNION ALL SELECT 'Andrew', 1, DATE(1999, 01, 23)
25 | UNION ALL SELECT 'Jacob', 1, DATE(1990, 07, 11)
26 | UNION ALL SELECT 'Jose', 2, DATE(2013, 03, 17));
27 |
28 | SELECT * FROM myDataSet.Employees;
29 |
30 | # 팜(Farm) 테이블 생성
31 | CREATE TABLE IF NOT EXISTS `my-pc-project-357506.myDataSet.Farm`
32 | AS
33 | (SELECT 'cat' as animal, 23 as population, 'mammal' as category
34 | UNION ALL SELECT 'duck', 3, 'bird'
35 | UNION ALL SELECT 'dog', 2, 'mammal'
36 | UNION ALL SELECT 'goose', 1, 'bird'
37 | UNION ALL SELECT 'ox', 2, 'mammal'
38 | UNION ALL SELECT 'goat', 2, 'mammal');
39 |
40 | SELECT * FROM myDataSet.Farm;
41 |
42 | -- 2. 총 합계 계산
43 |
44 | # 설명: Produce 테이블의 모든 항목에 대한 총 합계를 계산합니다.
45 |
46 | SELECT item, purchases, category, SUM(purchases)
47 | OVER () AS total_purchases
48 | FROM myDataSet.Produce;
49 |
50 | /*
51 | +-------------------------------------------------------+
52 | | item | purchases | category | total_purchases |
53 | +-------------------------------------------------------+
54 | | banana | 2 | fruit | 54 |
55 | | leek | 2 | vegetable | 54 |
56 | | apple | 8 | fruit | 54 |
57 | | cabbage | 9 | vegetable | 54 |
58 | | lettuce | 10 | vegetable | 54 |
59 | | kale | 23 | vegetable | 54 |
60 | +-------------------------------------------------------+
61 | */
62 |
63 |
64 | -- 3. 소계 계산
65 |
66 | # 설명: Produce 테이블의 각 카테고리에 대한 소계를 계산합니다.
67 | SELECT item, purchases, category, SUM(purchases)
68 | OVER (
69 | PARTITION BY category
70 | ORDER BY purchases
71 | ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
72 | ) AS total_purchases
73 | FROM myDataSet.Produce;
74 |
75 | /*
76 | +-------------------------------------------------------+
77 | | item | purchases | category | total_purchases |
78 | +-------------------------------------------------------+
79 | | banana | 2 | fruit | 10 |
80 | | apple | 8 | fruit | 10 |
81 | | leek | 2 | vegetable | 44 |
82 | | cabbage | 9 | vegetable | 44 |
83 | | lettuce | 10 | vegetable | 44 |
84 | | kale | 23 | vegetable | 44 |
85 | +-------------------------------------------------------+
86 | */
87 |
88 |
89 | -- 4. 누적 합계 계산
90 |
91 | # 설명: Produce 테이블의 각 카테고리에 대한 누적 합계를 계산합니다. 합계는 ORDER BY 절을 사용하여 정의된 순서를 기준으로 계산됩니다.
92 |
93 | SELECT item, purchases, category, SUM(purchases)
94 | OVER (
95 | PARTITION BY category
96 | ORDER BY purchases
97 | ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
98 | ) AS total_purchases
99 | FROM myDataSet.Produce;
100 |
101 | /*
102 | +-------------------------------------------------------+
103 | | item | purchases | category | total_purchases |
104 | +-------------------------------------------------------+
105 | | banana | 2 | fruit | 2 |
106 | | apple | 8 | fruit | 10 |
107 | | leek | 2 | vegetable | 2 |
108 | | cabbage | 9 | vegetable | 11 |
109 | | lettuce | 10 | vegetable | 21 |
110 | | kale | 23 | vegetable | 44 |
111 | +-------------------------------------------------------+
112 | */
113 |
114 | # 이 예시는 앞의 예시와 동일한 데, 가독성을 높이려는 경우가 아니라면 CURRENT ROW를 경계로 추가할 필요가 없습니다.
115 |
116 | SELECT item, purchases, category, SUM(purchases)
117 | OVER (
118 | PARTITION BY category
119 | ORDER BY purchases
120 | ROWS UNBOUNDED PRECEDING
121 | ) AS total_purchases
122 | FROM myDataSet.Produce;
123 |
124 | # 이 예시에서는 Produce 테이블의 모든 항목이 파티션에 포함되어 있습니다.
125 | # 이전 행만 분석되기 때문에 파티션의 현재 행 앞에 있는 두 행에서 분석이 시작됩니다.
126 |
127 | SELECT item, purchases, category, SUM(purchases)
128 | OVER (
129 | ORDER BY purchases
130 | ROWS BETWEEN UNBOUNDED PRECEDING AND 2 PRECEDING
131 | ) AS total_purchases
132 | FROM myDataSet.Produce;
133 |
134 | /*
135 | +-------------------------------------------------------+
136 | | item | purchases | category | total_purchases |
137 | +-------------------------------------------------------+
138 | | banana | 2 | fruit | NULL |
139 | | leek | 2 | vegetable | NULL |
140 | | apple | 8 | fruit | 2 |
141 | | cabbage | 9 | vegetable | 4 |
142 | | lettuce | 10 | vegetable | 12 |
143 | | kale | 23 | vegetable | 21 |
144 | +-------------------------------------------------------+
145 | */
146 |
147 |
148 | -- 5. 이동 평균 계산
149 |
150 | # 설명: Produce 테이블의 이동 평균을 계산합니다. 하한 경계는 현재 행 앞 1개 행입니다. 상한 경계는 현재 행 뒤 1개 행입니다.
151 |
152 | SELECT item, purchases, category, AVG(purchases)
153 | OVER (
154 | ORDER BY purchases
155 | ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
156 | ) AS avg_purchases
157 | FROM myDataSet.Produce;
158 |
159 | /*
160 | +-------------------------------------------------------+
161 | | item | purchases | category | avg_purchases |
162 | +-------------------------------------------------------+
163 | | banana | 2 | fruit | 2 |
164 | | leek | 2 | vegetable | 4 |
165 | | apple | 8 | fruit | 6.33333 |
166 | | cabbage | 9 | vegetable | 9 |
167 | | lettuce | 10 | vegetable | 14 |
168 | | kale | 23 | vegetable | 16.5 |
169 | +-------------------------------------------------------+
170 | */
171 |
172 |
173 | -- 6. 범위 내의 항목 수 계산
174 |
175 | # 설명: 이 예시에서는 Farm 테이블에 비슷한 인구 수를 가진 동물 수를 가져옵니다.
176 |
177 | SELECT animal, population, category, COUNT(*)
178 | OVER (
179 | ORDER BY population
180 | RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING
181 | ) AS similar_population
182 | FROM myDataSet.Farm;
183 |
184 | /*
185 | +----------------------------------------------------------+
186 | | animal | population | category | similar_population |
187 | +----------------------------------------------------------+
188 | | goose | 1 | bird | 4 |
189 | | dog | 2 | mammal | 5 |
190 | | ox | 2 | mammal | 5 |
191 | | goat | 2 | mammal | 5 |
192 | | duck | 3 | bird | 4 |
193 | | cat | 23 | mammal | 1 |
194 | +----------------------------------------------------------+
195 | */
196 |
197 |
198 | -- 7. 각 카테고리에서 가장 인기 있는 항목 가져오기
199 |
200 | # 설명: 이 예시에서는 각 카테고리에서 가장 인기 있는 항목을 가져옵니다.
201 | # 윈도우에서 행의 파티션을 어떻게 나누고 각 파티션에서 정렬되는지 정의하는 데, Produce 테이블이 참조됩니다.
202 |
203 | SELECT item, purchases, category, LAST_VALUE(item)
204 | OVER (
205 | PARTITION BY category
206 | ORDER BY purchases
207 | ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
208 | ) AS most_popular
209 | FROM myDataSet.Produce;
210 |
211 | /*
212 | +----------------------------------------------------+
213 | | item | purchases | category | most_popular |
214 | +----------------------------------------------------+
215 | | banana | 2 | fruit | apple |
216 | | apple | 8 | fruit | apple |
217 | | leek | 2 | vegetable | kale |
218 | | cabbage | 9 | vegetable | kale |
219 | | lettuce | 10 | vegetable | kale |
220 | | kale | 23 | vegetable | kale |
221 | +----------------------------------------------------+
222 | */
223 |
224 |
225 | -- 8. 범위의 마지막 값 가져오기
226 |
227 | # 설명: 이 예시는 Produce 테이블을 사용하여 특정 윈도우 프레임에서 가장 인기 있는 항목을 가져옵니다.
228 | # 윈도우 프레임은 한 번에 최대 3개의 행을 분석합니다.
229 | # 채소에 대한 most_popular 열을 자세히 살펴보면, 특정 카테고리에서 가장 인기 있는 항목을 가져오는 대신 해당 카테고리의 특정 범위에서 가장 인기 있는 항목을 가져옵니다.
230 |
231 | SELECT item, purchases, category, LAST_VALUE(item)
232 | OVER (
233 | PARTITION BY category
234 | ORDER BY purchases
235 | ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
236 | ) AS most_popular
237 | FROM myDataSet.Produce;
238 |
239 | /*
240 | +----------------------------------------------------+
241 | | item | purchases | category | most_popular |
242 | +----------------------------------------------------+
243 | | banana | 2 | fruit | apple |
244 | | apple | 8 | fruit | apple |
245 | | leek | 2 | vegetable | cabbage |
246 | | cabbage | 9 | vegetable | lettuce |
247 | | lettuce | 10 | vegetable | kale |
248 | | kale | 23 | vegetable | kale |
249 | +----------------------------------------------------+
250 | */
251 |
252 | # 이 예시는 이전 예시와 동일한 결과를 반환하지만 item_window라는 윈도우가 포함되어 있습니다.
253 | # 일부 윈도우 사양은 OVER 절에 직접 정의되고 일부는 명명된 윈도우에 정의됩니다.
254 |
255 | SELECT item, purchases, category, LAST_VALUE(item)
256 | OVER (
257 | item_window
258 | ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
259 | ) AS most_popular
260 | FROM myDataSet.Produce
261 | WINDOW item_window AS (
262 | PARTITION BY category
263 | ORDER BY purchases);
264 |
265 |
266 | -- 9. 순위 계산
267 |
268 | # 예시: 시작일을 기준으로 부서 내 각 직원의 순위를 계산합니다.
269 | # 윈도우 사양은 OVER 절에 직접 정의됩니다. Employees 테이블이 참조됩니다.
270 |
271 | SELECT name, department, start_date,
272 | RANK() OVER (PARTITION BY department ORDER BY start_date) AS rank
273 | FROM myDataSet.Employees;
274 |
275 | /*
276 | +--------------------------------------------+
277 | | name | department | start_date | rank |
278 | +--------------------------------------------+
279 | | Jacob | 1 | 1990-07-11 | 1 |
280 | | Anthony | 1 | 1995-11-29 | 2 |
281 | | Andrew | 1 | 1999-01-23 | 3 |
282 | | Isabella | 2 | 1997-09-28 | 1 |
283 | | Daniel | 2 | 2004-06-24 | 2 |
284 | | Jose | 2 | 2013-03-17 | 3 |
285 | +--------------------------------------------+
286 | */
287 |
288 |
289 | -- 10. 윈도우 프레임 절에 명명된 윈도우 사용
290 |
291 | # 설명: 명명된 윈도우에 일부 로직을 정의할 수 있으며 일부는 윈도우 프레임 절에 정의할 수 있습니다.
292 | # 이 로직은 결합되어 있습니다.
293 | # 예시: Produce 테이블을 사용하는 예시입니다.
294 |
295 | SELECT item, purchases, category, LAST_VALUE(item)
296 | OVER (item_window) AS most_popular
297 | FROM myDataSet.Produce
298 | WINDOW item_window AS (
299 | PARTITION BY category
300 | ORDER BY purchases
301 | ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING);
302 |
303 | /*
304 | +-------------------------------------------------------+
305 | | item | purchases | category | most_popular |
306 | +-------------------------------------------------------+
307 | | banana | 2 | fruit | apple |
308 | | apple | 8 | fruit | apple |
309 | | leek | 2 | vegetable | lettuce |
310 | | cabbage | 9 | vegetable | kale |
311 | | lettuce | 10 | vegetable | kale |
312 | | kale | 23 | vegetable | kale |
313 | +-------------------------------------------------------+
314 | */
315 |
316 |
317 |
318 |
319 |
--------------------------------------------------------------------------------
/src/27/27-2_ExternalQuery.sql:
--------------------------------------------------------------------------------
1 | --- ### 통합쿼리 (Federated Query) ### --
2 |
3 | # 통합 쿼리는 쿼리 문을 외부 데이터베이스에 보내고 결과를 임시 테이블로 가져오는 방법입니다.
4 | # 통합 쿼리는 BigQuery Connection API를 사용하여 외부 데이터베이스와 연결을 설정합니다.
5 | # 스탠더드 SQL 쿼리에서 EXTERNAL_QUERY 함수를 사용하여 쿼리 문을 외부 데이터베이스로 전송하며 이때 해당 데이터베이스의 SQL 언어를 사용합니다.
6 | # 결과는 BigQuery 스탠더드 SQL 데이터 유형으로 변환됩니다.
7 |
8 | SELECT * FROM EXTERNAL_QUERY("my-pc-project-357506.us.noaa_gsod", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
9 |
10 | SELECT * FROM EXTERNAL_QUERY("my-pc-project-357506.us.noaa_gsod", "SELECT * FROM gsod2022.gsod2022 LIMIT 10;");
11 |
12 | # Cloud SQL 이나 Cloud Spanner 와 같은 외부 데이터베이스에서 통합 쿼리를 사용할 수 있습니다.
13 | # 처음 1회 설정 이후 SQL 함수 EXTERNAL_QUERY를 사용하여 쿼리를 작성할 수 있습니다.
14 | # BigQuery 멀티 리전은 동일한 대규모 지역(미국, EU)의 모든 데이터 소스 리전을 쿼리할 수 있습니다.
--------------------------------------------------------------------------------
/src/27/27_ETL.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM `bigquery-public-data.noaa_gsod.gsod2022` LIMIT 1000;
2 |
3 |
4 |
5 |
6 | SELECT
7 | table_name, ddl
8 | FROM
9 | `bigquery-public-data`.noaa_gsod.INFORMATION_SCHEMA.TABLES
10 | WHERE
11 | table_name = 'gsod2022';
12 |
13 | -- 데이터베이스 사용 및 테이블 생성
14 |
15 | USE gsod2022;
16 | CREATE TABLE gsod2022
17 | (
18 | stn VARCHAR(255),
19 | wban VARCHAR(255),
20 | year VARCHAR(255),
21 | mo VARCHAR(255),
22 | da VARCHAR(255),
23 | temp FLOAT(4,1),
24 | count_temp INT,
25 | dewp FLOAT(4,1),
26 | count_dewp INT,
27 | slp FLOAT(4,1),
28 | count_slp INT,
29 | stp FLOAT(4,1),
30 | count_stp INT,
31 | visib FLOAT(4,1),
32 | count_visib INT,
33 | wdsp VARCHAR(255),
34 | count_wdsp VARCHAR(255),
35 | mxpsd VARCHAR(255),
36 | gust FLOAT(3,1),
37 | max FLOAT(4,1),
38 | flag_max VARCHAR(255),
39 | min FLOAT(4,1),
40 | flag_min VARCHAR(255),
41 | prcp FLOAT(4,1),
42 | sndp FLOAT(3,1),
43 | fog VARCHAR(255),
44 | rain_drizzle VARCHAR(255),
45 | snow_ice_pellets VARCHAR(255),
46 | hail VARCHAR(255),
47 | thunder VARCHAR(255),
48 | tornado_funnel_cloud VARCHAR(255)
49 | );
--------------------------------------------------------------------------------
/src/27/gsod2014.csv:
--------------------------------------------------------------------------------
1 | stn,wban,year,mo,da,temp,count_temp,dewp,count_dewp,slp,count_slp,stp,count_stp,visib,count_visib,wdsp,count_wdsp,mxpsd,gust,max,flag_max,min,flag_min,prcp,flag_prcp,sndp,fog,rain_drizzle,snow_ice_pellets,hail,thunder,tornado_funnel_cloud
2 | 711810,99999,2014,08,29,54.0,4,50.7,4,1002.7,4,999.2,4,5.7,4,15.7,4,20.0,999.9,64.2,,50.7,,99.99,,999.9,0,1,0,0,0,0
3 | 008418,99999,2014,07,13,85.6,4,75.3,4,1007.9,4,9999.9,0,999.9,0,3.0,4,6.0,999.9,86.4,*,85.1,*,99.99,,999.9,0,1,0,0,0,0
4 | 262680,99999,2014,11,20,16.9,4,13.5,4,1037.2,4,1028.5,4,999.9,0,3.4,4,5.8,999.9,24.8,*,7.7,,99.99,,999.9,0,0,1,0,0,0
5 | 644020,99999,2014,04,26,72.6,4,71.5,4,1009.9,4,952.8,4,2.7,4,0.5,4,1.9,999.9,74.7,*,70.5,*,99.99,,999.9,1,1,0,0,1,0
6 | 644520,99999,2014,03,23,85.5,4,71.7,4,9999.9,0,9999.9,0,6.2,4,5.0,4,6.0,999.9,95.0,*,65.1,,99.99,,999.9,0,1,0,0,0,0
7 | 644540,99999,2014,10,20,79.8,4,71.1,4,1011.0,4,969.3,4,5.3,4,3.0,4,8.0,999.9,87.1,*,71.2,*,99.99,,999.9,0,1,0,0,0,0
8 | 644620,99999,2014,12,20,80.3,4,73.4,4,9999.9,0,9999.9,0,5.9,4,2.0,4,4.1,999.9,85.3,*,71.6,*,99.99,,999.9,0,1,0,0,1,0
9 | 645100,99999,2014,06,07,76.9,4,72.9,4,9999.9,0,9999.9,0,6.8,4,999.9,0,999.9,999.9,81.7,*,73.4,*,99.99,,999.9,0,1,0,0,1,0
10 | 645560,99999,2014,06,06,79.1,4,74.8,4,9999.9,0,9999.9,0,5.4,4,999.9,0,999.9,999.9,84.7,*,71.6,*,99.99,,999.9,0,1,0,0,0,0
11 | 648700,99999,2014,04,09,73.4,4,66.7,4,9999.9,0,9999.9,0,6.2,4,4.5,4,6.0,999.9,84.2,*,68.0,*,99.99,,999.9,0,1,0,0,1,0
12 | 650750,99999,2014,08,11,70.9,4,68.4,4,9999.9,0,9999.9,0,6.8,4,9.7,4,15.9,999.9,73.4,*,68.0,*,99.99,,999.9,0,1,0,0,0,0
13 | 651230,99999,2014,08,06,77.4,4,73.4,4,9999.9,0,9999.9,0,5.9,4,11.3,4,18.1,999.9,78.8,*,75.2,*,99.99,,999.9,0,1,0,0,0,0
14 | 652320,99999,2014,07,01,80.2,4,73.8,4,9999.9,0,9999.9,0,5.1,4,2.5,4,5.1,999.9,86.0,*,73.4,*,99.99,,999.9,0,1,0,0,1,0
15 | 652500,99999,2014,09,03,77.9,4,74.7,4,9999.9,0,9999.9,0,3.4,4,21.0,4,58.1,999.9,82.4,*,73.4,*,99.99,,999.9,0,1,0,0,0,0
16 | 652640,99999,2014,03,08,77.9,4,75.9,4,9999.9,0,9999.9,0,5.6,4,2.5,4,5.1,999.9,82.4,*,75.2,*,99.99,,999.9,0,1,0,0,1,0
17 | 652640,99999,2014,08,03,76.9,4,74.1,4,9999.9,0,9999.9,0,6.2,4,2.7,4,8.0,999.9,78.8,*,71.8,,99.99,,999.9,0,1,0,0,0,0
18 | 652640,99999,2014,08,11,78.4,4,73.8,4,9999.9,0,9999.9,0,5.6,4,4.5,4,8.0,999.9,84.2,*,75.2,*,99.99,,999.9,0,1,0,0,0,0
19 | 652640,99999,2014,09,15,82.9,4,75.7,4,9999.9,0,9999.9,0,5.1,4,3.8,4,5.1,999.9,89.6,*,75.2,*,99.99,,999.9,0,1,0,0,1,0
20 | 653570,99999,2014,10,06,78.2,4,72.5,4,1012.5,4,973.5,4,6.2,4,2.5,4,6.0,999.9,92.8,,71.6,,99.99,,999.9,0,1,0,0,1,0
21 | 653765,99999,2014,03,31,76.6,4,67.6,4,9999.9,0,9999.9,0,999.9,0,6.0,4,6.0,999.9,82.4,*,71.6,*,99.99,,999.9,0,1,0,0,1,0
22 | 653765,99999,2014,07,07,76.1,4,70.7,4,9999.9,0,9999.9,0,5.9,4,7.5,4,12.0,999.9,82.4,*,68.0,*,99.99,,999.9,0,1,0,0,1,0
23 | 654040,99999,2014,08,19,77.4,4,72.5,4,1014.8,4,9999.9,0,7.6,4,0.5,4,1.0,999.9,80.6,*,73.4,*,99.99,,999.9,0,1,0,0,1,0
24 | 654420,99999,2014,02,01,78.5,4,64.4,4,1012.2,4,9999.9,0,7.8,4,3.3,4,5.1,999.9,87.8,*,72.5,*,99.99,,999.9,0,1,0,0,0,0
25 | 654450,99999,2014,04,25,84.0,4,75.4,4,1009.7,4,9999.9,0,8.4,4,1.0,4,1.9,999.9,93.4,,75.2,*,99.99,,999.9,0,1,0,0,1,0
26 | 654450,99999,2014,11,17,77.4,4,73.8,4,1012.2,4,9999.9,0,6.8,4,0.5,4,1.0,999.9,79.7,*,74.3,*,99.99,,999.9,0,1,0,0,1,0
27 | 654500,99999,2014,08,26,69.4,4,69.0,4,1012.4,4,9999.9,0,3.9,4,6.3,4,8.0,999.9,70.7,*,68.0,*,99.99,,999.9,1,1,0,0,0,0
28 | 654600,99999,2014,10,14,81.5,4,74.7,4,1013.2,4,9999.9,0,9.2,4,1.0,4,1.9,999.9,88.7,*,73.4,,99.99,,999.9,0,1,0,0,0,0
29 | 655020,99999,2014,05,02,89.3,4,64.9,4,1006.9,4,969.9,4,7.8,4,3.0,4,6.0,999.9,100.0,*,80.6,*,99.99,,999.9,0,1,0,0,0,0
30 | 655070,99999,2014,04,29,78.9,4,70.6,4,1009.4,4,975.0,4,6.2,4,6.0,4,8.0,999.9,82.4,*,73.4,*,99.99,,999.9,0,1,0,0,1,0
31 | 782650,99999,2014,01,19,72.5,4,67.7,4,1019.6,4,1009.6,4,3.7,4,5.3,4,9.7,999.9,77.2,*,67.8,*,99.99,,999.9,0,1,0,0,0,0
32 | 782650,99999,2014,09,24,75.5,4,71.4,4,1014.1,4,1004.1,4,5.7,4,4.4,4,5.8,999.9,77.7,*,73.6,*,99.99,,999.9,0,1,0,0,1,0
33 | 784580,99999,2014,01,02,77.5,4,74.1,4,1015.9,4,9999.9,0,8.7,4,999.9,0,999.9,999.9,84.2,,67.6,,99.99,,999.9,0,1,0,0,0,0
34 | 784580,99999,2014,11,30,74.9,4,70.6,4,1017.5,4,9999.9,0,8.5,4,999.9,0,999.9,999.9,86.0,,70.7,,99.99,,999.9,0,1,0,0,0,0
35 | 784860,99999,2014,05,12,80.5,4,76.1,4,1016.0,4,9999.9,0,8.7,4,4.4,4,5.8,999.9,86.0,,72.7,,99.99,,999.9,0,1,0,0,0,0
36 | 784880,99999,2014,04,03,73.0,4,72.0,4,1016.3,4,9999.9,0,7.5,4,999.9,0,999.9,999.9,73.9,*,72.0,*,99.99,,999.9,0,1,0,0,0,0
37 | 784880,99999,2014,11,12,80.0,4,75.2,4,1012.4,4,9999.9,0,8.7,4,999.9,0,999.9,999.9,89.6,,66.2,,99.99,,999.9,0,1,0,0,0,0
38 | 785145,11653,2014,10,18,85.1,4,73.9,4,9999.9,0,1012.6,4,10.0,4,6.0,4,8.0,999.9,87.8,*,82.4,*,99.99,,999.9,0,1,0,0,0,0
39 | 712930,99999,2014,04,11,12.0,4,9.0,4,988.2,4,987.1,4,2.7,4,16.6,4,18.1,999.9,13.6,,-2.0,,99.99,,999.9,0,0,1,0,0,0
40 | 712930,99999,2014,04,18,0.9,4,-3.6,4,1007.8,4,1006.6,4,2.1,4,21.8,4,24.1,999.9,5.7,*,-2.6,*,99.99,,999.9,0,0,1,0,0,0
41 | 712930,99999,2014,05,16,23.0,4,20.0,4,1007.6,4,1006.5,4,6.6,4,9.3,4,11.1,999.9,29.3,,3.0,,99.99,,999.9,0,0,1,0,0,0
42 | 712930,99999,2014,11,19,3.7,4,1.3,4,1000.7,4,999.5,4,8.1,4,9.5,4,15.0,999.9,8.4,*,0.9,*,99.99,,999.9,0,0,1,0,0,0
43 | 013100,99999,2014,12,11,41.5,4,35.6,4,9999.9,0,9999.9,0,6.2,4,30.5,4,34.0,44.1,42.8,*,39.2,*,99.99,,999.9,0,1,1,1,1,0
44 | 270080,99999,2014,01,06,30.4,4,30.1,4,1016.6,4,999.2,4,6.9,4,3.4,4,3.9,999.9,33.3,*,28.9,*,99.99,,1.6,1,0,1,0,0,0
45 | 270080,99999,2014,01,17,1.9,4,-1.8,4,1021.0,4,1002.5,4,10.9,4,2.4,4,3.9,999.9,5.9,*,-1.7,*,99.99,,999.9,0,0,1,0,0,0
46 | 270080,99999,2014,02,23,33.9,4,31.9,4,1020.0,4,1002.8,4,12.4,4,4.9,4,5.8,999.9,34.5,*,29.1,,99.99,,999.9,0,1,1,0,0,0
47 | 272230,99999,2014,08,01,63.4,4,61.1,4,1016.0,4,1002.0,4,16.2,4,1.9,4,1.9,25.3,67.8,*,57.0,,99.99,,999.9,0,1,0,0,1,0
48 | 662230,99999,2014,01,13,71.1,4,71.1,4,9999.9,0,9999.9,0,1.4,4,5.4,4,8.9,999.9,71.6,*,69.8,*,99.99,,999.9,0,1,0,0,1,0
49 | 662850,99999,2014,02,15,73.0,4,9999.9,0,9999.9,0,9999.9,0,5.6,4,1.3,4,5.1,999.9,80.6,*,66.2,*,99.99,,999.9,0,1,0,0,0,0
50 | 662850,99999,2014,03,12,64.0,4,9999.9,0,9999.9,0,9999.9,0,5.7,4,5.5,4,6.0,999.9,66.2,*,62.6,*,99.99,,999.9,0,1,0,0,0,0
51 | 664600,99999,2014,10,12,87.4,4,48.1,4,1004.8,4,9999.9,0,9.3,4,6.0,4,8.0,999.9,93.0,*,66.0,,99.99,,999.9,0,1,0,0,0,0
52 | 676930,99999,2014,02,27,73.8,4,69.4,4,9999.9,0,9999.9,0,6.2,4,4.8,4,5.1,999.9,77.0,*,71.6,*,99.99,,999.9,0,1,0,0,1,0
53 | 677430,99999,2014,03,21,81.8,4,64.9,4,9999.9,0,9999.9,0,15.4,4,6.5,4,9.9,999.9,92.1,,65.1,,99.99,,999.9,0,1,0,0,1,0
54 | 677650,99999,2014,03,14,72.3,4,64.4,4,9999.9,0,867.4,4,23.3,4,2.5,4,5.1,999.9,80.6,,66.0,*,99.99,,999.9,0,1,0,0,1,0
55 | 677810,99999,2014,01,11,75.6,4,65.8,4,9999.9,0,877.2,4,18.6,4,5.8,4,7.0,999.9,84.2,,67.3,*,99.99,,999.9,0,1,0,0,1,0
56 | 677810,99999,2014,03,14,74.0,4,63.4,4,9999.9,0,878.7,4,18.6,4,5.5,4,8.0,999.9,78.4,*,59.0,,99.99,,999.9,0,1,0,0,1,0
57 | 677810,99999,2014,12,19,71.1,4,65.1,4,9999.9,0,876.7,4,14.0,4,2.8,4,5.1,999.9,77.4,*,65.7,*,99.99,,999.9,0,1,0,0,1,0
58 | 678650,99999,2014,01,15,75.1,4,61.7,4,9999.9,0,881.8,4,18.6,4,2.4,4,2.9,999.9,78.4,*,60.3,,99.99,,999.9,0,1,0,0,0,0
59 | 678690,99999,2014,03,09,73.7,4,67.1,4,9999.9,0,9999.9,0,15.5,4,2.7,4,4.1,999.9,80.6,*,63.5,,99.99,,999.9,0,1,0,0,1,0
60 | 678770,99999,2014,10,04,57.9,4,52.7,4,9999.9,0,9999.9,0,15.5,4,4.1,4,4.1,999.9,59.0,*,55.8,,99.99,,999.9,0,1,0,0,0,0
61 | 678810,99999,2014,10,04,58.7,4,54.5,4,9999.9,0,863.2,4,9.3,4,2.2,4,5.1,999.9,60.3,*,57.4,*,99.99,,999.9,0,1,0,0,0,0
62 | 678890,99999,2014,10,24,73.3,4,49.0,4,9999.9,0,9999.9,0,11.7,4,3.7,4,6.0,999.9,78.3,*,47.3,,99.99,,999.9,0,1,0,0,0,0
63 | 679690,99999,2014,08,17,66.0,4,50.5,4,9999.9,0,9999.9,0,17.1,4,4.3,4,6.0,999.9,71.4,*,58.1,,99.99,,999.9,0,1,0,0,0,0
64 | 679710,99999,2014,01,01,70.2,4,66.1,4,9999.9,0,9999.9,0,12.4,4,3.0,4,4.1,999.9,72.7,*,66.6,*,99.99,,999.9,0,1,0,0,0,0
65 | 679710,99999,2014,06,11,58.6,4,52.4,4,9999.9,0,9999.9,0,8.5,4,5.2,4,9.9,999.9,59.4,*,53.6,,99.99,,999.9,0,1,0,0,0,0
66 | 679760,99999,2014,07,08,60.0,4,57.8,4,9999.9,0,9999.9,0,9.9,4,7.8,4,12.0,999.9,60.8,*,58.1,,99.99,,999.9,1,1,0,0,0,0
67 | 679760,99999,2014,11,15,79.0,4,72.0,4,9999.9,0,9999.9,0,10.7,4,5.8,4,9.9,999.9,88.7,*,71.8,*,99.99,,999.9,0,1,0,0,1,0
68 | 679770,99999,2014,02,24,80.7,4,73.1,4,9999.9,0,966.3,4,18.6,4,5.2,4,8.0,999.9,86.0,*,72.3,*,99.99,,999.9,0,1,0,0,0,0
69 | 679830,99999,2014,11,03,71.9,4,65.9,4,9999.9,0,892.1,4,1.2,4,7.8,4,14.0,999.9,75.4,*,65.7,,99.99,,999.9,0,1,0,0,0,0
70 | 680020,99999,2014,11,01,63.5,4,48.7,4,9999.9,0,9999.9,0,999.9,0,4.5,4,8.0,999.9,68.0,*,59.0,*,99.99,,999.9,0,1,0,0,1,0
71 | 787950,99999,2014,04,29,82.6,4,9999.9,0,1007.9,4,997.9,4,9.6,4,6.0,4,9.9,999.9,97.2,,75.2,,99.99,,999.9,0,1,0,0,1,0
72 | 788730,99999,2014,01,04,81.1,4,75.2,4,9999.9,0,9999.9,0,6.2,4,12.5,4,14.0,999.9,82.4,*,78.8,*,99.99,,999.9,0,1,0,0,0,0
73 | 789500,99999,2014,06,30,83.8,4,76.1,4,9999.9,0,9999.9,0,6.2,4,10.2,4,12.0,999.9,84.2,*,82.4,*,99.99,,999.9,0,1,0,0,0,0
74 | 801490,99999,2014,11,07,65.8,4,9999.9,0,9999.9,0,9999.9,0,5.6,4,5.7,4,8.9,999.9,73.4,*,60.8,*,99.99,,999.9,1,1,0,0,0,0
75 | 804120,99999,2014,08,30,83.8,4,9999.9,0,9999.9,0,9999.9,0,6.2,4,8.0,4,20.0,999.9,86.0,*,82.4,*,99.99,,999.9,0,1,0,0,0,0
76 | 804260,99999,2014,05,06,78.8,4,69.8,4,9999.9,0,9999.9,0,5.7,4,3.5,4,5.1,999.9,86.0,*,73.4,*,99.99,,999.9,0,1,0,0,1,0
77 | 804260,99999,2014,10,16,77.0,4,65.3,4,9999.9,0,9999.9,0,6.2,4,2.2,4,4.1,999.9,84.2,*,71.6,*,99.99,,999.9,0,1,0,0,0,0
78 | 713380,99999,2014,03,01,-0.7,4,-6.3,4,1010.8,4,1010.0,4,8.2,4,4.5,4,8.9,999.9,0.1,,-8.3,,99.99,,999.9,0,0,1,0,0,0
79 | 713380,99999,2014,10,31,27.2,4,25.7,4,1013.3,4,1012.6,4,6.0,4,1.7,4,2.9,999.9,30.2,,25.5,,99.99,,999.9,0,0,1,0,0,0
80 | 713380,99999,2014,11,10,21.9,4,15.9,4,1020.1,4,1019.4,4,8.1,4,8.5,4,13.0,999.9,26.2,,18.3,,99.99,,999.9,0,0,1,0,0,0
81 | 713380,99999,2014,11,19,20.5,4,16.8,4,997.0,4,996.3,4,8.4,4,8.0,4,14.0,999.9,23.2,,8.8,,99.99,,999.9,0,0,1,0,0,0
82 | 713380,99999,2014,11,26,10.4,4,7.2,4,997.0,4,996.3,4,8.1,4,5.8,4,8.0,999.9,15.1,,7.9,,99.99,,999.9,0,0,1,0,0,0
83 | 713380,99999,2014,12,01,4.3,4,0.8,4,999.5,4,998.8,4,8.7,4,4.5,4,8.9,999.9,8.1,,-3.1,,99.99,,999.9,0,0,1,0,0,0
84 | 713660,99999,2014,04,25,8.5,4,4.6,4,1026.3,4,1020.0,4,8.1,4,4.7,4,8.9,999.9,14.0,,4.3,,99.99,,999.9,0,0,1,0,0,0
85 | 713690,99999,2014,11,08,20.2,4,18.2,4,1026.0,4,953.6,4,3.4,4,6.3,4,8.9,999.9,37.2,,15.1,,99.99,,999.9,0,0,1,0,0,0
86 | 713690,99999,2014,11,11,10.6,4,6.1,4,1046.3,4,971.4,4,8.9,4,7.7,4,12.0,999.9,12.7,,4.6,,99.99,,999.9,0,0,1,0,0,0
87 | 713690,99999,2014,12,28,9.3,4,6.5,4,1028.4,4,954.8,4,9.9,4,7.2,4,9.9,999.9,14.0,,-0.9,,99.99,,999.9,0,0,1,0,0,0
88 | 713980,99999,2014,02,07,7.3,4,2.2,4,1005.0,4,1003.8,4,3.0,4,10.5,4,14.0,999.9,11.8,,-1.5,,99.99,,999.9,0,0,1,0,0,0
89 | 713980,99999,2014,05,03,39.9,4,34.0,4,1001.4,4,1000.3,4,9.9,4,6.0,4,11.1,999.9,47.5,,31.8,,99.99,,999.9,0,1,0,0,0,0
90 | 713980,99999,2014,07,27,52.8,4,47.8,4,1009.2,4,1008.1,4,9.9,4,7.2,4,9.9,999.9,60.6,,43.5,,99.99,,999.9,0,1,0,0,0,0
91 | 713980,99999,2014,08,15,55.5,4,51.5,4,1008.6,4,1007.6,4,9.9,4,7.3,4,11.1,999.9,67.3,,48.7,,99.99,,999.9,0,1,0,0,0,0
92 | 680300,99999,2014,11,05,85.3,4,64.2,4,9999.9,0,9999.9,0,6.2,4,10.2,4,15.0,999.9,95.9,*,72.9,,99.99,,999.9,0,1,0,0,0,0
93 | 680400,99999,2014,01,29,72.8,4,69.8,4,9999.9,0,901.3,4,6.2,4,5.8,4,7.0,999.9,76.8,*,69.3,*,99.99,,999.9,0,1,0,0,0,0
94 | 680400,99999,2014,12,14,77.9,4,66.8,4,9999.9,0,902.9,4,6.2,4,5.3,4,12.0,999.9,87.8,,73.0,*,99.99,,999.9,0,1,0,0,0,0
95 | 682620,99999,2014,11,29,66.7,4,54.5,4,9999.9,0,9999.9,0,6.2,4,6.5,4,8.0,22.0,71.6,*,62.6,*,99.99,,999.9,0,1,0,0,1,0
96 | 682645,99999,2014,03,14,64.0,4,9999.9,0,9999.9,0,9999.9,0,5.6,4,9.9,4,9.9,999.9,69.8,*,57.2,*,99.99,,999.9,0,1,0,0,0,0
97 | 682645,99999,2014,12,23,69.8,4,9999.9,0,9999.9,0,9999.9,0,5.0,4,8.2,4,9.9,999.9,73.4,*,66.2,*,99.99,,999.9,0,1,0,0,0,0
98 | 683250,99999,2014,03,31,68.8,4,57.7,4,9999.9,0,9999.9,0,6.2,4,6.8,4,15.0,999.9,82.6,,60.8,,99.99,,999.9,0,1,0,1,1,0
99 | 683465,99999,2014,03,10,58.1,4,55.4,4,9999.9,0,9999.9,0,5.4,4,12.3,4,13.0,999.9,60.8,*,55.4,*,99.99,,999.9,0,1,0,0,0,0
100 | 683465,99999,2014,11,30,61.7,4,52.7,4,9999.9,0,9999.9,0,6.2,4,8.4,4,15.0,999.9,69.8,*,51.8,*,99.99,,999.9,0,1,0,0,1,0
101 | 804750,99999,2014,08,02,72.5,4,69.3,4,9999.9,0,9999.9,0,5.9,4,0.0,4,999.9,999.9,78.8,*,69.8,*,99.99,,999.9,0,1,0,0,0,0
102 | 822880,99999,2014,02,14,81.9,4,77.9,4,9999.9,0,9999.9,0,6.2,4,8.7,4,13.0,999.9,82.4,*,80.6,*,99.99,,999.9,0,1,0,0,0,0
103 | 279950,99999,2014,09,26,53.9,4,45.8,4,1015.6,4,1009.7,4,13.2,4,2.9,4,3.9,999.9,63.9,*,39.9,*,99.99,,999.9,0,1,0,0,0,0
104 | 282750,99999,2014,01,11,23.3,4,19.7,4,1016.4,4,1010.3,4,5.3,4,5.3,4,7.8,999.9,25.3,*,21.7,*,99.99,,999.9,0,0,1,0,0,0
105 | 282750,99999,2014,01,16,20.0,4,17.7,4,1013.2,4,1007.1,4,3.4,4,4.4,4,5.8,999.9,21.7,*,15.8,*,99.99,,999.9,0,0,1,0,0,0
106 | 282750,99999,2014,01,23,0.9,4,-1.8,4,1020.2,4,1013.9,4,5.3,4,2.9,4,5.8,999.9,1.4,*,-18.8,,99.99,,11.0,0,0,1,0,0,0
107 | 282750,99999,2014,02,16,4.0,4,-0.5,4,1022.8,4,1016.2,4,999.9,0,5.8,4,7.8,999.9,9.1,*,-5.4,*,99.99,,999.9,0,0,1,0,0,0
108 | 282750,99999,2014,03,11,36.4,4,28.4,4,1005.5,4,999.6,4,9.3,4,5.8,4,7.8,999.9,38.1,*,35.1,*,99.99,,14.6,0,1,0,0,0,0
109 | 282750,99999,2014,03,13,28.4,4,23.3,4,1000.5,4,994.6,4,9.9,4,6.3,4,7.8,19.4,34.2,*,18.1,,99.99,,12.6,0,0,1,0,0,0
110 | 282750,99999,2014,06,29,71.7,4,56.7,4,1012.4,4,1006.9,4,10.9,4,5.8,4,7.8,999.9,76.1,*,63.3,*,99.99,,999.9,0,1,0,0,1,0
111 | 282750,99999,2014,10,10,36.1,4,31.9,4,1015.4,4,1009.5,4,7.8,4,5.8,4,5.8,999.9,37.2,*,35.4,*,99.99,,999.9,0,1,1,0,0,0
112 | 282750,99999,2014,10,13,30.8,4,23.3,4,1014.5,4,1008.5,4,7.8,4,2.4,4,3.9,999.9,32.0,*,26.8,,99.99,,999.9,0,0,1,0,0,0
113 | 714990,99999,2014,12,31,11.2,4,9.2,4,1013.2,4,948.8,4,4.3,4,14.0,4,18.1,999.9,15.8,,3.4,,99.99,,999.9,0,0,1,0,0,0
114 | 014703,99999,2014,03,02,35.6,4,35.1,4,9999.9,0,9999.9,0,6.2,4,3.0,4,4.1,999.9,37.4,*,33.8,*,99.99,,999.9,0,1,0,0,0,0
115 | 021100,99999,2014,12,28,-6.7,4,-10.3,4,9999.9,0,9999.9,0,24.2,4,2.9,4,3.9,999.9,-0.6,*,-20.0,*,99.99,,999.9,0,0,1,0,0,0
116 | 021210,99999,2014,12,30,35.6,4,33.2,4,1002.3,4,929.2,4,10.9,4,14.1,4,17.5,999.9,37.2,*,33.8,*,99.99,,999.9,0,1,0,0,0,0
117 | 021470,99999,2014,12,29,6.7,4,4.1,4,9999.9,0,9999.9,0,12.8,4,999.9,0,999.9,999.9,20.3,*,-6.3,*,99.99,,999.9,0,0,1,0,0,0
118 | 021490,99999,2014,12,29,-1.8,4,-10.8,4,1015.7,4,966.8,4,999.9,0,999.9,0,999.9,999.9,22.1,*,-20.4,*,99.99,,999.9,0,0,1,0,0,0
119 | 021610,99999,2014,12,29,-9.1,4,-14.3,4,9999.9,0,9999.9,0,15.0,4,999.9,0,999.9,999.9,7.0,*,-23.6,*,99.99,,999.9,0,0,1,0,0,0
120 | 021710,99999,2014,12,29,-11.5,4,-17.1,4,1017.0,4,1013.6,4,23.9,4,999.9,0,999.9,999.9,0.5,*,-18.9,*,99.99,,999.9,0,0,1,0,0,0
121 | 021740,99999,2014,12,30,20.0,4,19.2,4,1001.9,4,978.8,4,21.0,4,999.9,0,999.9,999.9,31.1,*,9.0,*,99.99,,999.9,0,0,1,0,0,0
122 | 022300,99999,2014,12,28,-1.3,4,-5.2,4,9999.9,0,9999.9,0,21.4,4,999.9,0,999.9,999.9,1.6,*,-5.3,*,99.99,,999.9,0,0,1,0,0,0
123 | 292530,99999,2014,01,04,-27.4,4,-31.8,4,1022.0,4,1002.3,4,999.9,0,0.0,4,999.9,999.9,-20.6,*,-29.9,*,99.99,,999.9,0,0,1,0,0,0
124 | 292530,99999,2014,01,15,5.8,4,-1.7,4,1027.3,4,1009.1,4,999.9,0,0.0,4,999.9,999.9,14.0,*,-6.5,*,99.99,,999.9,0,0,1,0,0,0
125 | 292530,99999,2014,01,19,13.6,4,9.5,4,1023.8,4,1005.8,4,999.9,0,2.4,4,3.9,999.9,20.5,*,-0.4,,99.99,,999.9,0,0,1,0,0,0
126 | 292530,99999,2014,03,01,1.4,4,-2.0,4,1030.1,4,1011.7,4,999.9,0,0.5,4,1.9,999.9,14.5,*,-18.2,*,99.99,,999.9,0,0,1,0,0,0
127 | 292530,99999,2014,03,04,9.8,4,5.8,4,1035.7,4,1017.5,4,999.9,0,0.0,4,999.9,999.9,17.6,*,-2.4,,99.99,,999.9,0,0,1,0,0,0
128 | 292530,99999,2014,12,10,12.4,4,10.0,4,1034.1,4,1016.0,4,999.9,0,1.5,4,1.9,999.9,16.7,*,4.6,,99.99,,999.9,0,0,1,0,0,0
129 | 292530,99999,2014,12,31,-0.8,4,-5.3,4,1018.0,4,999.6,4,999.9,0,1.9,4,3.9,999.9,1.4,*,-16.4,,99.99,,15.7,0,0,1,0,0,0
130 | 839250,99999,2014,02,22,72.5,4,70.3,4,1012.4,4,9999.9,0,26.4,4,6.9,4,8.9,999.9,75.0,*,68.4,,99.99,,999.9,0,1,0,0,0,0
131 | 839250,99999,2014,02,24,73.7,4,69.4,4,1009.8,4,9999.9,0,31.1,4,8.7,4,20.0,999.9,76.8,*,69.8,,99.99,,999.9,0,1,0,0,0,0
132 | 839250,99999,2014,03,13,73.8,4,70.0,4,1017.9,4,9999.9,0,18.6,4,4.8,4,7.0,999.9,75.6,*,71.6,,99.99,,999.9,0,1,0,0,0,0
133 | 839250,99999,2014,06,25,66.4,4,63.4,4,1013.4,4,9999.9,0,18.6,4,7.0,4,14.0,999.9,68.7,,64.8,,99.99,,999.9,0,1,0,0,0,0
134 | 839250,99999,2014,06,29,67.8,4,62.1,4,1012.1,4,9999.9,0,26.4,4,19.5,4,26.0,999.9,73.0,*,66.0,*,99.99,,999.9,0,1,0,0,0,0
135 | 839250,99999,2014,07,10,62.4,4,59.4,4,1024.4,4,9999.9,0,18.6,4,3.7,4,8.0,999.9,64.4,*,60.3,*,99.99,,999.9,0,1,0,0,0,0
136 | 839250,99999,2014,07,25,57.1,4,50.2,4,1016.6,4,9999.9,0,18.6,4,26.5,4,34.0,999.9,66.2,,53.4,*,99.99,,999.9,0,1,0,0,0,0
137 | 839250,99999,2014,12,22,73.6,4,69.6,4,1008.0,4,9999.9,0,20.2,4,15.3,4,20.0,999.9,77.0,,72.3,,99.99,,999.9,0,1,0,0,0,0
138 | 839420,99999,2014,01,25,59.0,4,59.0,4,9999.9,0,9999.9,0,0.6,4,6.5,4,8.0,999.9,9999.9,,9999.9,,99.99,,999.9,1,1,0,0,0,0
139 | 840080,99999,2014,08,14,74.4,4,69.3,4,9999.9,0,9999.9,0,5.4,4,12.0,4,28.0,999.9,80.1,*,70.2,*,99.99,,999.9,0,1,0,0,0,0
140 | 840080,99999,2014,11,23,74.7,4,66.1,4,9999.9,0,9999.9,0,9.3,4,7.0,4,12.0,999.9,84.2,,72.0,*,99.99,,999.9,0,1,0,0,0,0
141 | 840260,99999,2014,10,22,80.2,4,73.8,4,9999.9,0,9999.9,0,14.0,4,6.5,4,8.0,999.9,84.6,,75.6,,99.99,,999.9,0,1,0,0,0,0
142 | 840710,99999,2014,10,21,62.2,4,52.0,4,9999.9,0,763.7,4,9.0,4,7.5,4,12.0,999.9,76.1,,52.5,,99.99,,999.9,1,1,0,0,1,0
143 | 842390,99999,2014,12,21,63.3,4,51.9,4,9999.9,0,753.5,4,17.9,4,6.5,4,9.9,999.9,75.4,,54.3,,99.99,,999.9,0,1,0,0,1,0
144 | 715130,99999,2014,01,28,16.2,4,11.4,4,998.5,4,997.0,4,2.9,4,22.5,4,28.0,999.9,32.7,,-4.7,,99.99,,999.9,0,0,1,0,0,0
145 | 715130,99999,2014,02,28,13.6,4,10.8,4,1002.8,4,1001.2,4,4.2,4,13.3,4,18.1,999.9,19.2,,8.4,,99.99,,999.9,0,0,1,0,0,0
146 | 715320,99999,2014,01,08,5.4,4,1.8,4,1020.8,4,984.7,4,1.1,4,10.8,4,12.0,999.9,11.3,,-6.3,,99.99,,999.9,0,0,1,0,0,0
147 | 715320,99999,2014,01,27,7.2,4,1.9,4,1000.0,4,964.6,4,4.5,4,10.0,4,13.0,999.9,13.5,*,2.7,*,99.99,,999.9,0,0,1,0,0,0
148 | 715870,99999,2014,02,21,11.7,4,8.1,4,1004.1,4,967.4,4,3.7,4,7.2,4,9.9,999.9,12.4,*,11.1,*,99.99,,999.9,0,0,1,0,0,0
149 | 297710,99999,2014,10,02,42.6,4,41.5,4,1023.7,4,928.0,4,999.9,0,1.9,4,3.9,999.9,45.9,*,39.9,*,99.99,,999.9,0,1,0,0,0,0
150 | 689060,99999,2014,01,25,64.7,4,59.7,4,1004.7,4,998.4,4,7.8,4,17.0,4,25.1,999.9,72.9,,54.7,,99.99,,999.9,0,1,0,0,0,0
151 | 689263,99999,2014,08,28,46.9,4,9999.9,0,9999.9,0,9999.9,0,4.7,4,18.0,4,25.1,35.0,50.0,*,44.6,*,99.99,,999.9,0,1,0,0,0,0
152 | 851090,99999,2014,02,17,81.4,4,75.8,4,1009.2,4,993.3,4,6.4,4,7.3,4,15.0,999.9,88.9,*,70.7,,99.99,,999.9,0,1,0,0,1,0
153 | 851160,99999,2014,01,23,81.0,4,75.4,4,1010.9,4,993.0,4,8.1,4,6.0,4,6.0,999.9,88.2,,73.0,,99.99,,999.9,0,1,0,0,1,0
154 | 851160,99999,2014,12,08,78.4,4,74.9,4,1010.0,4,992.1,4,7.9,4,6.0,4,6.0,999.9,84.7,,73.8,,99.99,,999.9,0,1,0,0,0,0
155 | 851750,99999,2014,03,10,81.9,4,76.4,4,9999.9,0,9999.9,0,7.0,4,6.5,4,8.0,999.9,87.8,,80.6,*,99.99,,999.9,0,1,0,0,0,0
156 | 859300,99999,2014,06,19,47.9,4,47.2,4,1008.6,4,9999.9,0,0.9,4,24.2,4,29.9,999.9,50.9,,47.1,,99.99,,999.9,0,1,0,0,0,0
157 | 022360,99999,2014,12,28,-4.3,4,-8.7,4,1021.8,4,973.5,4,28.7,4,999.9,0,999.9,999.9,-0.8,*,-7.1,*,99.99,,999.9,0,0,1,0,0,0
158 | 022560,99999,2014,12,29,14.2,4,12.0,4,9999.9,0,9999.9,0,999.9,0,999.9,0,999.9,999.9,20.7,*,5.0,*,99.99,,999.9,0,0,1,0,0,0
159 | 022710,99999,2014,12,30,32.4,4,30.9,4,1005.2,4,967.3,4,31.1,4,3.9,4,5.8,999.9,38.5,*,24.4,*,99.99,,999.9,0,1,0,0,0,0
160 | 022820,99999,2014,12,29,0.5,4,-2.7,4,9999.9,0,9999.9,0,13.0,4,999.9,0,999.9,999.9,20.3,*,-14.6,*,99.99,,999.9,0,0,1,0,0,0
161 | 022920,99999,2014,12,28,10.2,4,7.4,4,9999.9,0,9999.9,0,999.9,0,999.9,0,999.9,999.9,12.6,*,6.4,*,99.99,,999.9,0,0,1,0,0,0
162 | 023030,99999,2014,12,29,21.6,4,19.8,4,9999.9,0,9999.9,0,999.9,0,10.7,4,17.5,999.9,29.8,*,15.4,*,99.99,,999.9,0,0,1,0,0,0
163 | 023190,99999,2014,12,29,20.8,4,18.8,4,9999.9,0,9999.9,0,11.7,4,999.9,0,999.9,999.9,37.8,*,9.0,*,99.99,,999.9,0,0,1,0,0,0
164 | 023430,99999,2014,12,30,29.8,4,29.1,4,1013.4,4,1000.8,4,16.3,4,999.9,0,999.9,999.9,32.9,*,22.6,*,99.99,,999.9,0,1,0,0,0,0
165 | 023820,99999,2014,12,29,16.8,4,15.8,4,9999.9,0,9999.9,0,20.4,4,5.8,4,7.8,999.9,28.0,*,9.5,*,99.99,,999.9,0,0,1,0,0,0
166 | 024260,99999,2014,12,29,8.4,4,5.2,4,1025.9,4,1001.7,4,22.7,4,999.9,0,999.9,999.9,16.7,*,-0.2,*,99.99,,999.9,0,0,1,0,0,0
167 | 024680,99999,2014,12,29,18.5,4,15.7,4,9999.9,0,9999.9,0,20.5,4,7.3,4,9.7,999.9,23.7,*,12.6,*,99.99,,999.9,0,0,1,0,0,0
168 | 024720,99999,2014,12,29,15.1,4,12.1,4,9999.9,0,9999.9,0,999.9,0,999.9,0,999.9,999.9,22.8,*,7.2,*,99.99,,999.9,0,0,1,0,0,0
169 | 024890,99999,2014,12,30,32.0,4,30.8,4,1018.6,4,1018.0,4,17.6,4,5.3,4,5.8,999.9,33.6,*,29.7,*,99.99,,999.9,0,1,1,0,0,0
170 | 025460,99999,2014,12,30,30.7,4,30.1,4,1021.5,4,994.9,4,0.8,4,2.4,4,3.9,999.9,31.5,*,29.1,*,99.99,,999.9,1,1,0,0,0,0
171 | 716780,99999,2014,02,06,0.6,4,-4.4,4,1014.5,4,978.4,4,4.6,4,13.5,4,15.0,999.9,6.6,,-7.4,,99.99,,999.9,0,0,1,0,0,0
172 | 701045,26649,2014,06,01,32.5,4,31.1,4,9999.9,0,975.6,4,2.0,4,9.8,4,12.0,15.9,33.8,*,32.0,*,99.99,,999.9,0,1,1,0,0,0
173 | 701045,26649,2014,06,09,46.4,4,43.2,4,9999.9,0,973.2,4,14.3,4,2.0,4,8.0,999.9,48.2,*,44.6,*,99.99,,999.9,0,1,0,0,0,0
174 | 701196,99999,2014,12,27,-5.5,4,-10.5,4,9999.9,0,9999.9,0,9.3,4,9.7,4,11.1,22.9,-5.1,*,-9.4,*,99.99,,999.9,0,0,1,0,0,0
175 | 701747,26467,2014,03,05,9.5,4,0.9,4,9999.9,0,9999.9,0,11.0,4,0.0,4,999.9,999.9,19.4,*,-0.4,*,99.99,,999.9,0,0,1,0,0,0
176 | 701747,26467,2014,03,12,19.9,4,13.5,4,9999.9,0,9999.9,0,999.9,0,0.0,4,999.9,999.9,26.6,*,15.8,*,99.99,,999.9,0,0,1,0,0,0
177 | 701793,26524,2014,02,05,8.6,4,5.4,4,9999.9,0,1031.3,4,5.0,4,0.5,4,1.9,999.9,10.4,*,6.8,*,99.99,,999.9,0,0,1,0,0,0
178 | 702490,26526,2014,02,06,28.9,4,27.5,4,9999.9,0,9999.9,0,22.5,4,7.7,4,9.9,999.9,32.0,*,26.6,*,99.99,,999.9,0,0,1,0,0,0
179 | 311520,99999,2014,02,18,-16.0,4,-22.9,4,1038.0,4,993.4,4,20.2,4,999.9,0,999.9,999.9,-11.2,*,-29.6,,99.99,,999.9,0,0,1,0,0,0
180 | 311520,99999,2014,03,08,5.5,4,-1.4,4,1027.9,4,985.7,4,15.5,4,4.4,4,7.8,999.9,9.9,*,1.2,*,99.99,,999.9,0,0,1,0,0,0
181 | 311520,99999,2014,04,14,27.0,4,20.4,4,1008.1,4,968.5,4,9.9,4,6.3,4,9.7,999.9,30.0,*,25.3,*,99.99,,999.9,0,0,1,0,0,0
182 | 311680,99999,2014,02,11,19.9,4,17.1,4,1015.6,4,1014.7,4,4.7,4,4.4,4,5.8,999.9,22.5,*,16.5,*,99.99,,999.9,0,0,1,0,0,0
183 | 311680,99999,2014,02,27,10.2,4,6.1,4,1015.8,4,1015.0,4,4.3,4,10.2,4,15.5,999.9,12.6,*,7.2,*,99.99,,999.9,0,0,1,0,0,0
184 | 311680,99999,2014,03,06,17.5,4,11.2,4,1016.4,4,1015.5,4,7.1,4,7.3,4,9.7,999.9,20.3,*,13.3,*,99.99,,999.9,0,0,1,0,0,0
185 | 311680,99999,2014,03,28,25.5,4,21.5,4,1004.6,4,1003.9,4,14.6,4,4.9,4,5.8,999.9,26.6,*,24.3,*,99.99,,999.9,0,0,1,0,0,0
186 | 311680,99999,2014,04,09,29.1,4,21.0,4,1010.9,4,1010.1,4,9.9,4,4.4,4,5.8,999.9,32.5,*,26.1,*,99.99,,999.9,0,0,1,0,0,0
187 | 311680,99999,2014,04,14,30.7,4,9999.9,0,1002.7,4,1001.9,4,9.1,4,7.3,4,9.7,999.9,34.9,*,26.8,*,99.99,,999.9,1,0,1,0,0,0
188 | 311680,99999,2014,06,07,41.2,4,38.2,4,1015.1,4,1014.3,4,14.0,4,8.3,4,17.5,999.9,44.6,*,36.7,*,99.99,,999.9,0,1,0,0,0,0
189 | 311680,99999,2014,06,14,44.5,4,43.4,4,1017.6,4,1016.8,4,1.4,4,8.7,4,11.7,999.9,45.0,*,43.5,*,99.99,,999.9,0,1,0,0,0,0
190 | 311680,99999,2014,06,20,47.8,4,45.3,4,1007.9,4,1007.2,4,14.0,4,5.8,4,9.7,999.9,50.9,*,46.0,*,99.99,,999.9,0,1,0,0,0,0
191 | 311680,99999,2014,07,08,51.4,4,49.0,4,1007.3,4,1006.6,4,15.5,4,999.9,0,999.9,999.9,53.4,*,49.3,*,99.99,,999.9,0,1,0,0,0,0
192 | 311680,99999,2014,07,17,50.9,4,49.5,4,1018.0,4,1017.2,4,4.3,4,999.9,0,999.9,999.9,52.3,*,49.6,*,99.99,,999.9,0,1,0,0,0,0
193 | 311680,99999,2014,08,01,52.6,4,50.6,4,1006.2,4,1005.5,4,7.5,4,6.8,4,9.7,999.9,54.7,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
194 | 311680,99999,2014,08,02,51.6,4,50.2,4,1003.3,4,1002.6,4,5.0,4,8.3,4,13.6,999.9,52.2,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
195 | 311680,99999,2014,08,23,62.5,4,53.7,4,1017.1,4,1016.4,4,24.9,4,4.4,4,5.8,999.9,69.1,*,57.4,*,99.99,,999.9,0,1,0,0,0,0
196 | 311680,99999,2014,08,26,56.0,4,52.7,4,1016.6,4,1015.9,4,15.6,4,999.9,0,999.9,999.9,61.5,*,49.1,*,99.99,,999.9,1,1,0,0,0,0
197 | 311680,99999,2014,09,10,57.0,4,54.9,4,1017.4,4,1016.7,4,8.4,4,3.9,4,7.8,999.9,58.8,*,55.4,*,99.99,,999.9,0,1,0,0,0,0
198 | 311680,99999,2014,09,16,53.6,4,51.1,4,1011.0,4,1010.4,4,13.0,4,999.9,0,999.9,999.9,56.1,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
199 | 311680,99999,2014,10,10,41.2,4,32.7,4,1023.6,4,1022.8,4,24.9,4,999.9,0,999.9,999.9,45.5,*,37.9,*,99.99,,999.9,0,1,0,0,0,0
200 | 311680,99999,2014,11,02,23.7,4,20.7,4,1010.2,4,1009.3,4,17.4,4,5.8,4,7.8,999.9,26.1,*,18.5,*,99.99,,999.9,0,0,1,0,0,0
201 | 311680,99999,2014,11,13,11.9,4,9.3,4,1002.4,4,1001.6,4,1.6,4,3.9,4,3.9,999.9,14.5,*,10.2,*,99.99,,999.9,0,0,1,0,0,0
202 | 311680,99999,2014,12,11,6.0,4,0.7,4,1013.8,4,1013.0,4,5.9,4,6.3,4,9.7,999.9,10.8,*,0.5,,99.99,,999.9,0,0,1,0,0,0
203 | 311680,99999,2014,12,21,-1.6,4,-12.6,4,1002.6,4,1001.7,4,16.8,4,4.4,4,7.8,999.9,12.2,*,-26.1,,99.99,,999.9,0,0,1,0,0,0
204 | 313480,99999,2014,01,07,-19.2,4,-20.9,4,1019.7,4,998.2,4,24.9,4,0.0,4,999.9,999.9,-15.2,*,-25.2,,99.99,,999.9,0,0,1,0,0,0
205 | 313690,99999,2014,02,04,-8.3,4,-14.8,4,1013.7,4,1004.5,4,10.9,4,11.7,4,17.5,999.9,-2.6,*,-12.5,*,99.99,,999.9,0,0,1,0,0,0
206 | 313690,99999,2014,02,10,0.0,4,-6.7,4,1028.1,4,1019.2,4,19.3,4,7.3,4,11.7,999.9,4.8,*,-13.4,,99.99,,999.9,0,0,1,0,0,0
207 | 313690,99999,2014,02,17,3.7,4,-2.2,4,1029.7,4,1020.5,4,4.3,4,6.3,4,7.8,999.9,6.3,*,-1.5,*,99.99,,999.9,0,0,1,0,0,0
208 | 313690,99999,2014,02,21,8.6,4,3.8,4,1024.5,4,1015.6,4,9.9,4,3.4,4,5.8,999.9,18.5,*,-4.5,*,99.99,,999.9,0,0,1,0,0,0
209 | 313690,99999,2014,02,26,13.8,4,8.7,4,1019.3,4,1010.4,4,19.3,4,7.8,4,9.7,999.9,16.9,*,0.3,,99.99,,999.9,0,0,1,0,0,0
210 | 313690,99999,2014,02,27,16.7,4,16.0,4,1003.5,4,994.9,4,1.9,4,9.2,4,15.5,999.9,19.8,*,13.1,*,99.99,,999.9,0,0,1,0,0,0
211 | 313690,99999,2014,02,28,6.3,4,2.3,4,1009.1,4,1000.3,4,2.2,4,10.2,4,13.6,999.9,10.0,*,-0.2,*,99.99,,999.9,0,0,1,0,0,0
212 | 313690,99999,2014,03,01,1.8,4,-2.6,4,1010.9,4,1001.9,4,3.5,4,15.1,4,17.5,999.9,3.4,*,-2.6,,99.99,,999.9,0,0,1,0,0,0
213 | 313690,99999,2014,04,29,34.9,4,32.0,4,1011.7,4,1003.4,4,15.5,4,4.4,4,7.8,999.9,38.8,*,30.2,*,99.99,,999.9,0,1,0,0,0,0
214 | 313690,99999,2014,05,04,35.0,4,32.9,4,1016.6,4,1008.2,4,6.2,4,5.8,4,7.8,999.9,36.7,*,33.8,*,99.99,,999.9,0,1,0,0,0,0
215 | 313690,99999,2014,07,17,61.0,4,58.5,4,1013.6,4,1005.7,4,15.5,4,7.3,4,9.7,999.9,63.1,*,59.2,*,99.99,,999.9,0,1,0,0,0,0
216 | 313690,99999,2014,07,18,66.1,4,61.7,4,1014.8,4,1004.9,4,12.4,4,11.7,4,11.7,999.9,67.5,*,62.8,*,99.99,,999.9,0,1,0,0,0,0
217 | 313690,99999,2014,07,21,64.0,4,62.2,4,990.8,4,983.1,4,9.3,4,11.7,4,13.6,999.9,66.6,*,62.4,*,99.99,,999.9,0,1,0,0,0,0
218 | 313690,99999,2014,07,22,65.6,4,61.1,4,988.3,4,980.6,4,12.4,4,7.3,4,11.7,999.9,75.0,*,56.8,*,99.99,,999.9,0,1,0,0,0,0
219 | 313690,99999,2014,07,27,68.2,4,60.9,4,9999.9,0,993.4,4,6.8,4,3.9,4,3.9,999.9,80.2,*,62.1,*,99.99,,999.9,0,1,0,0,0,0
220 | 313690,99999,2014,10,10,40.3,4,35.5,4,1021.9,4,1016.1,4,23.9,4,999.9,0,999.9,999.9,44.2,*,29.3,,99.99,,999.9,0,1,0,0,0,0
221 | 313690,99999,2014,10,27,31.4,4,30.7,4,1015.4,4,1009.5,4,0.4,4,10.2,4,11.7,999.9,31.8,*,30.6,*,99.99,,999.9,0,1,1,0,0,0
222 | 313690,99999,2014,11,03,29.8,4,28.0,4,976.6,4,971.0,4,0.4,4,14.6,4,21.4,999.9,31.5,*,27.1,*,99.99,,999.9,0,0,1,0,0,0
223 | 313690,99999,2014,11,13,32.6,4,31.6,4,986.4,4,980.8,4,3.3,4,999.9,0,999.9,999.9,33.4,*,32.0,*,99.99,,999.9,0,1,1,0,0,0
224 | 313690,99999,2014,12,11,-7.6,4,-11.7,4,1013.4,4,1007.1,4,16.8,4,7.3,4,13.6,999.9,-3.1,*,-11.4,,99.99,,999.9,0,0,1,0,0,0
225 | 313690,99999,2014,12,20,-18.5,4,-23.7,4,1016.3,4,1009.8,4,9.9,4,4.4,4,5.8,999.9,-11.7,*,-23.1,*,99.99,,999.9,0,0,1,0,0,0
226 | 313690,99999,2014,12,21,-4.4,4,-8.1,4,987.0,4,980.8,4,999.9,0,19.4,4,27.2,999.9,5.4,*,-14.3,*,99.99,,999.9,0,0,1,0,0,0
227 | 313690,99999,2014,12,30,-8.9,4,-13.0,4,1010.0,4,1003.7,4,15.5,4,3.9,4,5.8,999.9,-1.3,*,-23.8,,99.99,,999.9,0,0,1,0,0,0
228 | 314180,99999,2014,06,13,63.2,4,41.8,4,1009.2,4,985.7,4,18.6,4,3.4,4,3.9,999.9,71.1,*,52.2,*,99.99,,999.9,0,1,0,0,0,0
229 | 025530,99999,2014,12,29,19.5,4,18.1,4,9999.9,0,9999.9,0,999.9,0,999.9,0,999.9,999.9,27.5,*,11.7,*,99.99,,999.9,0,0,1,0,0,0
230 | 025570,99999,2014,12,30,28.8,4,28.0,4,1022.6,4,1011.1,4,10.8,4,999.9,0,999.9,999.9,31.3,*,25.0,*,99.99,,999.9,0,0,1,0,0,0
231 | 026030,99999,2014,12,29,20.3,4,19.1,4,9999.9,0,9999.9,0,999.9,0,999.9,0,999.9,999.9,32.4,*,10.9,*,99.99,,999.9,0,0,1,0,0,0
232 | 026160,99999,2014,08,24,57.9,4,50.1,4,1010.5,4,1009.9,4,25.3,4,17.5,4,21.4,999.9,60.3,*,55.6,,99.99,,999.9,0,1,0,0,0,0
233 | 027260,99999,2014,12,18,14.1,4,13.0,4,993.3,4,946.3,4,22.5,4,3.9,4,5.8,999.9,19.0,,10.6,,99.99,,999.9,0,0,1,0,0,0
234 | 862100,99999,2014,05,05,71.0,4,67.0,4,1012.3,4,977.9,4,10.1,4,5.1,4,8.0,999.9,85.3,,69.8,*,99.99,,999.9,0,1,0,0,0,0
235 | 862550,99999,2014,01,11,76.7,4,70.5,4,1012.7,4,1006.1,4,9.3,4,11.0,4,20.0,999.9,95.7,,71.6,,99.99,,999.9,0,1,0,0,1,0
236 | 862600,99999,2014,01,25,77.4,4,68.8,4,1010.7,4,995.6,4,12.4,4,1.5,4,1.9,999.9,100.4,,71.6,*,99.99,,999.9,0,1,0,0,0,0
237 | 863300,99999,2014,08,30,71.6,4,53.5,4,1012.9,4,9999.9,0,9.3,4,5.2,4,8.0,999.9,82.2,*,46.0,,99.99,,999.9,0,1,0,0,1,0
238 | 863300,99999,2014,11,11,78.4,4,65.2,4,1006.8,4,9999.9,0,10.9,4,4.5,4,6.0,999.9,82.6,*,68.4,,99.99,,999.9,0,1,0,0,0,0
239 | 864500,99999,2014,01,19,85.7,4,71.1,4,1009.0,4,9999.9,0,10.9,4,4.7,4,8.9,999.9,99.7,,75.9,*,99.99,,999.9,0,1,0,0,1,0
240 | 864500,99999,2014,09,23,65.3,4,55.4,4,1011.0,4,9999.9,0,6.2,4,6.0,4,14.0,999.9,75.9,*,51.8,,99.99,,999.9,0,1,0,0,0,0
241 | 865600,99999,2014,09,13,59.1,4,9999.9,0,1016.8,4,9999.9,0,6.2,4,15.7,4,20.0,999.9,59.5,*,50.0,,99.99,,999.9,0,1,0,0,0,0
242 | 865850,99999,2014,09,23,62.5,4,55.9,4,1010.7,4,9999.9,0,5.3,4,11.5,4,15.9,999.9,66.6,*,54.9,,99.99,,999.9,0,1,0,0,0,0
243 | 872170,99999,2014,03,09,76.6,4,67.6,4,1004.0,4,956.2,4,11.7,4,4.2,4,6.0,999.9,85.3,*,68.0,,99.99,,999.9,0,1,0,0,0,0
244 | 875710,99999,2014,04,29,61.3,4,59.0,4,9999.9,0,9999.9,0,2.3,4,6.2,4,8.0,999.9,62.6,*,60.8,*,99.99,,999.9,0,1,0,0,0,0
245 | 717550,99999,2014,07,13,50.0,4,48.2,4,1002.1,4,9999.9,0,9.0,4,7.7,4,8.9,999.9,53.6,*,48.2,*,99.99,,999.9,0,1,0,0,0,0
246 | 876410,99999,2014,07,12,51.7,4,50.5,4,1022.1,4,1004.3,4,7.1,4,9.2,4,9.9,999.9,60.8,,48.9,,99.99,,999.9,0,1,0,0,0,0
247 | 890040,99999,2014,08,20,-7.9,4,-9.9,4,979.8,4,873.8,4,0.0,4,48.0,4,58.1,60.0,-3.8,,-17.0,,99.99,,999.9,0,0,1,0,0,0
248 | 890090,90001,2014,11,01,-27.9,4,9999.9,0,9999.9,0,9999.9,0,0.7,4,17.3,4,18.1,25.1,-24.2,,-47.6,,99.99,,999.9,0,0,1,0,0,0
249 | 890500,99999,2014,02,24,34.1,4,29.1,4,1005.0,4,9999.9,0,12.4,4,14.8,4,27.0,999.9,35.2,*,32.5,*,99.99,,999.9,0,1,0,0,0,0
250 | 890540,99999,2014,06,15,15.8,4,13.7,4,1011.1,4,9999.9,0,5.3,4,11.5,4,15.9,999.9,23.0,*,5.7,,99.99,,999.9,1,0,1,0,0,0
251 | 890540,99999,2014,09,13,15.7,4,12.0,4,987.6,4,9999.9,0,1.7,4,21.2,4,28.9,999.9,18.3,*,12.2,,99.99,,999.9,1,0,1,0,0,0
252 | 892510,99999,2014,06,30,26.1,4,24.8,4,995.6,4,9999.9,0,6.2,4,20.2,4,42.9,999.9,32.2,*,18.9,,99.99,,999.9,0,0,1,0,0,0
253 | 892510,99999,2014,07,19,31.6,4,27.9,4,1001.3,4,9999.9,0,7.3,4,17.2,4,22.0,999.9,32.7,*,29.7,,99.99,,999.9,0,0,1,0,0,0
254 | 892510,99999,2014,09,22,30.0,4,24.7,4,1006.4,4,9999.9,0,8.5,4,23.5,4,33.0,999.9,33.6,,27.9,*,99.99,,999.9,0,1,1,0,0,0
255 | 892510,99999,2014,12,05,33.9,4,29.8,4,984.6,4,9999.9,0,9.0,4,14.5,4,15.9,999.9,36.0,*,29.8,,99.99,,999.9,0,1,0,0,0,0
256 | 895730,99999,2014,01,15,32.3,4,24.2,4,996.3,4,994.1,4,11.0,4,8.0,4,15.0,999.9,36.5,*,29.7,*,99.99,,999.9,0,0,1,0,0,0
257 | 895730,99999,2014,02,01,31.1,4,17.9,4,988.5,4,986.3,4,17.1,4,8.2,4,15.9,999.9,35.4,*,28.4,*,99.99,,999.9,0,0,1,0,0,0
258 | 895730,99999,2014,03,07,23.5,4,13.7,4,985.5,4,983.2,4,9.0,4,15.0,4,21.0,999.9,24.1,*,22.6,*,99.99,,999.9,0,0,1,0,0,0
259 | 895730,99999,2014,03,27,9.0,4,3.9,4,989.5,4,987.2,4,5.3,4,5.7,4,13.0,999.9,16.2,*,0.3,*,99.99,,999.9,0,0,1,0,0,0
260 | 895730,99999,2014,04,30,-0.4,4,-11.6,4,984.6,4,982.2,4,8.7,4,6.8,4,9.9,999.9,2.1,*,-2.9,*,99.99,,999.9,0,0,1,0,0,0
261 | 895730,99999,2014,05,18,4.1,4,-4.2,4,994.3,4,992.0,4,5.0,4,11.2,4,16.9,999.9,4.6,*,3.7,*,99.99,,999.9,0,0,1,0,0,0
262 | 895730,99999,2014,05,20,18.6,4,9.5,4,998.2,4,995.9,4,5.6,4,21.5,4,32.1,999.9,26.4,*,7.9,*,99.99,,999.9,0,0,1,0,0,0
263 | 895730,99999,2014,06,11,1.8,4,-5.7,4,974.7,4,972.4,4,5.3,4,8.2,4,15.0,999.9,5.5,*,-3.1,*,99.99,,999.9,0,0,1,0,0,0
264 | 895730,99999,2014,07,01,-13.2,4,-21.4,4,980.9,4,978.5,4,7.8,4,3.0,4,7.0,999.9,-8.9,*,-16.6,*,99.99,,999.9,0,0,1,0,0,0
265 | 895730,99999,2014,07,09,4.7,4,-4.5,4,981.9,4,979.6,4,6.1,4,13.7,4,15.0,999.9,7.9,*,1.8,*,99.99,,999.9,0,0,1,0,0,0
266 | 895730,99999,2014,08,22,-1.1,4,-8.7,4,988.4,4,986.1,4,5.3,4,6.0,4,8.9,999.9,2.8,*,-4.7,*,99.99,,999.9,0,0,1,0,0,0
267 | 895730,99999,2014,09,21,18.5,4,1.2,4,992.5,4,990.2,4,7.8,4,27.5,4,44.1,999.9,20.3,*,15.3,*,99.99,,999.9,0,0,1,0,0,0
268 | 895730,99999,2014,12,05,25.9,4,12.6,4,978.6,4,976.4,4,13.0,4,8.5,4,11.1,999.9,31.1,*,20.1,*,99.99,,999.9,0,0,1,0,0,0
269 | 896420,99999,2014,03,23,16.0,4,6.9,4,982.5,4,977.1,4,999.9,0,7.5,4,14.0,999.9,19.4,,14.0,,99.99,,999.9,0,0,1,0,0,0
270 | 896420,99999,2014,12,02,20.7,4,14.2,4,986.0,4,980.6,4,999.9,0,11.5,4,18.1,999.9,29.3,,17.6,,99.99,,999.9,0,0,1,0,0,0
271 | 896620,99999,2014,11,28,22.5,4,12.2,4,995.5,4,984.0,4,13.4,4,2.7,4,5.1,999.9,25.7,,20.1,,99.99,,999.9,0,0,1,0,0,0
272 | 896640,99999,2014,08,21,-4.4,4,-14.5,4,980.7,4,9999.9,0,3.2,4,16.5,4,22.9,999.9,3.7,,-9.4,*,99.99,,999.9,0,0,1,0,0,0
273 | 702550,26514,2014,02,16,14.9,4,10.4,4,9999.9,0,972.8,4,12.7,4,5.0,4,6.0,999.9,19.4,*,8.6,*,99.99,,22.0,0,0,1,0,0,0
274 | 702550,26514,2014,07,06,57.2,4,54.5,4,9999.9,0,1008.9,4,9.8,4,0.7,4,2.9,999.9,9999.9,,9999.9,,99.99,,999.9,0,1,0,0,0,0
275 | 702550,26514,2014,11,23,27.5,4,25.7,4,9999.9,0,990.2,4,11.8,4,0.7,4,2.9,999.9,30.2,*,23.0,*,99.99,,999.9,0,0,1,0,0,0
276 | 702606,96401,2014,01,09,23.9,4,21.2,4,9999.9,0,940.0,4,0.9,4,0.0,4,999.9,999.9,24.8,*,23.0,*,99.99,,999.9,0,0,1,0,0,0
277 | 702606,96401,2014,01,13,10.9,4,7.7,4,9999.9,0,951.3,4,1.1,4,3.0,4,12.0,999.9,14.0,*,8.6,*,99.99,,999.9,0,0,1,0,0,0
278 | 702606,96401,2014,03,10,14.9,4,11.3,4,9999.9,0,946.1,4,1.0,4,8.0,4,9.9,999.9,21.2,*,8.6,*,99.99,,999.9,0,0,1,0,0,0
279 | 702606,96401,2014,12,10,25.7,4,23.5,4,9999.9,0,935.3,4,0.8,4,0.0,4,999.9,999.9,28.0,,16.0,,99.99,,16.1,0,0,1,0,0,0
280 | 702913,46402,2014,02,03,9.5,4,5.9,4,9999.9,0,931.6,4,2.8,4,6.8,4,8.0,999.9,10.4,*,8.6,*,99.99,,20.1,0,0,1,0,0,0
281 | 702913,46402,2014,02,08,3.2,4,0.0,4,9999.9,0,921.1,4,6.6,4,7.0,4,9.9,999.9,8.6,*,-0.4,*,99.99,,22.0,1,0,1,0,0,0
282 | 702913,46402,2014,08,04,57.2,4,45.5,4,9999.9,0,911.9,4,13.8,4,6.2,4,9.9,999.9,66.2,*,48.2,*,99.99,,999.9,1,1,0,0,0,0
283 | 703406,26546,2014,02,13,-4.5,4,-13.5,4,9999.9,0,977.0,4,11.8,4,9.3,4,12.0,999.9,3.2,*,-9.4,*,99.99,,999.9,0,0,1,0,0,0
284 | 703406,26546,2014,10,10,36.5,4,31.5,4,9999.9,0,971.3,4,27.5,4,4.0,4,9.9,999.9,46.4,*,32.0,*,99.99,,999.9,0,0,1,0,0,0
285 | 703406,26546,2014,10,20,28.8,4,27.5,4,9999.9,0,974.3,4,3.0,4,4.6,4,5.1,999.9,33.8,*,23.0,*,99.99,,999.9,0,0,1,0,0,0
286 | 703406,26546,2014,10,21,29.3,4,25.7,4,9999.9,0,979.5,4,15.0,4,1.0,4,4.1,999.9,33.8,*,24.8,*,99.99,,999.9,0,0,1,0,0,0
287 | 703817,25357,2014,07,18,54.0,4,51.4,4,9999.9,0,1008.0,4,18.8,4,0.0,4,999.9,999.9,57.2,*,50.0,*,99.99,,999.9,0,1,0,0,0,0
288 | 314840,99999,2014,06,07,54.8,4,50.8,4,1014.5,4,982.7,4,999.9,0,2.9,4,3.9,999.9,59.0,*,49.1,,99.99,,999.9,0,1,0,0,0,0
289 | 316240,99999,2014,06,10,68.6,4,61.7,4,1012.8,4,989.5,4,26.4,4,0.5,4,1.9,999.9,77.0,*,57.7,,99.99,,999.9,0,1,0,0,1,0
290 | 316240,99999,2014,10,24,37.8,4,25.5,4,1012.4,4,987.6,4,21.7,4,1.0,4,1.9,999.9,46.2,*,32.4,*,99.99,,0.4,0,1,1,0,0,0
291 | 316320,99999,2014,01,24,0.9,4,-2.7,4,1011.2,4,973.8,4,24.9,4,2.9,4,9.7,999.9,5.9,*,-11.9,,99.99,,999.9,0,0,1,0,0,0
292 | 316320,99999,2014,02,26,24.6,4,16.9,4,1015.8,4,980.1,4,23.9,4,1.0,4,1.9,999.9,28.4,*,-3.6,,99.99,,999.9,0,0,1,0,0,0
293 | 316320,99999,2014,03,09,15.7,4,7.4,4,1016.4,4,980.0,4,26.4,4,3.4,4,7.8,999.9,27.7,*,1.4,,99.99,,16.9,0,0,1,0,0,0
294 | 316320,99999,2014,05,14,45.5,4,37.8,4,1002.7,4,968.7,4,31.1,4,5.8,4,5.8,999.9,49.5,*,40.5,,99.99,,999.9,0,1,0,0,0,0
295 | 316320,99999,2014,07,25,65.8,4,60.2,4,1007.5,4,975.0,4,23.9,4,1.0,4,1.9,999.9,75.0,*,57.0,,99.99,,999.9,0,1,0,0,0,0
296 | 316320,99999,2014,08,04,67.0,4,58.9,4,998.7,4,966.5,4,31.1,4,1.0,4,1.9,999.9,76.1,*,57.7,,99.99,,999.9,0,1,0,0,0,0
297 | 316320,99999,2014,09,08,60.9,4,53.3,4,1011.3,4,978.3,4,24.9,4,3.9,4,3.9,999.9,65.7,*,57.0,,99.99,,999.9,0,1,0,0,0,0
298 | 316320,99999,2014,11,15,7.3,4,2.9,4,1022.4,4,985.1,4,31.1,4,1.9,4,3.9,999.9,19.0,*,-4.7,,99.99,,999.9,0,0,1,0,0,0
299 | 316320,99999,2014,12,13,-15.7,4,-19.3,4,1019.4,4,980.3,4,16.8,4,0.5,4,1.9,999.9,-14.6,*,-34.1,,99.99,,999.9,0,0,1,0,0,0
300 | 316320,99999,2014,12,15,-19.7,4,-23.2,4,1026.4,4,986.7,4,24.9,4,1.0,4,1.9,999.9,-13.4,*,-33.2,,99.99,,18.1,0,0,1,0,0,0
301 | 316550,99999,2014,08,11,71.2,4,57.5,4,999.7,4,996.0,4,10.9,4,7.8,4,11.7,25.3,77.0,*,66.2,,99.99,,999.9,0,1,0,0,0,0
302 | 317540,99999,2014,01,07,2.0,4,-3.3,4,1017.5,4,964.6,4,18.6,4,999.9,0,999.9,999.9,9.9,*,-13.2,*,99.99,,999.9,0,0,1,0,0,0
303 | 317540,99999,2014,01,08,-5.7,4,-10.9,4,1017.2,4,963.5,4,21.7,4,999.9,0,999.9,999.9,-1.5,*,-10.8,*,99.99,,999.9,0,0,1,0,0,0
304 | 317540,99999,2014,02,03,-10.0,4,-15.2,4,1013.7,4,959.7,4,20.2,4,999.9,0,999.9,999.9,-1.1,*,-17.9,*,99.99,,999.9,0,0,1,0,0,0
305 | 317540,99999,2014,02,16,0.9,4,-4.9,4,1029.9,4,976.2,4,26.4,4,999.9,0,999.9,999.9,19.9,*,-18.6,*,99.99,,999.9,0,0,1,0,0,0
306 | 317540,99999,2014,04,22,37.1,4,32.4,4,1012.1,4,963.2,4,24.9,4,999.9,0,999.9,999.9,46.2,*,24.3,*,99.99,,999.9,0,1,0,0,0,0
307 | 318010,99999,2014,01,29,-0.5,4,-7.7,4,1013.0,4,988.9,4,17.7,4,3.9,4,5.8,999.9,1.4,*,-4.5,,99.99,,999.9,0,0,1,0,0,0
308 | 318780,99999,2014,01,22,-2.8,4,-9.3,4,1025.2,4,1011.8,4,6.5,4,999.9,0,999.9,999.9,10.6,*,-13.9,*,99.99,,999.9,0,0,1,0,0,0
309 | 318780,99999,2014,01,30,8.6,4,-0.6,4,1012.0,4,999.0,4,14.6,4,5.8,4,7.8,999.9,16.0,*,-0.6,*,99.99,,999.9,0,0,1,0,0,0
310 | 318780,99999,2014,02,09,-1.3,4,-14.6,4,1030.5,4,1017.0,4,13.5,4,999.9,0,999.9,999.9,7.2,*,-8.1,,99.99,,999.9,0,0,1,0,0,0
311 | 318780,99999,2014,03,24,41.9,4,27.6,4,1008.9,4,996.9,4,9.0,4,999.9,0,999.9,999.9,54.7,*,36.0,*,99.99,,999.9,0,1,0,0,0,0
312 | 318780,99999,2014,07,17,73.6,4,65.7,4,1009.2,4,998.0,4,12.3,4,3.4,4,5.8,999.9,80.2,*,66.7,*,99.99,,999.9,0,1,0,0,0,0
313 | 318780,99999,2014,11,01,45.6,4,39.9,4,1012.0,4,1000.1,4,4.3,4,999.9,0,999.9,999.9,50.9,*,41.4,*,99.99,,999.9,0,1,0,0,0,0
314 | 319090,99999,2014,01,29,12.0,4,-8.3,4,1015.2,4,1007.1,4,21.7,4,4.4,4,9.7,999.9,17.1,*,1.6,,99.99,,999.9,0,0,1,0,0,0
315 | 319090,99999,2014,03,12,26.2,4,18.6,4,1018.5,4,1010.6,4,21.7,4,999.9,0,999.9,999.9,32.5,*,10.4,,99.99,,999.9,0,1,1,0,0,0
316 | 319090,99999,2014,04,02,32.9,4,27.1,4,1020.2,4,1012.4,4,14.1,4,2.4,4,3.9,999.9,34.5,*,32.0,*,99.99,,999.9,0,0,1,0,0,0
317 | 319090,99999,2014,05,05,42.1,4,39.7,4,1007.0,4,999.3,4,6.8,4,3.9,4,5.8,999.9,44.6,*,40.5,*,99.99,,999.9,0,1,0,0,0,0
318 | 319090,99999,2014,05,06,39.8,4,37.9,4,1005.3,4,997.7,4,7.1,4,999.9,0,999.9,999.9,42.8,*,36.9,*,99.99,,999.9,0,1,0,0,0,0
319 | 319090,99999,2014,05,15,42.6,4,39.2,4,1002.8,4,995.3,4,12.7,4,3.4,4,3.9,999.9,43.7,*,41.5,*,99.99,,999.9,0,1,0,0,0,0
320 | 319090,99999,2014,05,16,44.3,4,42.1,4,1005.5,4,998.0,4,9.3,4,999.9,0,999.9,999.9,45.5,*,43.0,*,99.99,,999.9,0,1,0,0,0,0
321 | 319090,99999,2014,06,15,49.2,4,47.4,4,1004.5,4,997.1,4,4.0,4,999.9,0,999.9,999.9,50.9,*,46.9,*,99.99,,999.9,0,1,0,0,0,0
322 | 319090,99999,2014,06,20,52.5,4,50.3,4,1011.6,4,1004.1,4,7.9,4,999.9,0,999.9,999.9,55.6,*,50.7,*,99.99,,999.9,1,1,0,0,0,0
323 | 319090,99999,2014,07,08,59.5,4,57.4,4,1007.7,4,1000.3,4,1.1,4,999.9,0,999.9,999.9,60.8,*,57.6,*,99.99,,999.9,1,1,0,0,0,0
324 | 319090,99999,2014,07,19,64.5,4,62.9,4,1014.2,4,1006.9,4,6.3,4,999.9,0,999.9,999.9,65.7,*,63.0,*,99.99,,999.9,1,1,0,0,0,0
325 | 319090,99999,2014,07,22,70.2,4,64.1,4,998.5,4,991.6,4,14.6,4,2.9,4,3.9,999.9,80.6,*,63.3,*,99.99,,999.9,0,1,0,0,0,0
326 | 319090,99999,2014,08,04,67.6,4,65.2,4,999.7,4,992.6,4,8.4,4,1.9,4,1.9,999.9,69.3,*,66.4,*,99.99,,999.9,0,1,0,0,0,0
327 | 319600,99999,2014,10,31,41.9,4,33.1,4,1020.5,4,997.3,4,12.4,4,10.2,4,15.5,23.3,45.3,*,37.9,,99.99,,999.9,0,1,0,0,0,0
328 | 319690,99999,2014,01,19,13.5,4,-1.7,4,1026.3,4,1021.1,4,9.9,4,4.4,4,7.8,19.4,14.9,*,10.4,*,99.99,,999.9,0,0,1,0,0,0
329 | 319690,99999,2014,06,06,61.2,4,56.2,4,1008.2,4,1003.6,4,9.3,4,3.9,4,3.9,999.9,67.5,*,57.0,,99.99,,999.9,0,1,0,0,0,0
330 | 319890,99999,2014,05,07,46.9,4,38.4,4,1009.9,4,1004.7,4,26.4,4,2.4,4,3.9,999.9,52.3,*,42.4,*,99.99,,999.9,0,1,0,0,0,0
331 | 319890,99999,2014,05,25,50.9,4,43.3,4,1011.0,4,1005.9,4,26.4,4,7.8,4,9.7,999.9,59.9,*,46.9,*,99.99,,999.9,0,1,0,0,0,0
332 | 319890,99999,2014,05,26,47.6,4,45.4,4,997.4,4,992.3,4,14.0,4,999.9,0,999.9,999.9,50.7,*,45.9,*,99.99,,999.9,0,1,0,0,0,0
333 | 319890,99999,2014,06,05,60.4,4,50.7,4,1008.8,4,1003.8,4,26.4,4,6.3,4,7.8,999.9,63.3,*,56.8,*,99.99,,999.9,0,1,0,0,0,0
334 | 319890,99999,2014,06,18,52.4,4,49.9,4,1008.6,4,1003.5,4,17.1,4,999.9,0,999.9,999.9,53.2,*,50.7,*,99.99,,999.9,0,1,0,0,0,0
335 | 319890,99999,2014,07,26,63.1,4,59.6,4,1003.8,4,998.7,4,15.5,4,5.3,4,9.7,999.9,66.9,*,61.0,*,99.99,,999.9,0,1,0,0,0,0
336 | 320100,99999,2014,01,03,10.3,4,9.2,4,1006.3,4,1001.2,4,5.0,4,12.1,4,15.5,999.9,15.3,*,-0.9,*,99.99,,999.9,0,0,1,0,0,0
337 | 320100,99999,2014,01,06,-3.4,4,-8.1,4,1012.1,4,1006.8,4,12.4,4,7.3,4,9.7,999.9,-0.8,*,-8.5,*,99.99,,999.9,0,0,1,0,0,0
338 | 320100,99999,2014,02,06,-1.8,4,-6.0,4,1005.5,4,1000.4,4,6.5,4,20.9,4,33.0,999.9,-0.2,*,-4.7,*,99.99,,999.9,0,0,1,0,0,0
339 | 320100,99999,2014,02,14,-1.0,4,-3.9,4,1014.2,4,1009.0,4,4.7,4,18.5,4,27.2,999.9,4.3,*,-5.3,*,99.99,,999.9,0,0,1,0,0,0
340 | 320100,99999,2014,04,01,26.4,4,24.0,4,1019.2,4,1014.2,4,9.9,4,7.3,4,9.7,999.9,29.3,*,23.7,*,99.99,,999.9,0,0,1,0,0,0
341 | 320100,99999,2014,04,04,20.3,4,18.1,4,1018.7,4,1013.7,4,9.9,4,999.9,0,999.9,999.9,25.0,*,17.1,*,99.99,,999.9,0,0,1,0,0,0
342 | 320100,99999,2014,04,05,25.1,4,24.3,4,1000.3,4,995.5,4,3.6,4,22.3,4,29.1,999.9,26.2,*,22.8,*,99.99,,999.9,0,0,1,0,0,0
343 | 320100,99999,2014,04,11,25.4,4,22.0,4,1013.4,4,1008.5,4,9.9,4,8.7,4,9.7,999.9,28.4,*,19.2,*,99.99,,999.9,0,0,1,0,0,0
344 | 320100,99999,2014,04,23,31.1,4,29.6,4,1009.0,4,1004.1,4,9.9,4,8.7,4,13.6,999.9,34.0,*,27.5,*,99.99,,999.9,0,0,1,0,0,0
345 | 320100,99999,2014,05,14,34.0,4,33.5,4,1009.3,4,1004.5,4,2.5,4,9.2,4,9.7,999.9,34.9,*,33.3,*,99.99,,999.9,0,1,0,0,0,0
346 | 320100,99999,2014,06,14,45.2,4,44.5,4,1010.8,4,1006.1,4,4.3,4,10.7,4,11.7,999.9,47.1,*,44.2,*,99.99,,999.9,0,1,0,0,0,0
347 | 320100,99999,2014,06,21,51.6,4,49.4,4,1006.1,4,1001.5,4,6.4,4,6.8,4,9.7,999.9,60.3,*,44.6,*,99.99,,999.9,1,1,0,0,0,0
348 | 320100,99999,2014,06,25,53.8,4,51.4,4,1000.2,4,995.6,4,12.4,4,9.2,4,11.7,999.9,59.7,*,50.4,*,99.99,,999.9,0,1,0,0,0,0
349 | 320100,99999,2014,07,10,48.1,4,45.2,4,1006.2,4,1001.6,4,6.7,4,11.7,4,15.5,999.9,51.8,*,44.4,*,99.99,,999.9,0,1,0,0,0,0
350 | 320100,99999,2014,07,24,53.7,4,52.0,4,1001.3,4,996.7,4,3.7,4,5.8,4,7.8,999.9,58.5,*,51.1,*,99.99,,999.9,1,1,0,0,0,0
351 | 320100,99999,2014,07,28,63.7,4,61.8,4,1000.9,4,996.4,4,4.5,4,999.9,0,999.9,999.9,70.3,*,59.0,*,99.99,,999.9,0,1,0,0,0,0
352 | 320100,99999,2014,08,08,58.8,4,55.9,4,1012.1,4,1007.5,4,9.9,4,4.4,4,7.8,999.9,61.7,*,54.9,*,99.99,,999.9,0,1,0,0,0,0
353 | 320100,99999,2014,09,05,59.9,4,57.5,4,1009.7,4,1005.2,4,4.7,4,8.7,4,13.6,999.9,65.7,*,57.7,*,99.99,,999.9,0,1,0,0,0,0
354 | 320100,99999,2014,09,18,53.2,4,50.1,4,1011.2,4,1006.6,4,12.4,4,5.3,4,7.8,999.9,57.0,*,48.9,*,99.99,,999.9,0,1,0,0,0,0
355 | 320100,99999,2014,10,02,33.3,4,29.0,4,1011.4,4,1006.5,4,12.4,4,7.3,4,11.7,999.9,38.8,*,28.4,*,99.99,,999.9,0,1,1,1,0,0
356 | 320100,99999,2014,10,11,39.5,4,34.8,4,1023.9,4,1019.1,4,12.4,4,6.3,4,7.8,999.9,47.7,*,32.5,*,99.99,,999.9,0,1,0,0,0,0
357 | 320100,99999,2014,10,29,31.8,4,29.4,4,1012.1,4,1007.2,4,12.4,4,9.2,4,11.7,999.9,34.7,*,27.1,*,99.99,,999.9,0,1,1,0,0,0
358 | 320100,99999,2014,11,01,31.2,4,21.9,4,1013.2,4,1008.3,4,9.6,4,999.9,0,999.9,999.9,34.2,*,28.8,*,99.99,,999.9,0,0,1,0,0,0
359 | 320100,99999,2014,11,11,26.4,4,22.1,4,1015.0,4,1010.1,4,7.1,4,6.3,4,9.7,999.9,31.6,*,17.4,,99.99,,999.9,0,0,1,0,0,0
360 | 320100,99999,2014,12,03,21.6,4,19.7,4,998.4,4,993.5,4,9.4,4,5.8,4,11.7,999.9,27.5,*,15.4,*,99.99,,999.9,1,0,1,0,0,0
361 | 320100,99999,2014,12,08,19.8,4,17.1,4,1016.6,4,1011.6,4,1.7,4,15.5,4,19.4,999.9,20.5,*,18.7,*,99.99,,999.9,0,0,1,0,0,0
362 | 320100,99999,2014,12,09,20.8,4,18.9,4,1017.5,4,1012.5,4,4.2,4,14.1,4,19.4,999.9,22.6,*,18.7,*,99.99,,999.9,0,0,1,0,0,0
363 | 320100,99999,2014,12,19,-2.5,4,-6.5,4,1016.7,4,1011.5,4,9.9,4,7.3,4,9.7,999.9,1.8,*,-8.7,*,99.99,,999.9,0,0,1,0,0,0
364 | 320100,99999,2014,12,20,-2.6,4,-6.3,4,1013.5,4,1008.3,4,5.0,4,6.8,4,9.7,999.9,-1.1,*,-5.6,*,99.99,,999.9,0,0,1,0,0,0
365 | 321280,99999,2014,01,04,16.6,4,10.4,4,1008.5,4,1003.1,4,19.3,4,5.8,4,11.7,999.9,17.6,*,15.1,*,99.99,,999.9,0,0,1,0,0,0
366 | 321280,99999,2014,01,09,11.2,4,-1.4,4,1008.2,4,1002.8,4,20.2,4,999.9,0,999.9,999.9,14.7,*,8.6,*,99.99,,999.9,0,0,1,0,0,0
367 | 321280,99999,2014,01,12,6.4,4,-2.8,4,1012.5,4,1007.0,4,13.0,4,4.9,4,11.7,999.9,8.6,*,4.1,*,99.99,,999.9,0,0,1,0,0,0
368 | 321280,99999,2014,01,15,13.0,4,3.3,4,1020.9,4,1015.4,4,26.4,4,3.4,4,7.8,999.9,17.4,*,8.6,*,99.99,,999.9,0,0,1,0,0,0
369 | 321280,99999,2014,02,04,9.0,4,2.3,4,1010.7,4,1005.2,4,14.6,4,2.9,4,5.8,999.9,11.5,*,4.5,*,99.99,,999.9,0,0,1,0,0,0
370 | 321280,99999,2014,02,17,20.6,4,15.4,4,1012.8,4,1007.5,4,10.9,4,20.4,4,29.1,999.9,22.8,*,18.3,*,99.99,,999.9,0,0,1,0,0,0
371 | 321280,99999,2014,02,18,20.8,4,16.4,4,1012.1,4,1006.8,4,12.4,4,15.5,4,21.4,999.9,21.9,*,19.6,*,99.99,,999.9,0,0,1,0,0,0
372 | 321280,99999,2014,02,28,23.0,4,9.6,4,1011.3,4,1006.0,4,23.6,4,17.0,4,23.3,999.9,26.4,*,19.2,*,99.99,,999.9,0,0,1,0,0,0
373 | 321280,99999,2014,03,06,18.0,4,9.0,4,1005.0,4,999.6,4,15.5,4,16.5,4,27.2,999.9,21.7,*,14.5,*,99.99,,999.9,0,0,1,0,0,0
374 | 321280,99999,2014,03,14,25.6,4,15.4,4,1009.3,4,1004.1,4,26.4,4,999.9,0,999.9,999.9,28.0,*,22.8,*,99.99,,999.9,0,0,1,0,0,0
375 | 321280,99999,2014,04,02,31.6,4,22.4,4,1022.8,4,1017.5,4,26.4,4,999.9,0,999.9,999.9,33.6,*,29.7,*,99.99,,999.9,0,0,1,0,0,0
376 | 321280,99999,2014,04,06,28.9,4,24.7,4,997.0,4,991.9,4,5.6,4,20.9,4,25.3,999.9,29.8,*,28.0,*,99.99,,999.9,0,0,1,0,0,0
377 | 321280,99999,2014,05,03,45.0,4,35.0,4,1008.3,4,1003.2,4,24.9,4,8.3,4,11.7,999.9,47.3,*,41.7,,99.99,,999.9,0,1,0,0,0,0
378 | 321280,99999,2014,05,13,49.1,4,45.1,4,994.8,4,989.8,4,12.5,4,999.9,0,999.9,999.9,54.1,*,45.5,*,99.99,,999.9,1,1,0,0,0,0
379 | 321280,99999,2014,05,23,42.8,4,36.8,4,1015.4,4,1010.4,4,12.4,4,5.8,4,11.7,999.9,45.7,*,40.3,*,99.99,,999.9,0,1,0,0,0,0
380 | 321280,99999,2014,06,14,51.0,4,47.2,4,996.3,4,991.4,4,12.6,4,999.9,0,999.9,999.9,54.9,*,48.9,*,99.99,,999.9,0,1,0,0,0,0
381 | 321280,99999,2014,06,18,54.6,4,49.3,4,1008.1,4,1003.2,4,14.6,4,999.9,0,999.9,999.9,59.7,*,52.2,*,99.99,,999.9,0,1,0,0,0,0
382 | 321280,99999,2014,06,19,53.1,4,51.1,4,1007.2,4,1002.2,4,9.6,4,999.9,0,999.9,999.9,54.5,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
383 | 321280,99999,2014,07,22,69.2,4,62.2,4,999.7,4,995.0,4,20.2,4,13.6,4,17.5,999.9,73.4,*,66.0,*,99.99,,999.9,0,1,0,0,0,0
384 | 321280,99999,2014,09,11,57.2,4,46.0,4,1015.7,4,1010.7,4,24.9,4,999.9,0,999.9,999.9,61.3,*,53.2,*,99.99,,999.9,0,1,0,0,0,0
385 | 321280,99999,2014,09,24,56.5,4,52.5,4,1012.2,4,1007.2,4,12.4,4,3.4,4,5.8,999.9,57.6,*,55.6,*,99.99,,999.9,0,1,0,0,1,0
386 | 321280,99999,2014,09,27,64.1,4,49.5,4,1014.9,4,1010.0,4,26.4,4,13.1,4,15.5,999.9,65.5,*,63.3,*,99.99,,999.9,0,1,0,0,0,0
387 | 321280,99999,2014,10,09,48.8,4,42.6,4,1016.0,4,1011.0,4,10.9,4,999.9,0,999.9,999.9,52.3,*,44.1,,99.99,,999.9,0,1,0,0,0,0
388 | 321280,99999,2014,10,25,49.0,4,46.4,4,1012.9,4,1007.9,4,4.8,4,7.8,4,15.5,999.9,54.0,*,44.1,*,99.99,,999.9,0,1,0,0,0,0
389 | 321280,99999,2014,11,01,45.1,4,37.0,4,1015.9,4,1010.8,4,12.4,4,11.2,4,13.6,999.9,46.4,*,43.9,*,99.99,,999.9,0,1,0,0,0,0
390 | 322520,99999,2014,02,27,4.5,4,9999.9,0,9999.9,0,1015.2,4,9.3,4,999.9,0,999.9,999.9,11.8,*,-8.0,*,99.99,,999.9,0,0,1,0,0,0
391 | 322520,99999,2014,03,12,0.4,4,9999.9,0,9999.9,0,1015.5,4,7.8,4,4.4,4,9.7,999.9,9.1,*,-9.6,,99.99,,999.9,0,0,1,0,0,0
392 | 322520,99999,2014,03,17,7.5,4,6.1,4,1003.1,4,1002.1,4,10.9,4,999.9,0,999.9,999.9,12.7,*,-2.4,,99.99,,999.9,0,0,1,0,0,0
393 | 322520,99999,2014,03,27,26.7,4,9999.9,0,1005.1,4,1004.2,4,10.9,4,999.9,0,999.9,999.9,30.2,*,21.0,,99.99,,999.9,1,0,1,0,0,0
394 | 322520,99999,2014,04,06,32.4,4,31.5,4,998.0,4,996.8,4,7.8,4,999.9,0,999.9,999.9,33.8,*,26.2,,99.99,,999.9,0,1,1,0,0,0
395 | 322520,99999,2014,04,07,27.6,4,9999.9,0,998.2,4,997.3,4,9.3,4,999.9,0,999.9,999.9,35.8,*,16.2,*,99.99,,999.9,0,1,0,0,0,0
396 | 322520,99999,2014,04,22,20.0,4,19.1,4,1016.5,4,1015.5,4,9.9,4,999.9,0,999.9,999.9,29.1,*,10.0,*,99.99,,999.9,0,0,1,0,0,0
397 | 322520,99999,2014,04,28,30.0,4,27.7,4,998.8,4,997.9,4,19.3,4,18.0,4,23.3,999.9,32.7,*,26.1,*,99.99,,999.9,0,0,1,0,0,0
398 | 322520,99999,2014,06,18,51.4,4,48.0,4,1011.2,4,1010.3,4,10.9,4,14.1,4,21.4,999.9,55.4,*,44.8,,99.99,,999.9,0,1,0,0,0,0
399 | 322520,99999,2014,06,27,46.1,4,44.8,4,1004.8,4,1003.9,4,10.9,4,9.7,4,15.5,999.9,47.3,*,45.1,*,99.99,,999.9,0,1,0,0,0,0
400 | 322520,99999,2014,06,29,46.4,4,45.7,4,1000.7,4,999.9,4,6.2,4,999.9,0,999.9,999.9,47.7,*,45.0,*,99.99,,999.9,0,1,0,0,0,0
401 | 322520,99999,2014,07,03,47.6,4,45.9,4,1015.3,4,1014.4,4,7.8,4,12.1,4,15.5,999.9,48.9,*,45.5,,99.99,,999.9,0,1,0,0,0,0
402 | 322520,99999,2014,07,10,51.7,4,50.7,4,1018.1,4,1017.3,4,10.9,4,5.8,4,7.8,999.9,53.8,*,50.4,*,99.99,,999.9,0,1,0,0,0,0
403 | 322520,99999,2014,09,03,54.8,4,52.8,4,1013.0,4,1012.1,4,9.3,4,10.7,4,13.6,999.9,55.8,*,50.4,,99.99,,999.9,0,1,0,0,0,0
404 | 322520,99999,2014,09,08,51.9,4,46.3,4,1012.8,4,1011.9,4,10.9,4,15.1,4,27.2,999.9,54.5,*,48.6,,99.99,,999.9,0,1,0,0,0,0
405 | 322520,99999,2014,09,30,39.0,4,36.3,4,1009.3,4,1008.4,4,10.9,4,10.7,4,13.6,999.9,42.8,*,31.3,*,99.99,,999.9,1,1,0,0,0,0
406 | 322520,99999,2014,10,01,45.0,4,41.2,4,999.8,4,998.9,4,10.9,4,999.9,0,999.9,999.9,47.1,*,29.3,,99.99,,999.9,0,1,0,0,0,0
407 | 322520,99999,2014,10,15,39.5,4,37.4,4,1005.2,4,1004.3,4,15.5,4,6.3,4,9.7,999.9,42.1,*,35.8,,99.99,,999.9,0,1,0,0,0,0
408 | 322520,99999,2014,10,26,28.3,4,22.1,4,1011.4,4,1010.5,4,8.4,4,15.1,4,17.5,999.9,30.2,*,23.9,,99.99,,999.9,0,0,1,0,0,0
409 | 322520,99999,2014,10,31,33.2,4,9999.9,0,992.8,4,991.9,4,5.9,4,9.2,4,15.5,999.9,34.7,*,24.3,,99.99,,999.9,0,1,1,0,0,0
410 | 322520,99999,2014,11,02,28.4,4,26.2,4,1015.5,4,1014.6,4,15.5,4,14.1,4,17.5,999.9,29.5,*,21.0,,99.99,,999.9,0,0,1,0,0,0
411 | 322520,99999,2014,11,09,24.7,4,21.5,4,988.1,4,987.2,4,6.8,4,12.6,4,15.5,999.9,30.9,*,19.0,*,99.99,,999.9,0,0,1,0,0,0
412 | 322520,99999,2014,11,10,22.5,4,18.7,4,995.8,4,995.0,4,12.4,4,14.1,4,21.4,999.9,25.3,*,17.4,,99.99,,999.9,0,0,1,0,0,0
413 | 322520,99999,2014,11,17,12.1,4,10.4,4,1003.0,4,1002.4,4,10.9,4,9.7,4,11.7,999.9,16.5,*,6.6,,99.99,,999.9,0,0,1,0,0,0
414 | 322520,99999,2014,11,22,21.4,4,20.8,4,1015.0,4,1014.1,4,10.9,4,6.8,4,7.8,999.9,21.7,*,19.9,,99.99,,999.9,0,0,1,0,0,0
415 | 322520,99999,2014,11,23,6.8,4,4.9,4,1010.4,4,1009.4,4,10.9,4,6.3,4,7.8,999.9,21.7,*,-7.2,*,99.99,,999.9,0,0,1,0,0,0
416 | 322520,99999,2014,11,25,18.9,4,18.0,4,998.8,4,997.9,4,9.3,4,12.1,4,23.3,999.9,25.9,*,15.8,*,99.99,,999.9,0,0,1,0,0,0
417 | 322520,99999,2014,12,02,13.7,4,11.3,4,1019.7,4,1018.8,4,10.9,4,9.2,4,19.4,999.9,19.2,*,8.8,*,99.99,,999.9,0,0,1,0,0,0
418 | 322520,99999,2014,12,29,11.4,4,6.8,4,1003.2,4,1002.2,4,15.5,4,8.3,4,11.7,999.9,14.0,*,-0.6,,99.99,,999.9,0,0,1,0,0,0
419 | 322520,99999,2014,12,30,1.2,4,-1.7,4,1000.4,4,999.4,4,9.3,4,9.7,4,11.7,999.9,8.2,*,-4.2,*,99.99,,999.9,0,0,1,0,0,0
420 | 322870,99999,2014,05,29,46.3,4,43.7,4,1013.2,4,1012.2,4,12.4,4,4.4,4,5.8,19.4,52.2,*,43.5,,99.99,,999.9,0,1,0,0,0,0
421 | 322870,99999,2014,06,06,44.6,4,40.9,4,1021.6,4,1020.6,4,26.4,4,3.9,4,5.8,999.9,50.0,*,39.4,,99.99,,999.9,0,1,0,0,0,0
422 | 322870,99999,2014,07,23,65.4,4,54.0,4,1014.3,4,1013.4,4,26.4,4,10.2,4,13.6,27.2,75.0,*,60.3,,99.99,,999.9,0,1,0,0,0,0
423 | 323890,99999,2014,07,09,63.0,4,58.3,4,1012.2,4,1008.8,4,26.4,4,2.9,4,3.9,999.9,67.5,*,56.5,,99.99,,999.9,0,1,0,0,0,0
424 | 323890,99999,2014,08,02,58.3,4,56.3,4,1016.6,4,1013.1,4,10.6,4,3.9,4,5.8,999.9,63.0,*,54.9,,99.99,,999.9,0,1,0,0,0,0
425 | 323890,99999,2014,09,22,48.3,4,9999.9,0,1004.2,4,1000.7,4,24.9,4,5.8,4,7.8,21.4,54.9,*,41.7,,99.99,,999.9,0,1,0,0,0,0
426 | 324110,99999,2014,02,06,33.8,4,23.2,4,1012.8,4,1012.2,4,10.9,4,13.6,4,23.3,999.9,42.6,*,27.9,*,99.99,,999.9,0,0,1,0,0,0
427 | 324110,99999,2014,02,13,25.6,4,22.2,4,1012.8,4,1012.0,4,10.9,4,9.2,4,11.7,999.9,27.9,*,24.3,*,99.99,,999.9,0,1,0,0,0,0
428 | 324110,99999,2014,02,28,17.1,4,14.7,4,1001.4,4,1000.7,4,7.8,4,8.3,4,9.7,999.9,24.3,*,3.6,*,99.99,,999.9,0,0,1,0,0,0
429 | 324110,99999,2014,03,02,20.1,4,17.3,4,1003.2,4,1002.5,4,9.3,4,10.2,4,11.7,999.9,24.1,*,13.3,*,99.99,,999.9,0,0,1,0,0,0
430 | 324110,99999,2014,04,25,29.6,4,27.3,4,1011.5,4,1010.8,4,9.3,4,10.2,4,11.7,999.9,30.7,*,28.4,*,99.99,,999.9,0,0,1,0,0,0
431 | 324110,99999,2014,05,22,41.9,4,39.7,4,1018.8,4,1018.1,4,9.3,4,6.3,4,9.7,999.9,45.1,*,37.9,*,99.99,,999.9,0,1,0,0,0,0
432 | 324110,99999,2014,05,30,45.7,4,42.8,4,1007.2,4,1006.5,4,9.3,4,10.2,4,15.5,999.9,47.5,*,43.2,*,99.99,,999.9,0,1,0,0,0,0
433 | 324110,99999,2014,06,07,43.2,4,41.8,4,1017.5,4,1016.8,4,9.3,4,13.1,4,15.5,999.9,44.6,*,42.6,*,99.99,,999.9,0,1,0,0,0,0
434 | 324110,99999,2014,06,22,50.8,4,49.1,4,1008.6,4,1007.9,4,9.3,4,4.9,4,7.8,999.9,53.1,*,49.8,*,99.99,,999.9,0,1,0,0,0,0
435 | 324110,99999,2014,06,25,47.8,4,46.4,4,1005.7,4,1005.0,4,9.3,4,10.7,4,13.6,999.9,49.6,*,46.2,*,99.99,,999.9,0,1,0,0,0,0
436 | 324110,99999,2014,06,27,47.8,4,46.9,4,1006.8,4,1006.1,4,10.9,4,11.2,4,15.5,999.9,48.9,*,47.1,*,99.99,,999.9,0,1,0,0,0,0
437 | 324110,99999,2014,07,01,50.1,4,49.0,4,1011.4,4,1010.7,4,10.9,4,999.9,0,999.9,999.9,51.3,*,48.7,*,99.99,,999.9,0,1,0,0,0,0
438 | 324110,99999,2014,07,05,53.1,4,48.9,4,1017.3,4,1016.6,4,10.9,4,8.3,4,15.5,999.9,56.8,*,47.1,*,99.99,,999.9,0,1,0,0,0,0
439 | 324110,99999,2014,07,20,56.7,4,55.2,4,1020.1,4,1019.4,4,9.3,4,14.6,4,17.5,999.9,58.8,*,53.8,*,99.99,,999.9,0,1,0,0,0,0
440 | 324110,99999,2014,07,31,57.5,4,55.1,4,1008.6,4,1007.8,4,10.9,4,4.9,4,7.8,999.9,59.7,*,55.2,*,99.99,,999.9,0,1,0,0,0,0
441 | 324110,99999,2014,08,18,54.5,4,52.6,4,1007.3,4,1006.6,4,9.3,4,11.2,4,19.4,999.9,57.2,*,52.2,*,99.99,,999.9,0,1,0,0,0,0
442 | 324110,99999,2014,08,22,55.4,4,54.8,4,1007.7,4,1007.0,4,6.2,4,11.2,4,11.7,999.9,55.8,*,55.0,*,99.99,,999.9,0,1,0,0,0,0
443 | 324110,99999,2014,09,14,51.9,4,50.9,4,1006.6,4,1005.9,4,9.3,4,5.8,4,5.8,999.9,52.7,*,50.4,*,99.99,,999.9,0,1,0,0,0,0
444 | 325090,99999,2014,12,02,29.4,4,17.6,4,1017.6,4,1014.2,4,19.0,4,11.7,4,19.4,999.9,31.5,*,25.9,*,99.99,,999.9,0,0,1,0,0,0
445 | 325090,99999,2014,12,07,28.3,4,21.8,4,1006.5,4,1003.1,4,14.3,4,9.7,4,15.5,999.9,30.9,*,25.9,*,99.99,,999.9,0,0,1,0,0,0
446 | 325190,99999,2014,10,04,48.9,4,42.6,4,1010.5,4,1008.5,4,21.7,4,3.9,4,3.9,999.9,53.6,*,45.5,*,99.99,,999.9,0,1,0,0,0,0
447 | 325400,99999,2014,07,13,54.5,4,50.0,4,9999.9,0,9999.9,0,5.7,4,10.7,4,13.6,999.9,55.4,*,53.6,*,99.99,,999.9,0,1,0,0,0,0
448 | 325830,99999,2014,07,31,56.8,4,52.3,4,1009.3,4,1006.5,4,9.9,4,5.3,4,5.8,999.9,60.8,*,54.3,,99.99,,999.9,1,1,0,0,0,0
449 | 325830,99999,2014,09,22,52.4,4,45.0,4,1001.8,4,999.0,4,26.4,4,2.9,4,3.9,999.9,57.6,*,44.2,,99.99,,999.9,0,1,0,0,0,0
450 | 325830,99999,2014,10,23,39.2,4,29.3,4,1010.0,4,1007.0,4,10.9,4,3.9,4,5.8,999.9,41.7,*,36.0,,99.99,,999.9,0,1,1,0,0,0
451 | 325940,99999,2014,06,11,40.1,4,38.9,4,1019.6,4,1016.1,4,8.5,4,5.8,4,9.7,999.9,44.1,*,35.4,,99.99,,999.9,1,1,0,0,0,0
452 | 325940,99999,2014,08,22,50.5,4,9999.9,0,1014.8,4,1011.4,4,2.5,4,7.3,4,9.7,999.9,51.6,*,48.2,,99.99,,999.9,0,1,0,0,0,0
453 | 027780,99999,2014,12,18,29.3,4,26.9,4,996.9,4,987.0,4,17.1,4,999.9,0,999.9,999.9,30.7,,27.3,,99.99,,999.9,0,0,1,0,0,0
454 | 028210,99999,2014,12,18,19.4,4,18.2,4,993.5,4,924.0,4,20.4,4,5.3,4,9.7,999.9,20.3,,18.5,*,99.99,,999.9,0,0,1,0,0,0
455 | 028470,99999,2014,12,18,22.2,4,20.1,4,993.4,4,983.0,4,13.5,4,2.4,4,3.9,999.9,23.4,,20.8,,99.99,,999.9,0,0,1,0,0,0
456 | 718428,99999,2014,10,07,36.0,4,32.9,4,1002.9,4,9999.9,0,15.0,4,7.7,4,9.9,15.0,37.4,*,35.6,*,99.99,,999.9,0,1,1,0,0,0
457 | 913560,99999,2014,06,29,82.9,4,77.9,4,9999.9,0,9999.9,0,9.3,4,9.8,4,13.0,999.9,84.2,*,82.4,*,99.99,,999.9,0,1,0,0,0,0
458 | 915020,99999,2014,06,24,80.6,4,77.1,4,1010.7,4,9999.9,0,13.2,4,1.5,4,4.1,999.9,84.9,*,78.4,*,99.99,,999.9,0,1,0,0,0,0
459 | 915070,99999,2014,11,22,84.3,4,75.6,4,1009.4,4,9999.9,0,15.5,4,2.7,4,5.1,999.9,86.7,*,75.4,,99.99,,999.9,0,1,0,0,0,0
460 | 915515,99999,2014,04,21,82.4,4,77.9,4,9999.9,0,9999.9,0,6.2,4,11.2,4,13.0,999.9,84.2,*,80.6,*,99.99,,999.9,0,1,0,0,0,0
461 | 915680,99999,2014,12,16,83.3,4,76.6,4,1007.5,4,9999.9,0,12.4,4,4.8,4,7.0,999.9,87.1,*,70.7,,99.99,,999.9,0,1,0,0,0,0
462 | 710030,99999,2014,01,12,21.7,4,19.3,4,984.3,4,946.9,4,4.8,4,7.0,4,12.0,999.9,23.0,,19.0,,99.99,,999.9,0,0,1,0,0,0
463 | 710030,99999,2014,05,16,37.5,4,30.9,4,1018.3,4,980.2,4,9.9,4,8.0,4,9.9,999.9,41.4,,30.4,,99.99,,999.9,0,1,0,0,0,0
464 | 710030,99999,2014,05,25,55.9,4,33.4,4,1010.2,4,973.2,4,9.9,4,7.8,4,11.1,999.9,70.0,,39.0,,99.99,,999.9,0,1,0,0,0,0
465 | 710030,99999,2014,08,04,61.4,4,54.4,4,1016.2,4,979.2,4,9.9,4,3.5,4,5.1,999.9,72.1,,49.6,,99.99,,999.9,0,1,0,0,0,0
466 | 710030,99999,2014,08,14,63.2,4,56.3,4,1009.8,4,973.0,4,9.9,4,9.8,4,12.0,999.9,68.7,,59.4,,99.99,,999.9,0,1,0,0,0,0
467 | 710030,99999,2014,11,28,-1.8,4,-6.4,4,1020.3,4,980.2,4,4.8,4,7.8,4,14.0,999.9,2.3,*,-4.5,*,99.99,,999.9,0,0,1,0,0,0
468 | 710513,27201,2014,01,03,-34.2,4,-40.0,4,1029.8,4,9999.9,0,10.0,4,4.6,4,6.0,999.9,-32.8,*,-34.6,*,99.99,,999.9,0,0,1,0,0,0
469 | 330490,99999,2014,01,02,29.9,4,29.2,4,1025.6,4,1005.1,4,3.5,4,4.4,4,5.8,999.9,31.6,*,27.5,*,99.99,,999.9,0,0,1,0,0,0
470 | 330490,99999,2014,01,04,32.1,4,31.2,4,1022.9,4,1002.5,4,1.7,4,6.3,4,7.8,999.9,32.7,*,31.3,*,99.99,,999.9,1,1,1,0,0,0
471 | 330490,99999,2014,01,10,39.1,4,36.7,4,1001.1,4,981.5,4,5.6,4,8.3,4,9.7,999.9,41.7,*,36.1,*,99.99,,999.9,0,1,0,0,0,0
472 | 330490,99999,2014,02,09,33.1,4,32.6,4,1010.8,4,990.7,4,1.7,4,3.4,4,3.9,999.9,34.2,*,32.5,*,99.99,,999.9,1,0,1,0,0,0
473 | 330490,99999,2014,02,22,39.8,4,35.2,4,1021.3,4,1001.2,4,5.4,4,5.8,4,7.8,999.9,43.5,*,32.5,*,99.99,,999.9,0,1,0,0,0,0
474 | 330490,99999,2014,02,23,35.0,4,31.4,4,1028.1,4,1007.7,4,5.7,4,999.9,0,999.9,999.9,37.2,*,31.3,*,99.99,,999.9,0,1,0,0,0,0
475 | 330490,99999,2014,03,02,34.1,4,32.8,4,1016.9,4,996.8,4,3.2,4,3.4,4,5.8,999.9,36.0,*,32.7,*,99.99,,999.9,0,1,0,0,0,0
476 | 330490,99999,2014,03,05,34.7,4,32.8,4,1020.6,4,1000.3,4,3.8,4,6.3,4,7.8,999.9,36.9,*,32.5,*,99.99,,999.9,0,1,0,0,0,0
477 | 330490,99999,2014,04,15,45.6,4,44.2,4,1009.6,4,990.0,4,4.3,4,999.9,0,999.9,999.9,48.6,*,43.0,*,99.99,,999.9,0,1,0,0,0,0
478 | 330490,99999,2014,05,05,42.6,4,33.4,4,1009.0,4,989.3,4,13.5,4,10.2,4,13.6,999.9,48.7,*,35.4,*,99.99,,999.9,0,1,0,0,0,0
479 | 330490,99999,2014,05,10,51.4,4,47.4,4,1011.1,4,991.7,4,7.3,4,2.4,4,3.9,999.9,54.3,*,48.9,*,99.99,,999.9,0,1,0,0,0,0
480 | 330490,99999,2014,05,15,59.8,4,49.3,4,1017.6,4,998.4,4,13.2,4,8.3,4,9.7,999.9,66.9,*,55.9,*,99.99,,999.9,0,1,0,0,1,0
481 | 330490,99999,2014,05,16,68.1,4,51.7,4,1015.8,4,996.9,4,12.0,4,7.8,4,9.7,999.9,78.3,*,55.9,*,99.99,,999.9,0,1,0,0,0,0
482 | 330490,99999,2014,05,25,70.5,4,53.2,4,1018.3,4,999.5,4,13.5,4,999.9,0,999.9,999.9,80.4,*,60.8,*,99.99,,999.9,0,1,0,0,1,0
483 | 330490,99999,2014,12,24,36.8,4,33.3,4,1002.8,4,983.0,4,7.0,4,9.7,4,11.7,999.9,38.5,*,35.4,*,99.99,,999.9,0,1,0,0,0,0
484 | 331870,99999,2014,12,19,43.3,4,42.2,4,1009.8,4,9999.9,0,3.1,4,10.2,4,13.6,999.9,47.1,*,38.3,*,99.99,,999.9,0,1,0,0,0,0
485 | 331870,99999,2014,12,21,36.7,4,32.0,4,1013.4,4,9999.9,0,12.4,4,12.1,4,13.6,999.9,37.6,*,36.0,*,99.99,,999.9,0,1,0,0,0,0
486 | 331870,99999,2014,12,30,13.0,4,8.8,4,1031.2,4,9999.9,0,5.3,4,6.3,4,9.7,999.9,14.4,*,11.3,*,99.99,,999.9,0,0,1,0,0,0
487 | 332030,99999,2014,12,19,43.0,4,41.7,4,1008.6,4,9999.9,0,2.5,4,8.3,4,9.7,999.9,47.5,*,38.1,*,99.99,,999.9,0,1,0,0,0,0
488 | 332030,99999,2014,12,24,42.2,4,38.9,4,1007.1,4,9999.9,0,7.0,4,7.3,4,9.7,999.9,43.5,*,41.4,*,99.99,,999.9,0,1,0,0,0,0
489 | 332130,99999,2014,12,24,42.0,4,38.3,4,1006.2,4,9999.9,0,4.3,4,4.9,4,5.8,999.9,43.9,*,39.9,*,99.99,,999.9,0,1,0,0,0,0
490 | 332310,99999,2014,01,04,34.5,4,33.9,4,1022.1,4,1006.2,4,1.9,4,2.9,4,3.9,999.9,35.8,*,32.7,*,99.99,,999.9,1,1,0,0,0,0
491 | 332310,99999,2014,01,12,35.4,4,32.5,4,1003.0,4,987.4,4,4.3,4,5.3,4,7.8,999.9,36.5,*,34.2,*,99.99,,999.9,0,1,0,0,0,0
492 | 332310,99999,2014,01,17,25.6,4,21.2,4,1016.8,4,1000.7,4,3.4,4,2.4,4,3.9,999.9,27.3,*,24.1,*,99.99,,999.9,0,0,1,0,0,0
493 | 332310,99999,2014,01,21,10.9,4,4.2,4,1022.3,4,1005.5,4,5.3,4,3.9,4,5.8,999.9,13.6,*,6.4,*,99.99,,999.9,0,0,1,0,0,0
494 | 332310,99999,2014,02,08,31.9,4,30.0,4,1011.8,4,996.0,4,3.1,4,3.4,4,3.9,999.9,32.4,*,31.3,*,99.99,,999.9,0,1,0,0,0,0
495 | 332310,99999,2014,02,13,37.5,4,37.5,4,1007.5,4,991.8,4,0.3,4,2.4,4,3.9,999.9,38.7,*,36.1,*,99.99,,999.9,1,1,0,0,0,0
496 | 332310,99999,2014,02,20,38.5,4,32.5,4,1011.5,4,995.8,4,6.2,4,3.9,4,3.9,999.9,41.7,*,35.6,*,99.99,,999.9,0,1,0,0,0,0
497 | 332310,99999,2014,03,05,37.1,4,35.1,4,1018.9,4,1003.1,4,3.1,4,2.4,4,3.9,999.9,39.0,*,35.6,*,99.99,,999.9,0,1,0,0,0,0
498 | 332310,99999,2014,04,01,34.4,4,22.7,4,1012.5,4,996.7,4,5.3,4,3.4,4,3.9,999.9,38.1,*,29.1,*,99.99,,999.9,0,0,1,0,0,0
499 | 332310,99999,2014,04,09,53.6,4,45.5,4,1007.5,4,992.4,4,5.3,4,999.9,0,999.9,999.9,58.6,*,48.6,*,99.99,,999.9,0,1,0,0,0,0
500 | 332310,99999,2014,04,19,57.5,4,47.7,4,1018.1,4,1003.0,4,4.3,4,3.4,4,7.8,999.9,68.5,*,50.5,*,99.99,,999.9,0,1,0,0,0,0
501 | 332310,99999,2014,05,01,59.0,4,43.9,4,1006.7,4,991.8,4,5.3,4,999.9,0,999.9,999.9,71.6,*,42.6,*,99.99,,999.9,0,1,0,0,0,0
502 | 332310,99999,2014,05,10,53.8,4,49.7,4,1010.5,4,995.3,4,4.3,4,2.4,4,3.9,999.9,58.1,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
503 | 332310,99999,2014,05,16,63.3,4,59.9,4,1013.9,4,999.1,4,4.3,4,2.4,4,3.9,999.9,73.0,*,55.6,*,99.99,,999.9,0,1,0,0,1,0
504 | 332310,99999,2014,05,18,65.3,4,61.3,4,1015.1,4,1000.3,4,4.3,4,999.9,0,999.9,999.9,71.1,*,56.1,*,99.99,,999.9,0,1,0,0,1,0
505 | 332310,99999,2014,06,22,55.7,4,49.5,4,1011.7,4,996.5,4,5.3,4,999.9,0,999.9,999.9,64.8,*,49.6,*,99.99,,999.9,0,1,0,0,0,0
506 | 332460,99999,2014,01,02,31.7,4,30.6,4,1025.4,4,1009.4,4,2.2,4,6.3,4,7.8,999.9,32.9,*,30.0,*,99.99,,999.9,0,0,1,0,0,0
507 | 332460,99999,2014,01,16,29.3,4,26.3,4,1011.2,4,995.4,4,4.3,4,7.8,4,9.7,999.9,35.4,*,23.2,*,99.99,,999.9,0,1,0,0,0,0
508 | 332460,99999,2014,01,23,9.0,4,3.7,4,1019.0,4,1002.3,4,4.3,4,5.8,4,5.8,999.9,13.1,*,0.9,*,99.99,,999.9,0,0,1,0,0,0
509 | 332460,99999,2014,02,16,33.5,4,32.1,4,1016.7,4,1000.9,4,2.8,4,6.3,4,7.8,999.9,34.7,*,32.0,*,99.99,,999.9,0,1,0,0,0,0
510 | 332460,99999,2014,02,22,39.1,4,33.4,4,1021.9,4,1006.1,4,4.3,4,4.9,4,7.8,999.9,43.3,*,30.4,*,99.99,,999.9,0,1,0,0,0,0
511 | 332460,99999,2014,02,28,32.0,4,29.6,4,1020.7,4,1004.8,4,3.4,4,1.9,4,1.9,999.9,33.3,*,30.6,*,99.99,,999.9,0,0,1,0,0,0
512 | 332460,99999,2014,03,02,35.9,4,32.2,4,1016.3,4,1000.5,4,4.0,4,5.3,4,7.8,999.9,39.7,*,33.6,*,99.99,,999.9,0,1,0,0,0,0
513 | 332460,99999,2014,04,08,53.4,4,44.6,4,1009.9,4,994.8,4,5.3,4,6.8,4,11.7,999.9,61.3,*,45.7,*,99.99,,999.9,0,1,0,0,0,0
514 | 332460,99999,2014,04,14,45.9,4,41.9,4,1009.1,4,993.8,4,3.4,4,4.4,4,5.8,999.9,50.9,*,41.4,*,99.99,,999.9,0,1,0,0,0,0
515 | 332460,99999,2014,06,26,55.0,4,48.1,4,1010.3,4,995.2,4,4.3,4,999.9,0,999.9,999.9,61.3,*,49.8,*,99.99,,999.9,0,1,0,0,0,0
516 | 332680,99999,2014,12,22,33.8,4,31.5,4,1007.2,4,9999.9,0,999.9,0,5.3,4,5.8,999.9,35.2,*,33.1,*,99.99,,999.9,0,0,1,0,0,0
517 | 333560,99999,2014,01,12,35.7,4,31.4,4,1004.8,4,989.0,4,8.4,4,8.7,4,11.7,999.9,36.9,*,34.2,*,99.99,,999.9,0,1,0,0,0,0
518 | 333560,99999,2014,01,16,31.9,4,28.7,4,1011.8,4,995.8,4,6.6,4,7.8,4,11.7,999.9,37.2,*,25.2,*,99.99,,999.9,0,1,0,0,0,0
519 | 333560,99999,2014,01,22,14.4,4,9.5,4,1013.3,4,996.7,4,4.3,4,5.8,4,7.8,999.9,14.9,*,13.8,*,99.99,,999.9,0,0,1,0,0,0
520 | 333560,99999,2014,02,28,31.7,4,30.5,4,1020.4,4,1004.2,4,2.0,4,2.9,4,3.9,999.9,32.7,*,30.2,*,99.99,,999.9,1,1,1,0,0,0
521 | 333560,99999,2014,03,01,34.3,4,33.1,4,1018.1,4,1002.2,4,2.0,4,4.9,4,5.8,999.9,35.6,*,33.1,*,99.99,,999.9,0,1,0,0,0,0
522 | 333560,99999,2014,03,03,33.8,4,32.0,4,1010.0,4,994.1,4,3.7,4,6.3,4,9.7,999.9,34.7,*,33.3,*,99.99,,999.9,0,1,1,0,0,0
523 | 333560,99999,2014,03,17,35.5,4,25.2,4,997.8,4,982.2,4,9.6,4,13.1,4,17.5,999.9,39.0,*,30.6,*,99.99,,999.9,0,1,0,0,0,0
524 | 333560,99999,2014,04,15,48.5,4,44.4,4,1010.2,4,994.7,4,5.4,4,4.4,4,7.8,999.9,55.6,*,44.8,*,99.99,,999.9,0,1,0,0,0,0
525 | 333560,99999,2014,04,16,47.0,4,43.7,4,1018.8,4,1003.2,4,7.8,4,2.9,4,5.8,999.9,50.2,*,43.7,*,99.99,,999.9,0,1,0,0,0,0
526 | 333560,99999,2014,04,17,53.4,4,46.5,4,1021.5,4,1006.0,4,8.9,4,5.3,4,7.8,999.9,61.0,*,45.5,*,99.99,,999.9,0,1,0,0,0,0
527 | 333560,99999,2014,12,19,37.0,4,34.8,4,1012.4,4,996.6,4,4.8,4,5.3,4,5.8,999.9,40.5,*,32.2,*,99.99,,999.9,0,1,0,0,0,0
528 | 333620,99999,2014,01,10,37.9,4,34.9,4,1005.8,4,989.5,4,5.0,4,5.8,4,7.8,999.9,39.2,*,37.2,*,99.99,,999.9,0,1,0,0,0,0
529 | 333620,99999,2014,01,11,38.4,4,33.9,4,1007.8,4,991.5,4,7.0,4,6.3,4,9.7,999.9,39.4,*,36.5,*,99.99,,999.9,0,1,0,0,0,0
530 | 333620,99999,2014,01,18,26.4,4,23.0,4,1013.2,4,996.3,4,4.5,4,999.9,0,999.9,999.9,32.9,*,18.7,*,99.99,,999.9,0,0,1,0,0,0
531 | 333620,99999,2014,02,09,34.0,4,33.9,4,1011.0,4,994.5,4,0.3,4,2.4,4,3.9,999.9,34.9,*,33.3,*,99.99,,999.9,1,1,0,0,0,0
532 | 333620,99999,2014,02,20,37.8,4,33.5,4,1010.8,4,994.3,4,5.9,4,4.9,4,7.8,999.9,40.1,*,35.2,*,99.99,,999.9,0,1,0,0,0,0
533 | 333620,99999,2014,02,28,32.2,4,30.2,4,1020.5,4,1003.7,4,2.7,4,999.9,0,999.9,999.9,34.0,*,29.7,*,99.99,,999.9,0,0,1,0,0,0
534 | 333620,99999,2014,04,22,58.6,4,50.1,4,1016.4,4,1000.6,4,6.7,4,4.4,4,5.8,999.9,67.1,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
535 | 333620,99999,2014,05,19,66.7,4,59.6,4,1015.7,4,1000.1,4,4.8,4,6.3,4,15.5,999.9,78.6,*,59.5,*,99.99,,999.9,0,1,0,0,1,0
536 | 333620,99999,2014,12,19,35.4,4,33.9,4,1012.2,4,995.7,4,2.7,4,5.8,4,7.8,999.9,39.4,*,29.5,*,99.99,,999.9,1,1,0,0,0,0
537 | 333760,99999,2014,01,15,30.0,4,25.1,4,1017.7,4,998.2,4,10.9,4,5.3,4,9.7,999.9,35.4,*,23.0,*,99.99,,999.9,0,1,0,0,0,0
538 | 333760,99999,2014,01,18,25.2,4,23.1,4,1013.0,4,993.4,4,4.3,4,2.4,4,3.9,999.9,29.5,*,17.1,*,99.99,,999.9,0,0,1,0,0,0
539 | 333760,99999,2014,02,12,35.6,4,35.6,4,1017.0,4,997.8,4,0.2,4,3.4,4,3.9,999.9,37.6,*,32.4,*,99.99,,999.9,1,1,0,0,0,0
540 | 333760,99999,2014,02,17,33.2,4,31.6,4,1015.0,4,995.8,4,3.5,4,3.9,4,5.8,999.9,34.9,*,31.6,*,99.99,,999.9,0,0,1,0,0,0
541 | 333760,99999,2014,03,01,33.5,4,30.4,4,1020.1,4,1000.7,4,7.1,4,1.9,4,1.9,999.9,35.2,*,31.3,*,99.99,,999.9,0,1,0,0,0,0
542 | 333760,99999,2014,03,18,35.8,4,25.8,4,1006.2,4,987.2,4,12.1,4,12.1,4,17.5,999.9,39.2,*,32.0,*,99.99,,999.9,0,0,1,0,0,0
543 | 333760,99999,2014,05,02,62.3,4,43.0,4,1008.2,4,990.1,4,14.6,4,3.4,4,7.8,999.9,70.7,*,50.7,*,99.99,,999.9,0,1,0,0,0,0
544 | 333980,99999,2014,12,28,27.7,4,25.3,4,1014.3,4,9999.9,0,5.0,4,3.4,4,5.8,999.9,29.5,*,26.6,*,99.99,,999.9,0,0,1,0,0,0
545 | 334090,99999,2014,12,29,19.3,4,12.8,4,1019.8,4,9999.9,0,4.0,4,7.3,4,7.8,999.9,23.2,*,16.9,*,99.99,,999.9,0,0,1,0,0,0
546 | 334390,99999,2014,12,19,38.6,4,35.3,4,1013.9,4,9999.9,0,5.0,4,2.4,4,3.9,999.9,40.5,*,36.0,*,99.99,,999.9,0,1,0,0,0,0
547 | 334460,99999,2014,12,19,38.2,4,35.9,4,1013.0,4,9999.9,0,4.3,4,6.8,4,7.8,999.9,41.0,*,35.2,*,99.99,,999.9,0,1,0,0,0,0
548 | 334870,99999,2014,02,15,32.6,4,32.2,4,1017.8,4,1004.3,4,0.4,4,999.9,0,999.9,999.9,32.7,*,32.4,*,99.99,,999.9,1,1,0,0,0,0
549 | 334950,99999,2014,01,16,35.1,4,32.0,4,1011.4,4,999.3,4,3.2,4,10.7,4,13.6,999.9,40.5,*,27.9,*,99.99,,999.9,0,1,0,0,0,0
550 | 334950,99999,2014,02,15,33.3,4,32.5,4,1017.7,4,1005.5,4,1.0,4,2.4,4,3.9,999.9,34.0,*,32.7,*,99.99,,999.9,0,1,0,0,0,0
551 | 334950,99999,2014,02,20,38.3,4,34.9,4,1011.5,4,999.5,4,3.7,4,7.3,4,11.7,999.9,40.6,*,35.2,*,99.99,,999.9,0,1,0,0,0,0
552 | 334950,99999,2014,02,21,38.1,4,33.8,4,1019.7,4,1007.6,4,5.0,4,4.4,4,7.8,999.9,45.1,*,34.0,*,99.99,,999.9,0,1,0,0,0,0
553 | 334950,99999,2014,03,18,37.9,4,27.9,4,1007.5,4,995.7,4,8.4,4,14.6,4,23.3,999.9,41.2,*,36.0,*,99.99,,999.9,0,1,1,0,0,0
554 | 334950,99999,2014,03,19,44.2,4,41.0,4,1008.4,4,996.6,4,4.7,4,3.9,4,5.8,999.9,48.0,*,39.2,*,99.99,,999.9,0,1,0,0,0,0
555 | 334950,99999,2014,04,13,39.5,4,37.1,4,1015.8,4,1003.9,4,3.1,4,4.4,4,5.8,999.9,41.0,*,37.8,*,99.99,,999.9,0,1,0,0,0,0
556 | 334950,99999,2014,04,14,46.6,4,43.2,4,1011.6,4,999.9,4,4.3,4,3.9,4,5.8,999.9,50.7,*,41.9,*,99.99,,999.9,0,1,0,0,0,0
557 | 334950,99999,2014,04,19,58.9,4,47.4,4,1016.2,4,1004.7,4,8.2,4,10.7,4,15.5,999.9,65.5,*,54.7,*,99.99,,999.9,0,1,0,0,0,0
558 | 334950,99999,2014,05,10,59.0,4,53.0,4,1009.3,4,997.9,4,6.5,4,3.4,4,3.9,999.9,65.8,*,53.8,*,99.99,,999.9,0,1,0,0,0,0
559 | 334950,99999,2014,06,26,58.2,4,53.8,4,1005.7,4,994.3,4,5.4,4,8.3,4,11.7,999.9,59.7,*,57.0,*,99.99,,999.9,0,1,0,0,0,0
560 | 334950,99999,2014,12,19,33.1,4,30.1,4,1014.9,4,1002.8,4,3.6,4,6.8,4,11.7,999.9,36.5,*,27.3,*,99.99,,999.9,1,1,0,0,0,0
561 | 335110,99999,2014,12,30,10.5,4,6.3,4,1032.5,4,9999.9,0,3.9,4,4.9,4,7.8,999.9,12.6,*,8.1,*,99.99,,999.9,0,0,1,0,0,0
562 | 335160,99999,2014,12,22,32.9,4,29.5,4,1017.8,4,9999.9,0,5.0,4,5.3,4,5.8,999.9,34.5,*,32.2,*,99.99,,999.9,0,1,0,0,0,0
563 | 335160,99999,2014,12,28,25.1,4,20.9,4,1013.3,4,9999.9,0,7.1,4,999.9,0,999.9,999.9,25.9,*,23.4,*,99.99,,999.9,0,0,1,0,0,0
564 | 335360,99999,2014,12,28,24.5,4,21.5,4,1014.4,4,9999.9,0,5.3,4,999.9,0,999.9,999.9,26.6,*,22.5,*,99.99,,999.9,0,0,1,0,0,0
565 | 335360,99999,2014,12,29,18.5,4,12.5,4,1019.0,4,9999.9,0,4.3,4,3.9,4,3.9,999.9,19.9,*,17.2,*,99.99,,999.9,0,0,1,0,0,0
566 | 335480,99999,2014,12,19,32.4,4,31.5,4,1015.2,4,9999.9,0,4.7,4,3.4,4,3.9,999.9,35.6,*,28.8,*,99.99,,999.9,1,1,0,0,0,0
567 | 335570,99999,2014,12,29,18.5,4,14.3,4,1017.3,4,9999.9,0,999.9,0,5.3,4,7.8,999.9,19.4,*,17.1,*,99.99,,999.9,0,0,1,0,0,0
568 | 335640,99999,2014,12,22,35.2,4,30.0,4,1012.8,4,9999.9,0,3.4,4,8.3,4,9.7,999.9,37.8,*,32.7,*,99.99,,999.9,0,1,1,0,0,0
569 | 335770,99999,2014,12,22,35.8,4,32.2,4,1013.2,4,9999.9,0,5.4,4,6.3,4,7.8,999.9,37.9,*,34.0,*,99.99,,999.9,0,1,0,0,0,0
570 | 335770,99999,2014,12,29,19.9,4,15.9,4,1014.9,4,9999.9,0,6.5,4,5.8,4,7.8,999.9,20.7,*,19.0,*,99.99,,999.9,0,0,1,0,0,0
571 | 335810,99999,2014,12,30,14.6,4,8.1,4,1025.0,4,9999.9,0,9.8,4,3.4,4,5.8,999.9,16.5,*,9.9,*,99.99,,999.9,0,0,1,0,0,0
572 | 335980,99999,2014,12,22,35.3,4,30.7,4,1013.5,4,9999.9,0,5.3,4,5.8,4,7.8,999.9,36.7,*,33.3,*,99.99,,999.9,0,1,0,0,0,0
573 | 336050,99999,2014,02,27,31.2,4,27.5,4,1023.1,4,1007.4,4,11.3,4,3.4,4,3.9,999.9,32.4,*,29.8,*,99.99,,999.9,0,0,1,0,0,0
574 | 336050,99999,2014,02,28,33.3,4,32.7,4,1020.0,4,1004.4,4,0.8,4,999.9,0,999.9,999.9,34.9,*,30.6,*,99.99,,999.9,1,1,0,0,0,0
575 | 336050,99999,2014,05,11,58.9,4,51.9,4,1013.1,4,998.4,4,8.7,4,999.9,0,999.9,999.9,65.7,*,54.0,*,99.99,,999.9,0,1,0,0,0,0
576 | 336050,99999,2014,06,23,59.1,4,50.2,4,1016.4,4,1001.7,4,11.7,4,3.9,4,5.8,999.9,68.5,*,53.1,*,99.99,,999.9,0,1,0,0,0,0
577 | 336090,99999,2014,01,12,34.5,4,30.1,4,1008.6,4,986.2,4,5.9,4,8.3,4,11.7,999.9,36.0,*,33.6,*,99.99,,999.9,0,1,1,0,0,0
578 | 336090,99999,2014,01,17,30.2,4,25.7,4,1018.4,4,995.6,4,6.6,4,999.9,0,999.9,999.9,32.2,*,28.2,*,99.99,,999.9,0,1,0,0,0,0
579 | 336090,99999,2014,01,20,16.7,4,12.1,4,1024.9,4,1001.4,4,7.3,4,9.7,4,11.7,999.9,18.3,*,13.6,*,99.99,,999.9,0,0,1,0,0,0
580 | 336090,99999,2014,01,22,14.6,4,10.7,4,1010.5,4,987.2,4,3.0,4,6.3,4,7.8,999.9,15.4,*,13.5,*,99.99,,999.9,0,0,1,0,0,0
581 | 336090,99999,2014,01,27,10.2,4,4.5,4,1015.8,4,992.0,4,8.1,4,8.7,4,9.7,999.9,14.4,*,6.1,*,99.99,,999.9,0,0,1,0,0,0
582 | 336090,99999,2014,02,16,32.3,4,31.6,4,1018.8,4,996.0,4,1.3,4,2.9,4,3.9,999.9,35.1,*,29.3,*,99.99,,999.9,1,1,0,0,0,0
583 | 336090,99999,2014,04,04,44.7,4,37.0,4,1010.4,4,988.5,4,5.3,4,6.3,4,9.7,999.9,55.6,*,38.5,*,99.99,,999.9,0,1,0,0,0,0
584 | 336090,99999,2014,05,09,57.7,4,40.3,4,1016.6,4,995.1,4,6.5,4,6.8,4,11.7,999.9,66.9,*,42.1,*,99.99,,999.9,0,1,0,0,0,0
585 | 336090,99999,2014,05,13,57.1,4,45.8,4,1014.1,4,992.7,4,6.8,4,3.9,4,5.8,999.9,65.7,*,50.5,*,99.99,,999.9,0,1,0,0,0,0
586 | 336090,99999,2014,05,29,67.0,4,60.9,4,1007.4,4,986.5,4,4.5,4,1.9,4,1.9,999.9,74.1,*,59.9,*,99.99,,999.9,0,1,0,0,0,0
587 | 336090,99999,2014,06,24,64.4,4,52.4,4,1012.9,4,991.7,4,5.4,4,3.4,4,3.9,999.9,75.4,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
588 | 336090,99999,2014,12,28,18.1,4,14.7,4,1012.4,4,989.1,4,5.7,4,5.8,4,9.7,999.9,20.5,*,14.7,*,99.99,,999.9,0,0,1,0,0,0
589 | 336210,99999,2014,01,10,37.1,4,35.0,4,1010.2,4,995.6,4,2.6,4,6.8,4,7.8,999.9,39.6,*,33.6,*,99.99,,999.9,0,1,0,0,0,0
590 | 336210,99999,2014,01,22,15.0,4,10.8,4,1010.7,4,995.5,4,4.4,4,7.8,4,11.7,999.9,16.3,*,13.8,*,99.99,,999.9,0,0,1,0,0,0
591 | 336210,99999,2014,01,28,11.7,4,4.3,4,1019.7,4,1004.2,4,3.6,4,14.6,4,19.4,999.9,13.5,*,9.0,*,99.99,,999.9,0,0,1,0,0,0
592 | 336210,99999,2014,02,14,40.1,4,39.2,4,1011.9,4,997.4,4,0.8,4,999.9,0,999.9,999.9,43.2,*,36.3,*,99.99,,999.9,1,1,0,0,0,0
593 | 336210,99999,2014,03,16,40.6,4,24.7,4,993.1,4,978.9,4,11.2,4,9.7,4,11.7,999.9,44.6,*,35.8,*,99.99,,999.9,0,1,0,0,0,0
594 | 336210,99999,2014,04,12,40.9,4,36.4,4,1021.9,4,1007.3,4,6.5,4,5.8,4,7.8,999.9,45.5,*,36.1,*,99.99,,999.9,0,1,0,0,0,0
595 | 336210,99999,2014,04,13,40.5,4,38.5,4,1016.5,4,1001.9,4,2.8,4,3.9,4,3.9,999.9,42.6,*,39.2,*,99.99,,999.9,0,1,0,0,0,0
596 | 336510,99999,2014,12,22,40.8,4,27.4,4,1013.6,4,9999.9,0,14.0,4,8.3,4,13.6,999.9,44.6,*,35.4,*,99.99,,999.9,0,1,0,0,0,0
597 | 336510,99999,2014,12,28,25.7,4,23.6,4,1014.3,4,9999.9,0,6.8,4,999.9,0,999.9,999.9,27.5,*,23.9,*,99.99,,999.9,0,0,1,0,0,0
598 | 336510,99999,2014,12,29,18.9,4,15.9,4,1019.9,4,9999.9,0,3.9,4,6.3,4,9.7,999.9,22.3,*,16.9,*,99.99,,999.9,0,0,1,0,0,0
599 | 336570,99999,2014,12,19,31.8,4,28.1,4,1018.8,4,9999.9,0,10.9,4,999.9,0,999.9,999.9,38.7,*,22.6,*,99.99,,999.9,0,1,0,0,0,0
600 | 337170,99999,2014,01,21,19.7,4,14.7,4,1017.8,4,999.3,4,8.5,4,10.7,4,11.7,999.9,22.5,*,16.2,*,99.99,,999.9,0,0,1,0,0,0
601 | 337170,99999,2014,01,22,17.2,4,11.4,4,1009.9,4,991.5,4,14.5,4,7.3,4,9.7,999.9,18.5,*,16.2,*,99.99,,999.9,0,0,1,0,0,0
602 | 337170,99999,2014,03,03,37.7,4,36.5,4,1006.7,4,989.2,4,2.0,4,5.3,4,9.7,999.9,39.7,*,36.1,*,99.99,,999.9,0,1,0,0,0,0
603 | 337170,99999,2014,04,14,47.6,4,43.0,4,1012.6,4,995.4,4,6.8,4,7.3,4,9.7,999.9,50.5,*,44.8,*,99.99,,999.9,0,1,0,0,0,0
604 | 337170,99999,2014,05,15,67.1,4,57.9,4,1010.2,4,9999.9,0,8.5,4,11.7,4,15.5,999.9,78.3,,57.7,*,99.99,,999.9,0,1,0,0,0,0
605 | 337170,99999,2014,06,24,67.0,4,54.4,4,1012.9,4,996.2,4,9.8,4,999.9,0,999.9,999.9,76.3,*,54.3,*,99.99,,999.9,0,1,0,0,0,0
606 | 337170,99999,2014,12,24,45.6,4,40.0,4,1011.6,4,994.2,4,24.1,4,7.8,4,15.5,999.9,47.1,*,44.2,*,99.99,,999.9,0,1,0,0,0,0
607 | 337230,99999,2014,01,12,35.9,4,31.5,4,1008.6,4,994.0,4,8.6,4,8.3,4,11.7,999.9,40.1,*,33.8,*,99.99,,999.9,0,1,0,0,0,0
608 | 337230,99999,2014,01,13,33.9,4,27.5,4,1008.1,4,993.4,4,12.3,4,10.2,4,11.7,999.9,37.4,*,29.8,*,99.99,,999.9,0,0,1,0,0,0
609 | 337230,99999,2014,01,19,24.0,4,19.8,4,1024.8,4,1009.6,4,8.8,4,6.3,4,7.8,999.9,25.0,*,22.5,*,99.99,,999.9,0,0,1,0,0,0
610 | 337230,99999,2014,02,20,40.3,4,36.5,4,1012.0,4,997.5,4,5.3,4,3.4,4,5.8,999.9,41.7,*,38.5,*,99.99,,999.9,0,1,0,0,0,0
611 | 337230,99999,2014,03,18,40.6,4,26.1,4,1008.4,4,993.9,4,12.4,4,11.2,4,17.5,999.9,44.8,*,36.0,*,99.99,,999.9,0,1,0,0,0,0
612 | 337230,99999,2014,04,20,56.6,4,53.5,4,1011.4,4,997.4,4,7.3,4,999.9,0,999.9,999.9,59.4,*,55.0,*,99.99,,999.9,0,1,0,0,0,0
613 | 337230,99999,2014,05,04,58.3,4,48.0,4,1009.8,4,995.8,4,11.7,4,5.8,4,9.7,999.9,67.6,*,42.8,*,99.99,,999.9,0,1,0,0,0,0
614 | 337230,99999,2014,06,26,62.6,4,58.7,4,1003.4,4,989.6,4,5.8,4,6.3,4,7.8,999.9,65.3,*,60.4,*,99.99,,999.9,0,1,0,0,0,0
615 | 337230,99999,2014,12,28,17.8,4,15.0,4,1011.2,4,996.0,4,7.5,4,999.9,0,999.9,999.9,21.7,*,12.4,*,99.99,,999.9,0,0,1,0,0,0
616 | 337770,99999,2014,01,01,33.5,4,32.1,4,1028.9,4,1024.6,4,3.4,4,3.4,4,3.9,999.9,34.7,*,32.4,*,99.99,,999.9,0,1,0,0,0,0
617 | 337770,99999,2014,01,03,35.9,4,33.6,4,1024.7,4,1020.4,4,5.9,4,3.9,4,5.8,999.9,37.4,*,34.0,*,99.99,,999.9,0,1,0,0,0,0
618 | 337770,99999,2014,02,10,36.0,4,35.9,4,1008.3,4,1004.1,4,0.7,4,999.9,0,999.9,999.9,37.8,*,34.9,*,99.99,,999.9,1,1,0,0,0,0
619 | 337770,99999,2014,02,28,35.6,4,34.2,4,1019.2,4,1015.0,4,1.7,4,999.9,0,999.9,999.9,38.5,*,32.2,*,99.99,,999.9,0,1,1,0,0,0
620 | 337770,99999,2014,04,04,50.0,4,41.0,4,1011.5,4,1007.5,4,7.8,4,999.9,0,999.9,999.9,61.0,*,45.1,*,99.99,,999.9,0,1,0,0,0,0
621 | 337770,99999,2014,05,10,60.4,4,56.1,4,1008.7,4,1004.7,4,9.3,4,2.9,4,5.8,999.9,64.4,*,55.9,*,99.99,,999.9,0,1,0,0,0,0
622 | 337770,99999,2014,05,12,59.9,4,52.9,4,1011.6,4,1007.6,4,9.9,4,5.3,4,7.8,999.9,62.8,*,57.4,*,99.99,,999.9,0,1,0,0,0,0
623 | 338151,99999,2014,03,15,48.1,4,30.4,4,1001.8,4,988.9,4,6.2,4,11.7,4,19.4,999.9,62.8,*,30.4,*,99.99,,999.9,0,1,0,0,0,0
624 | 338151,99999,2014,04,12,39.4,4,35.9,4,1020.6,4,1007.2,4,4.3,4,7.3,4,11.7,999.9,41.0,*,37.8,*,99.99,,999.9,0,1,0,0,0,0
625 | 338151,99999,2014,06,04,66.0,4,58.1,4,1012.5,4,1000.0,4,5.3,4,7.8,4,9.7,999.9,67.5,*,63.7,*,99.99,,999.9,0,1,0,0,0,0
626 | 338151,99999,2014,06,11,61.4,4,54.2,4,1012.0,4,999.4,4,7.8,4,10.2,4,13.6,999.9,65.7,*,58.8,*,99.99,,999.9,0,1,0,0,0,0
627 | 338151,99999,2014,06,26,58.1,4,53.5,4,1006.2,4,993.6,4,4.3,4,14.6,4,25.3,999.9,62.8,*,52.5,*,99.99,,999.9,0,1,0,0,0,0
628 | 338151,99999,2014,06,27,60.4,4,48.9,4,1013.1,4,1000.4,4,9.3,4,10.2,4,13.6,999.9,67.1,*,53.2,*,99.99,,999.9,0,1,0,0,0,0
629 | 338151,99999,2014,12,29,19.9,4,16.4,4,1012.7,4,998.8,4,2.8,4,10.7,4,17.5,999.9,20.7,*,19.0,*,99.99,,999.9,0,0,1,0,0,0
630 | 338460,99999,2014,01,19,30.4,4,26.3,4,1022.5,4,1016.1,4,5.3,4,10.2,4,13.6,999.9,35.4,*,27.9,*,99.99,,999.9,0,1,0,0,0,0
631 | 338620,99999,2014,01,04,37.6,4,35.7,4,1026.8,4,1019.4,4,2.5,4,999.9,0,999.9,999.9,38.8,*,34.9,*,99.99,,999.9,0,1,0,0,0,0
632 | 338620,99999,2014,01,06,39.0,4,38.1,4,1022.3,4,1015.1,4,1.9,4,2.4,4,3.9,999.9,41.9,*,34.0,*,99.99,,999.9,1,1,0,0,0,0
633 | 338620,99999,2014,01,09,38.8,4,38.1,4,1019.8,4,1012.6,4,1.9,4,3.4,4,3.9,999.9,40.6,*,36.3,*,99.99,,999.9,1,1,0,0,0,0
634 | 338620,99999,2014,01,19,28.5,4,23.4,4,1024.0,4,1016.5,4,6.8,4,3.9,4,3.9,999.9,31.1,*,27.5,*,99.99,,999.9,0,0,1,0,0,0
635 | 338620,99999,2014,01,21,22.9,4,18.7,4,1016.7,4,1009.2,4,7.5,4,10.7,4,11.7,999.9,23.5,*,21.7,*,99.99,,999.9,0,1,1,0,0,0
636 | 338620,99999,2014,02,10,38.3,4,38.3,4,1009.3,4,1002.2,4,0.2,4,999.9,0,999.9,999.9,41.0,*,36.3,*,99.99,,999.9,1,1,0,0,0,0
637 | 338620,99999,2014,02,17,40.1,4,39.3,4,1016.7,4,1009.4,4,2.5,4,2.9,4,3.9,999.9,43.9,*,37.2,*,99.99,,999.9,0,1,0,0,0,0
638 | 338620,99999,2014,03,04,41.6,4,40.7,4,1008.1,4,1001.0,4,1.7,4,999.9,0,999.9,999.9,43.2,*,39.9,*,99.99,,999.9,1,1,0,0,0,0
639 | 338620,99999,2014,04,13,44.2,4,42.3,4,1016.4,4,1009.2,4,2.5,4,999.9,0,999.9,999.9,48.6,*,40.3,*,99.99,,999.9,0,1,0,0,0,0
640 | 338620,99999,2014,05,11,60.6,4,56.7,4,1013.3,4,1006.4,4,7.5,4,999.9,0,999.9,999.9,65.8,*,56.8,*,99.99,,999.9,0,1,0,0,0,0
641 | 338620,99999,2014,06,21,66.0,4,56.5,4,1005.6,4,998.8,4,7.5,4,999.9,0,999.9,999.9,73.8,*,57.4,*,99.99,,999.9,0,1,0,0,0,0
642 | 338690,99999,2014,02,24,33.5,4,28.5,4,1025.2,4,1022.0,4,7.9,4,10.2,4,11.7,999.9,34.5,*,31.6,*,99.99,,999.9,0,1,0,0,0,0
643 | 338690,99999,2014,02,25,33.5,4,29.0,4,1023.8,4,1020.6,4,7.3,4,8.7,4,11.7,999.9,35.6,*,32.0,*,99.99,,999.9,0,1,0,0,0,0
644 | 338690,99999,2014,03,03,42.6,4,38.8,4,1005.8,4,1002.8,4,5.8,4,5.3,4,7.8,999.9,51.1,*,37.8,*,99.99,,999.9,1,1,0,0,0,0
645 | 338690,99999,2014,04,24,60.5,4,49.2,4,1017.9,4,1014.9,4,8.9,4,4.9,4,7.8,999.9,70.3,*,46.4,*,99.99,,999.9,0,1,0,0,0,0
646 | 338690,99999,2014,05,05,52.8,4,48.3,4,1008.2,4,1005.2,4,4.8,4,4.4,4,7.8,999.9,63.1,*,45.7,*,99.99,,999.9,1,1,0,0,0,0
647 | 338690,99999,2014,05,19,65.0,4,58.1,4,1016.4,4,1013.4,4,8.5,4,2.9,4,5.8,999.9,70.2,*,58.5,*,99.99,,999.9,0,1,0,0,0,0
648 | 338690,99999,2014,05,28,70.5,4,61.5,4,1007.2,4,1004.2,4,8.7,4,999.9,0,999.9,999.9,81.9,*,63.3,*,99.99,,999.9,0,1,0,0,1,0
649 | 338690,99999,2014,06,02,67.5,4,59.3,4,1011.1,4,1008.2,4,8.9,4,3.4,4,3.9,999.9,73.4,*,58.3,*,99.99,,999.9,0,1,0,0,1,0
650 | 338690,99999,2014,06,03,66.6,4,60.4,4,1010.6,4,1007.6,4,5.9,4,4.4,4,5.8,999.9,72.1,*,61.7,*,99.99,,999.9,0,1,0,0,0,0
651 | 338690,99999,2014,06,11,65.6,4,57.5,4,1009.7,4,1006.7,4,9.0,4,5.3,4,7.8,999.9,74.7,*,60.8,*,99.99,,999.9,0,1,0,0,0,0
652 | 338850,99999,2014,01,28,18.0,4,15.8,4,9999.9,0,9999.9,0,4.5,4,5.5,4,6.0,999.9,19.4,*,17.6,*,99.99,,999.9,0,0,1,0,0,0
653 | 338890,99999,2014,01,01,33.9,4,31.9,4,1028.0,4,1024.1,4,2.6,4,999.9,0,999.9,999.9,36.0,*,31.6,*,99.99,,999.9,0,1,0,0,0,0
654 | 338890,99999,2014,01,08,36.7,4,35.0,4,1025.8,4,1022.1,4,0.4,4,999.9,0,999.9,999.9,37.4,*,36.1,*,99.99,,999.9,1,1,0,0,0,0
655 | 338890,99999,2014,01,09,36.0,4,34.2,4,1022.8,4,1019.0,4,0.4,4,4.4,4,5.8,999.9,38.1,*,34.5,*,99.99,,999.9,1,1,0,0,0,0
656 | 338890,99999,2014,01,21,33.1,4,31.0,4,1011.2,4,1007.5,4,2.5,4,11.2,4,13.6,999.9,33.8,*,31.8,*,99.99,,999.9,0,1,0,0,0,0
657 | 338890,99999,2014,01,24,21.2,4,15.8,4,1023.6,4,1019.7,4,6.7,4,8.3,4,13.6,999.9,21.7,*,20.7,*,99.99,,999.9,0,0,1,0,0,0
658 | 338890,99999,2014,01,30,6.9,4,-0.4,4,1034.1,4,1030.0,4,8.1,4,8.7,4,11.7,999.9,10.0,*,2.5,*,99.99,,999.9,0,0,1,0,0,0
659 | 338890,99999,2014,02,25,32.4,4,28.0,4,1024.9,4,1021.1,4,7.9,4,7.8,4,9.7,999.9,32.7,*,32.0,*,99.99,,999.9,0,0,1,0,0,0
660 | 338890,99999,2014,02,26,32.4,4,30.5,4,1023.7,4,1019.9,4,3.1,4,4.4,4,5.8,999.9,33.1,*,31.6,*,99.99,,999.9,0,0,1,0,0,0
661 | 338890,99999,2014,04,01,56.2,4,39.0,4,1010.4,4,1006.8,4,12.4,4,8.7,4,13.6,999.9,64.0,*,48.6,*,99.99,,999.9,0,1,0,0,0,0
662 | 338890,99999,2014,04,10,48.9,4,44.9,4,1011.8,4,1008.0,4,7.5,4,10.2,4,13.6,999.9,50.7,*,48.2,*,99.99,,999.9,0,1,0,0,0,0
663 | 338890,99999,2014,04,11,49.2,4,46.9,4,1014.0,4,1010.2,4,3.3,4,999.9,0,999.9,999.9,51.1,*,47.5,*,99.99,,999.9,0,1,0,0,0,0
664 | 338890,99999,2014,05,14,55.4,4,53.3,4,1010.2,4,1006.6,4,5.9,4,999.9,0,999.9,999.9,57.9,*,52.0,*,99.99,,999.9,0,1,0,0,0,0
665 | 338890,99999,2014,05,17,57.6,4,50.5,4,1014.4,4,1010.8,4,6.2,4,999.9,0,999.9,999.9,68.7,*,46.0,*,99.99,,999.9,1,1,0,0,1,0
666 | 338890,99999,2014,06,17,64.2,4,59.5,4,1014.3,4,1010.8,4,9.6,4,999.9,0,999.9,999.9,67.1,*,61.2,*,99.99,,999.9,0,1,0,0,0,0
667 | 338890,99999,2014,12,28,28.0,4,24.4,4,1014.0,4,1010.2,4,3.1,4,999.9,0,999.9,999.9,35.6,*,22.6,*,99.99,,999.9,0,1,0,0,0,0
668 | 339100,99999,2014,01,02,35.9,4,33.7,4,1026.0,4,1024.1,4,10.9,4,3.9,4,3.9,999.9,36.1,*,35.6,*,99.99,,999.9,0,1,0,0,0,0
669 | 339100,99999,2014,02,06,21.2,4,19.8,4,1023.8,4,1021.9,4,3.1,4,3.9,4,3.9,999.9,22.8,*,18.7,*,99.99,,999.9,0,0,1,0,0,0
670 | 339100,99999,2014,02,27,34.4,4,33.8,4,1019.8,4,1017.9,4,1.2,4,3.9,4,3.9,999.9,35.4,*,33.8,*,99.99,,999.9,1,1,0,0,0,0
671 | 339100,99999,2014,05,18,63.5,4,55.2,4,1014.1,4,1012.3,4,12.4,4,12.6,4,15.5,999.9,66.4,*,60.8,*,99.99,,999.9,0,1,0,0,0,0
672 | 339100,99999,2014,06,18,69.1,4,61.1,4,1012.1,4,1010.4,4,12.4,4,3.9,4,3.9,999.9,73.0,*,66.0,*,99.99,,999.9,0,1,0,0,0,0
673 | 339100,99999,2014,06,21,66.0,4,60.2,4,1004.8,4,1003.1,4,8.4,4,5.8,4,7.8,999.9,71.2,*,61.2,*,99.99,,999.9,0,1,0,0,1,0
674 | 339100,99999,2014,06,26,68.6,4,62.2,4,1005.8,4,1004.1,4,12.4,4,11.7,4,27.2,999.9,73.0,*,66.7,*,99.99,,999.9,0,1,0,0,1,0
675 | 339150,99999,2014,01,27,22.9,4,18.9,4,1007.7,4,1003.8,4,3.4,4,25.3,4,31.1,999.9,27.7,*,18.0,*,99.99,,999.9,0,0,1,0,0,0
676 | 339150,99999,2014,01,30,5.0,4,-1.8,4,1032.2,4,1028.2,4,2.2,4,23.8,4,27.2,999.9,6.8,*,1.6,*,99.99,,999.9,0,0,1,0,0,0
677 | 339150,99999,2014,03,08,39.7,4,23.4,4,1025.3,4,1021.6,4,10.9,4,18.9,4,21.4,999.9,43.7,*,33.1,*,99.99,,999.9,0,1,0,0,0,0
678 | 339150,99999,2014,03,26,51.5,4,42.6,4,1012.9,4,1009.3,4,10.9,4,6.3,4,7.8,999.9,59.9,*,37.4,*,99.99,,999.9,0,1,0,0,0,0
679 | 339150,99999,2014,03,27,48.9,4,46.7,4,1016.3,4,1012.7,4,4.3,4,5.8,4,7.8,999.9,53.8,*,45.7,*,99.99,,999.9,0,1,0,0,0,0
680 | 339150,99999,2014,04,13,44.8,4,41.4,4,1016.7,4,1013.1,4,7.5,4,2.9,4,3.9,999.9,49.8,*,37.0,*,99.99,,999.9,0,1,0,0,0,0
681 | 339150,99999,2014,06,17,66.7,4,55.5,4,1015.1,4,1011.5,4,10.9,4,5.3,4,9.7,999.9,76.5,*,59.9,*,99.99,,999.9,0,1,0,0,0,0
682 | 339150,99999,2014,06,26,67.1,4,61.6,4,1005.7,4,1002.2,4,8.1,4,11.7,4,17.5,999.9,74.7,*,63.5,*,99.99,,999.9,0,1,0,0,0,0
683 | 339150,99999,2014,12,28,22.2,4,18.4,4,1013.3,4,1009.4,4,12.4,4,999.9,0,999.9,999.9,23.9,*,20.1,*,99.99,,999.9,0,0,1,0,0,0
684 | 339390,99999,2014,01,12,41.5,4,38.3,4,1014.7,4,1010.2,4,21.7,4,9.2,4,15.5,999.9,47.3,*,33.4,*,99.99,,999.9,0,1,0,0,0,0
685 | 339390,99999,2014,02,13,45.9,4,41.7,4,1013.4,4,1008.9,4,31.1,4,2.4,4,3.9,999.9,52.7,*,37.8,*,99.99,,999.9,0,1,0,0,0,0
686 | 339390,99999,2014,02,27,33.5,4,32.0,4,1020.5,4,1015.8,4,10.4,4,3.4,4,3.9,999.9,34.3,*,32.4,*,99.99,,999.9,0,1,1,0,0,0
687 | 339390,99999,2014,03,07,37.9,4,33.1,4,1024.1,4,1019.4,4,16.3,4,10.2,4,11.7,999.9,40.8,*,36.3,*,99.99,,999.9,0,1,0,0,0,0
688 | 339390,99999,2014,03,09,34.7,4,32.0,4,1024.6,4,1019.9,4,17.7,4,7.8,4,9.7,999.9,36.9,*,30.7,*,99.99,,999.9,0,1,0,0,0,0
689 | 339390,99999,2014,03,26,51.4,4,43.6,4,1013.1,4,1008.7,4,21.7,4,4.9,4,5.8,999.9,63.1,*,41.9,*,99.99,,999.9,0,1,0,0,0,0
690 | 339390,99999,2014,04,12,47.8,4,46.2,4,1016.5,4,1012.0,4,11.0,4,4.9,4,5.8,999.9,51.6,*,44.2,*,99.99,,999.9,0,1,0,0,0,0
691 | 339390,99999,2014,05,03,57.6,4,51.8,4,1013.8,4,1009.4,4,10.6,4,3.4,4,5.8,999.9,67.8,*,50.9,*,99.99,,999.9,1,1,0,0,1,0
692 | 339390,99999,2014,12,22,39.2,4,32.7,4,1018.7,4,1014.1,4,26.4,4,6.3,4,7.8,999.9,42.6,*,33.6,*,99.99,,999.9,0,1,0,0,0,0
693 | 339390,99999,2014,12,30,24.6,4,20.3,4,1020.8,4,1016.1,4,26.4,4,6.8,4,9.7,999.9,26.4,*,22.1,*,99.99,,999.9,0,0,1,0,0,0
694 | 339760,99999,2014,01,25,24.5,4,16.9,4,1020.8,4,1017.4,4,6.2,4,5.8,4,7.8,999.9,27.0,*,21.2,*,99.99,,999.9,0,0,1,0,0,0
695 | 339760,99999,2014,01,30,13.0,4,7.3,4,1027.5,4,1024.0,4,1.5,4,9.7,4,11.7,999.9,15.6,*,10.2,*,99.99,,999.9,0,0,1,0,0,0
696 | 339760,99999,2014,02,10,49.3,4,45.8,4,1011.8,4,1008.6,4,6.2,4,6.8,4,11.7,999.9,50.4,*,48.6,*,99.99,,999.9,0,1,0,0,0,0
697 | 339760,99999,2014,02,17,48.2,4,41.6,4,1017.4,4,1014.2,4,6.2,4,7.8,4,11.7,999.9,50.5,*,44.6,*,99.99,,999.9,0,1,0,0,0,0
698 | 339760,99999,2014,03,08,40.6,4,32.6,4,1021.0,4,1017.8,4,6.2,4,5.8,4,7.8,999.9,42.6,*,39.2,*,99.99,,999.9,0,1,0,0,0,0
699 | 339760,99999,2014,03,16,45.7,4,33.7,4,1001.3,4,998.2,4,7.8,4,7.8,4,13.6,999.9,47.5,*,42.4,*,99.99,,999.9,0,1,0,0,0,0
700 | 339760,99999,2014,04,29,57.2,4,51.7,4,1005.9,4,1002.8,4,6.2,4,3.9,4,5.8,999.9,62.2,*,53.4,*,99.99,,999.9,0,1,0,0,0,0
701 | 339760,99999,2014,06,13,70.6,4,56.5,4,1008.8,4,1005.7,4,5.3,4,999.9,0,999.9,999.9,81.1,*,64.0,*,99.99,,999.9,0,1,0,0,1,0
702 | 339760,99999,2014,06,15,69.8,4,57.2,4,1012.4,4,1009.4,4,6.2,4,3.4,4,5.8,999.9,72.7,*,67.1,*,99.99,,999.9,0,1,0,0,0,0
703 | 339760,99999,2014,06,19,70.4,4,55.9,4,1012.1,4,1009.0,4,6.2,4,6.8,4,7.8,999.9,77.2,*,64.0,*,99.99,,999.9,0,1,0,0,0,0
704 | 339760,99999,2014,12,19,42.1,4,37.7,4,1019.9,4,1016.6,4,4.3,4,4.4,4,5.8,999.9,43.5,*,40.3,*,99.99,,999.9,0,1,0,0,0,0
705 | 339900,99999,2014,01,12,46.9,4,31.5,4,1015.7,4,1006.8,4,7.8,4,5.8,4,11.7,999.9,52.3,*,43.2,*,99.99,,999.9,0,1,0,0,0,0
706 | 339900,99999,2014,01,16,47.4,4,42.8,4,1015.4,4,1006.6,4,6.2,4,2.9,4,3.9,999.9,49.6,*,44.8,*,99.99,,999.9,0,1,0,0,0,0
707 | 339900,99999,2014,01,17,46.0,4,43.0,4,1019.6,4,1010.8,4,6.2,4,999.9,0,999.9,999.9,47.1,*,45.3,*,99.99,,999.9,0,1,0,0,0,0
708 | 339900,99999,2014,02,18,45.0,4,41.9,4,1021.2,4,1012.3,4,5.3,4,999.9,0,999.9,999.9,47.5,*,40.3,*,99.99,,999.9,0,1,0,0,0,0
709 | 339900,99999,2014,02,27,42.9,4,38.8,4,1018.7,4,1009.9,4,7.8,4,999.9,0,999.9,999.9,45.1,*,41.4,*,99.99,,999.9,0,1,0,0,0,0
710 | 339900,99999,2014,03,04,51.8,4,45.0,4,1004.7,4,996.1,4,6.2,4,3.9,4,7.8,999.9,54.0,*,49.6,*,99.99,,999.9,0,1,0,0,0,0
711 | 339900,99999,2014,05,26,70.3,4,57.4,4,1011.6,4,1003.3,4,9.3,4,999.9,0,999.9,999.9,78.1,*,66.6,*,99.99,,999.9,0,1,0,0,0,0
712 | 339900,99999,2014,06,11,73.2,4,55.0,4,1008.2,4,999.9,4,9.3,4,7.8,4,11.7,999.9,80.8,*,67.8,*,99.99,,999.9,0,1,0,0,1,0
713 | 339900,99999,2014,12,29,44.9,4,39.1,4,1005.2,4,996.4,4,6.2,4,6.3,4,11.7,999.9,51.1,*,38.1,*,99.99,,999.9,0,1,0,0,0,0
714 | 028760,99999,2014,12,18,27.0,4,25.5,4,993.5,4,992.9,4,7.6,4,4.4,4,7.8,999.9,27.9,,25.0,,99.99,,999.9,0,0,1,0,0,0
715 | 029280,99999,2014,12,18,28.2,4,23.9,4,996.2,4,986.0,4,8.4,4,999.9,0,999.9,999.9,28.6,,27.3,,99.99,,999.9,0,0,1,0,0,0
716 | 719074,99999,2014,01,21,2.3,4,-1.3,4,1008.8,4,9999.9,0,15.0,4,6.2,4,8.9,999.9,3.2,*,-0.4,*,99.99,,999.9,0,0,1,0,0,0
717 | 719210,99999,2014,12,27,20.0,4,16.4,4,989.7,4,926.6,4,2.0,4,18.2,4,22.9,999.9,31.1,,16.9,,99.99,,999.9,0,0,1,0,0,0
718 | 710735,99999,2014,12,12,10.8,4,8.6,4,1008.2,4,9999.9,0,0.6,4,18.0,4,21.0,26.0,12.2,*,10.4,*,99.99,,999.9,0,0,1,0,0,0
719 | 918220,99999,2014,12,07,78.4,4,71.2,4,9999.9,0,9999.9,0,6.2,4,12.5,4,15.0,999.9,78.8,*,77.0,*,99.99,,999.9,0,1,0,0,0,0
720 | 920470,99999,2014,01,09,76.6,4,74.1,4,9999.9,0,9999.9,0,9.3,4,0.0,4,999.9,999.9,80.6,*,73.4,*,99.99,,999.9,0,1,0,0,0,0
721 | 341520,99999,2014,08,18,66.4,4,55.8,4,1009.8,4,991.8,4,26.4,4,3.9,4,5.8,999.9,71.4,*,61.0,,99.99,,999.9,0,1,0,0,0,0
722 | 343020,99999,2014,01,10,35.9,4,34.3,4,1008.2,4,983.9,4,5.3,4,9.7,4,13.6,999.9,36.7,*,34.7,*,99.99,,999.9,0,1,0,0,0,0
723 | 343020,99999,2014,01,17,23.1,4,16.0,4,1019.0,4,993.7,4,6.2,4,4.9,4,7.8,999.9,23.9,*,22.1,*,99.99,,999.9,0,0,1,0,0,0
724 | 343020,99999,2014,01,18,23.9,4,20.6,4,1012.9,4,987.8,4,3.7,4,8.3,4,9.7,999.9,29.1,*,15.8,*,99.99,,999.9,0,0,1,0,0,0
725 | 343020,99999,2014,02,20,37.8,4,34.5,4,1009.3,4,985.0,4,5.3,4,6.8,4,11.7,999.9,39.2,*,36.3,*,99.99,,999.9,0,1,0,0,0,0
726 | 343020,99999,2014,03,17,31.7,4,24.2,4,994.1,4,969.8,4,4.0,4,14.6,4,19.4,999.9,35.2,*,29.1,*,99.99,,999.9,0,0,1,0,0,0
727 | 343020,99999,2014,04,01,34.3,4,21.2,4,1007.1,4,982.6,4,6.2,4,9.7,4,15.5,999.9,36.7,*,28.9,*,99.99,,999.9,0,1,0,0,0,0
728 | 343020,99999,2014,05,05,48.4,4,44.3,4,1006.3,4,982.6,4,6.2,4,8.3,4,13.6,999.9,52.2,*,43.2,*,99.99,,999.9,0,1,0,0,0,0
729 | 343020,99999,2014,05,15,67.1,4,55.3,4,1015.0,4,992.0,4,7.8,4,7.8,4,13.6,999.9,74.3,*,57.9,*,99.99,,999.9,0,1,0,0,0,0
730 | 343020,99999,2014,06,26,59.9,4,55.2,4,1006.1,4,983.0,4,5.0,4,6.3,4,11.7,999.9,64.6,*,56.3,*,99.99,,999.9,0,1,0,0,0,0
731 | 343040,99999,2014,12,19,29.3,4,28.2,4,1015.6,4,9999.9,0,1.5,4,4.4,4,9.7,999.9,33.1,*,23.9,*,99.99,,999.9,1,1,0,0,0,0
732 | 343040,99999,2014,12,22,33.3,4,31.0,4,1010.0,4,9999.9,0,5.3,4,9.2,4,11.7,999.9,34.5,*,32.2,*,99.99,,999.9,0,0,1,0,0,0
733 | 343120,99999,2014,12,28,21.3,4,17.6,4,1006.0,4,9999.9,0,5.0,4,9.7,4,13.6,999.9,26.1,*,18.1,*,99.99,,999.9,0,0,1,0,0,0
734 | 343120,99999,2014,12,29,16.7,4,12.8,4,1013.4,4,9999.9,0,5.0,4,10.7,4,19.4,999.9,18.5,*,14.9,*,99.99,,999.9,0,0,1,0,0,0
735 | 343190,99999,2014,01,16,38.4,4,36.2,4,1009.9,4,999.7,4,2.6,4,5.3,4,7.8,999.9,42.4,*,34.9,*,99.99,,999.9,0,1,0,0,0,0
736 | 343190,99999,2014,01,23,14.6,4,7.6,4,1012.8,4,1002.0,4,8.5,4,999.9,0,999.9,999.9,16.3,*,12.2,*,99.99,,999.9,0,0,1,0,0,0
737 | 343190,99999,2014,02,09,33.0,4,31.9,4,1014.8,4,1004.3,4,0.8,4,999.9,0,999.9,999.9,34.5,*,30.2,*,99.99,,999.9,1,1,0,0,0,0
738 | 343190,99999,2014,03,16,39.7,4,28.6,4,992.0,4,982.0,4,10.9,4,6.8,4,11.7,999.9,43.5,*,34.9,*,99.99,,999.9,0,1,0,0,0,0
739 | 343190,99999,2014,04,11,37.4,4,28.6,4,1028.2,4,1017.7,4,12.4,4,7.8,4,13.6,999.9,42.4,*,33.8,*,99.99,,999.9,0,1,0,0,0,0
740 | 343190,99999,2014,04,14,49.0,4,40.7,4,1015.1,4,1005.0,4,7.8,4,6.8,4,11.7,999.9,54.7,*,43.9,*,99.99,,999.9,0,1,0,0,0,0
741 | 343190,99999,2014,04,20,58.1,4,46.0,4,1014.9,4,1005.0,4,10.9,4,999.9,0,999.9,999.9,67.3,*,52.9,*,99.99,,999.9,0,1,0,0,0,0
742 | 343190,99999,2014,06,17,66.3,4,52.2,4,1013.6,4,1003.9,4,12.4,4,999.9,0,999.9,999.9,73.8,*,55.8,*,99.99,,999.9,0,1,0,0,0,0
743 | 343190,99999,2014,06,24,65.3,4,49.3,4,1014.3,4,1004.5,4,10.9,4,999.9,0,999.9,999.9,73.9,*,54.0,*,99.99,,999.9,0,1,0,0,0,0
744 | 343190,99999,2014,12,28,26.4,4,22.4,4,1005.6,4,995.2,4,10.1,4,6.3,4,11.7,999.9,32.0,*,20.7,*,99.99,,999.9,0,0,1,0,0,0
745 | 344010,99999,2014,01,06,33.4,4,32.2,4,1022.1,4,1002.0,4,3.1,4,6.3,4,9.7,999.9,36.9,*,31.3,*,99.99,,999.9,0,1,0,0,0,0
746 | 344010,99999,2014,01,12,35.3,4,31.3,4,1007.0,4,987.2,4,6.2,4,6.8,4,7.8,999.9,37.6,*,33.6,*,99.99,,999.9,0,1,0,0,0,0
747 | 344010,99999,2014,01,13,30.5,4,26.9,4,1005.4,4,985.5,4,6.2,4,5.8,4,7.8,999.9,32.5,*,27.7,*,99.99,,999.9,0,1,1,1,0,0
748 | 344010,99999,2014,01,28,7.9,4,-0.8,4,1021.3,4,1000.0,4,6.2,4,13.1,4,15.5,999.9,9.5,*,5.2,*,99.99,,999.9,0,0,1,0,0,0
749 | 344010,99999,2014,02,07,21.0,4,19.6,4,1021.6,4,1001.0,4,3.0,4,4.9,4,7.8,999.9,23.5,*,16.9,*,99.99,,999.9,0,0,1,0,0,0
750 | 344010,99999,2014,04,09,57.4,4,47.0,4,1006.9,4,988.0,4,6.2,4,3.9,4,7.8,999.9,69.1,*,46.6,*,99.99,,999.9,0,1,0,0,0,0
751 | 344010,99999,2014,04,13,39.4,4,37.5,4,1016.3,4,996.5,4,5.0,4,4.9,4,5.8,999.9,41.9,*,37.0,*,99.99,,999.9,0,1,0,0,0,0
752 | 344010,99999,2014,05,19,72.6,4,53.1,4,1016.4,4,997.9,4,6.2,4,8.3,4,13.6,999.9,81.0,*,63.9,*,99.99,,999.9,0,1,0,0,1,0
753 | 344010,99999,2014,06,02,65.9,4,59.4,4,1013.3,4,994.7,4,6.2,4,4.9,4,7.8,999.9,70.0,*,62.8,*,99.99,,999.9,0,1,0,0,0,0
754 | 344010,99999,2014,06,10,66.1,4,55.3,4,1010.4,4,991.8,4,6.2,4,999.9,0,999.9,999.9,72.7,*,58.6,*,99.99,,999.9,0,1,0,0,0,0
755 | 344010,99999,2014,12,24,39.6,4,34.2,4,1006.8,4,987.2,4,6.2,4,4.9,4,5.8,999.9,42.4,*,34.3,*,99.99,,999.9,0,1,0,0,0,0
756 | 344070,99999,2014,01,12,36.0,4,31.1,4,1008.3,4,992.5,4,9.6,4,9.7,4,15.5,999.9,39.7,*,33.6,*,99.99,,999.9,0,1,0,0,0,0
757 | 344070,99999,2014,02,07,21.8,4,19.9,4,1021.9,4,1005.4,4,3.3,4,3.9,4,3.9,999.9,24.3,*,19.6,*,99.99,,999.9,1,0,1,0,0,0
758 | 344070,99999,2014,02,24,30.4,4,25.7,4,1030.2,4,1013.9,4,9.8,4,10.7,4,15.5,999.9,31.1,*,29.7,*,99.99,,999.9,0,0,1,0,0,0
759 | 344070,99999,2014,03,16,41.1,4,27.2,4,993.1,4,977.7,4,9.5,4,13.6,4,23.3,999.9,43.7,*,39.7,*,99.99,,999.9,0,1,0,0,0,0
760 | 344070,99999,2014,03,20,42.7,4,36.8,4,1011.7,4,996.0,4,10.9,4,7.8,4,15.5,999.9,46.6,*,40.8,*,99.99,,999.9,0,1,0,0,1,0
761 | 344070,99999,2014,06,02,68.0,4,59.5,4,1012.5,4,997.7,4,10.7,4,6.8,4,7.8,999.9,71.8,*,63.1,*,99.99,,999.9,0,1,0,0,0,0
762 | 344090,99999,2014,01,16,36.8,4,35.4,4,1011.0,4,989.2,4,5.3,4,8.3,4,9.7,999.9,39.7,*,32.9,*,99.99,,999.9,0,1,0,0,0,0
763 | 344090,99999,2014,01,23,12.8,4,8.0,4,1013.7,4,990.7,4,4.3,4,5.8,4,7.8,999.9,15.6,*,6.6,*,99.99,,999.9,0,0,1,0,0,0
764 | 344090,99999,2014,01,29,-2.1,4,-11.3,4,1030.2,4,1006.0,4,3.4,4,20.9,4,23.3,999.9,1.9,*,-10.8,*,99.99,,999.9,0,0,1,0,0,0
765 | 344090,99999,2014,02,08,27.0,4,24.8,4,1019.4,4,997.0,4,5.3,4,4.9,4,7.8,999.9,30.4,*,21.2,*,99.99,,999.9,0,0,1,0,0,0
766 | 344090,99999,2014,02,15,34.3,4,33.9,4,1016.2,4,994.2,4,1.6,4,999.9,0,999.9,999.9,36.7,*,31.5,*,99.99,,999.9,1,1,0,0,0,0
767 | 344090,99999,2014,03,05,41.0,4,37.8,4,1016.4,4,994.7,4,4.3,4,4.9,4,5.8,999.9,45.7,*,37.9,*,99.99,,999.9,0,1,0,0,0,0
768 | 344090,99999,2014,03,16,39.0,4,29.3,4,993.1,4,971.7,4,4.3,4,11.7,4,13.6,999.9,40.6,*,35.6,*,99.99,,999.9,0,1,0,0,0,0
769 | 344090,99999,2014,04,13,40.0,4,38.6,4,1016.4,4,994.6,4,2.5,4,6.8,4,7.8,999.9,43.0,*,36.9,*,99.99,,999.9,0,1,0,0,0,0
770 | 344090,99999,2014,04,21,56.3,4,48.5,4,1017.0,4,995.9,4,4.3,4,11.2,4,13.6,999.9,64.8,*,51.4,*,99.99,,999.9,0,1,0,0,0,0
771 | 344090,99999,2014,12,28,22.9,4,19.0,4,1007.8,4,985.4,4,5.3,4,6.8,4,11.7,999.9,26.1,*,21.4,*,99.99,,999.9,0,0,1,0,0,0
772 | 344090,99999,2014,12,29,18.5,4,15.5,4,1009.6,4,987.0,4,3.8,4,9.2,4,19.4,999.9,21.0,*,15.4,*,99.99,,999.9,0,0,1,0,0,0
773 | 345090,99999,2014,01,10,37.8,4,36.5,4,1012.1,4,990.5,4,0.7,4,8.3,4,15.5,999.9,41.7,*,34.2,*,99.99,,999.9,1,1,0,0,0,0
774 | 345090,99999,2014,01,28,12.8,4,9.0,4,1017.3,4,994.4,4,3.4,4,25.3,4,27.2,999.9,14.4,*,10.0,*,99.99,,999.9,0,0,1,0,0,0
775 | 345090,99999,2014,02,10,37.6,4,37.5,4,1011.9,4,990.2,4,0.3,4,999.9,0,999.9,999.9,39.6,*,35.6,*,99.99,,999.9,1,1,0,0,0,0
776 | 345090,99999,2014,02,20,39.7,4,36.5,4,1011.7,4,990.2,4,3.4,4,4.4,4,7.8,999.9,40.8,*,37.6,*,99.99,,999.9,1,1,0,0,0,0
777 | 345090,99999,2014,03,18,37.9,4,28.5,4,1007.4,4,985.9,4,6.2,4,18.5,4,29.1,999.9,41.7,*,31.6,*,99.99,,999.9,0,1,0,0,0,0
778 | 345090,99999,2014,04,13,41.9,4,39.6,4,1016.5,4,994.9,4,2.2,4,1.9,4,1.9,999.9,47.1,*,39.2,*,99.99,,999.9,0,1,0,0,0,0
779 | 345090,99999,2014,04,20,57.4,4,52.6,4,1012.2,4,991.4,4,5.3,4,2.4,4,3.9,999.9,61.2,*,54.7,*,99.99,,999.9,0,1,0,0,0,0
780 | 345090,99999,2014,05,31,64.1,4,60.8,4,1006.9,4,986.5,4,4.3,4,2.9,4,3.9,999.9,68.4,*,59.9,*,99.99,,999.9,0,1,0,0,1,0
781 | 345100,99999,2014,02,16,34.7,4,34.0,4,1019.2,4,1003.8,4,1.7,4,999.9,0,999.9,999.9,36.0,*,32.7,*,99.99,,999.9,0,1,0,0,0,0
782 | 345100,99999,2014,03,19,40.7,4,34.1,4,1011.6,4,996.5,4,6.2,4,6.3,4,7.8,999.9,48.0,*,31.8,*,99.99,,999.9,0,1,0,0,0,0
783 | 345100,99999,2014,04,04,36.4,4,31.5,4,1013.0,4,997.7,4,6.2,4,5.8,4,7.8,999.9,40.6,*,28.2,*,99.99,,999.9,0,1,0,0,0,0
784 | 345100,99999,2014,05,31,68.5,4,60.5,4,1008.8,4,994.5,4,6.2,4,4.4,4,9.7,999.9,72.0,*,64.0,*,99.99,,999.9,0,1,0,0,1,0
785 | 345100,99999,2014,06,02,63.9,4,54.9,4,1014.2,4,999.7,4,6.2,4,999.9,0,999.9,999.9,68.0,*,59.5,*,99.99,,999.9,0,1,0,0,1,0
786 | 345100,99999,2014,06,17,65.3,4,52.2,4,1014.5,4,1000.1,4,6.2,4,999.9,0,999.9,999.9,74.5,*,52.9,*,99.99,,999.9,0,1,0,0,0,0
787 | 345100,99999,2014,12,30,18.0,4,14.5,4,1011.5,4,995.6,4,6.2,4,6.8,4,11.7,999.9,30.2,*,8.2,*,99.99,,999.9,0,0,1,0,0,0
788 | 345370,99999,2014,12,24,37.6,4,33.0,4,1006.6,4,9999.9,0,10.9,4,8.7,4,11.7,999.9,40.8,*,32.9,*,99.99,,999.9,0,1,0,0,0,0
789 | 345370,99999,2014,12,28,25.9,4,21.5,4,1008.7,4,9999.9,0,10.9,4,18.0,4,27.2,999.9,31.8,*,19.2,*,99.99,,999.9,0,1,0,0,0,0
790 | 346070,99999,2014,01,10,39.6,4,38.3,4,1013.8,4,1002.8,4,2.6,4,6.8,4,9.7,999.9,43.2,*,35.2,*,99.99,,999.9,1,1,0,0,0,0
791 | 346070,99999,2014,01,12,38.0,4,31.1,4,1012.0,4,1001.1,4,10.1,4,7.3,4,9.7,999.9,45.0,*,33.4,*,99.99,,999.9,0,1,0,0,0,0
792 | 346070,99999,2014,01,19,27.5,4,22.6,4,1023.8,4,1012.5,4,13.2,4,9.7,4,11.7,999.9,30.6,*,25.7,*,99.99,,999.9,0,0,1,0,0,0
793 | 346070,99999,2014,01,20,22.0,4,17.5,4,1023.8,4,1012.4,4,7.5,4,10.7,4,15.5,999.9,23.5,*,19.4,*,99.99,,999.9,0,0,1,0,0,0
794 | 346070,99999,2014,01,28,21.4,4,17.4,4,1014.2,4,1002.8,4,7.0,4,13.1,4,19.4,999.9,24.1,*,18.0,*,99.99,,999.9,0,0,1,0,0,0
795 | 346070,99999,2014,04,29,56.9,4,53.8,4,1005.1,4,994.6,4,4.2,4,3.4,4,3.9,999.9,61.5,*,53.6,*,99.99,,999.9,0,1,0,0,0,0
796 | 346070,99999,2014,06,21,65.5,4,56.9,4,1004.2,4,994.0,4,10.4,4,5.8,4,11.7,999.9,73.2,*,60.3,*,99.99,,999.9,0,1,0,0,0,0
797 | 346070,99999,2014,06,26,66.3,4,61.3,4,1005.5,4,995.3,4,7.3,4,7.8,4,11.7,999.9,70.7,*,60.8,*,99.99,,999.9,0,1,0,0,0,0
798 | 346070,99999,2014,12,29,28.2,4,26.4,4,1004.8,4,993.8,4,4.5,4,11.7,4,19.4,999.9,34.3,*,20.1,*,99.99,,999.9,0,1,0,1,0,0
799 | 346090,99999,2014,01,29,6.2,4,3.2,4,1021.7,4,992.4,4,2.5,4,9.7,4,11.7,999.9,10.0,*,1.8,*,99.99,,999.9,0,0,1,0,0,0
800 | 346090,99999,2014,05,05,56.7,4,51.9,4,1006.4,4,980.5,4,5.3,4,2.4,4,3.9,999.9,66.4,*,47.8,*,99.99,,999.9,0,1,0,0,0,0
801 | 346090,99999,2014,06,27,57.1,4,50.9,4,1010.7,4,984.7,4,6.2,4,999.9,0,999.9,999.9,64.4,*,50.4,*,99.99,,999.9,0,1,0,0,0,0
802 | 346090,99999,2014,12,30,18.9,4,15.2,4,1016.7,4,988.3,4,4.7,4,999.9,0,999.9,999.9,22.6,*,12.6,*,99.99,,999.9,0,0,1,0,0,0
803 | 031140,99999,2014,09,26,57.2,4,47.3,4,9999.9,0,9999.9,0,6.2,4,16.3,4,20.0,999.9,59.0,*,55.4,*,99.99,,999.9,0,1,0,0,0,0
804 | 031140,99999,2014,12,21,50.9,4,50.0,4,9999.9,0,9999.9,0,2.0,4,23.0,4,28.0,29.9,51.8,*,50.0,*,99.99,,999.9,0,1,0,0,0,0
805 | 031394,99999,2014,02,09,42.8,4,40.1,4,9999.9,0,9999.9,0,6.2,4,20.7,4,22.9,999.9,44.6,*,41.0,*,99.99,,999.9,0,1,0,0,0,0
806 | 031394,99999,2014,09,30,60.8,4,57.7,4,9999.9,0,9999.9,0,5.4,4,17.5,4,21.0,999.9,62.6,*,59.0,*,99.99,,999.9,0,1,0,0,0,0
807 | 719410,99999,2014,01,06,6.4,4,2.4,4,1003.3,4,960.8,4,2.9,4,11.3,4,14.0,999.9,24.3,,-3.1,,99.99,,999.9,0,0,1,0,0,0
808 | 719455,99999,2014,10,25,50.5,4,50.0,4,996.9,4,9999.9,0,5.3,4,9.0,4,12.0,999.9,51.8,*,50.0,*,99.99,,999.9,1,1,0,0,0,0
809 | 719485,99999,2014,03,03,-1.3,4,-4.5,4,1023.4,4,9999.9,0,2.9,4,15.5,4,18.1,999.9,-0.4,*,-2.2,*,99.99,,999.9,0,0,1,0,0,0
810 | 719494,99999,2014,04,28,4.1,4,-1.3,4,1016.8,4,9999.9,0,12.3,4,15.8,4,20.0,28.9,5.0,*,3.2,*,99.99,,999.9,0,0,1,0,0,0
811 | 719576,99999,2014,09,01,45.1,4,43.7,4,1008.8,4,9999.9,0,4.8,4,6.5,4,9.9,999.9,46.4,*,44.6,*,99.99,,999.9,0,1,0,0,0,0
812 | 720202,99999,2014,05,28,59.9,4,49.1,4,9999.9,0,9999.9,0,9.3,4,7.0,4,8.9,15.0,60.8,*,55.4,*,99.99,,999.9,0,1,0,0,0,0
813 | 349580,99999,2014,11,26,29.8,4,28.2,4,1024.1,4,1003.5,4,5.9,4,5.3,4,5.8,999.9,31.3,*,28.2,*,99.99,,999.9,0,0,1,0,0,0
814 | 360200,99999,2014,07,06,63.4,4,57.7,4,1013.4,4,994.8,4,12.4,4,1.5,4,1.9,999.9,72.0,*,53.2,,99.99,,999.9,0,1,0,0,1,0
815 | 360200,99999,2014,12,03,22.8,4,14.4,4,1017.1,4,996.8,4,9.6,4,15.5,4,23.3,999.9,29.3,*,11.5,,99.99,,6.7,0,0,1,0,0,0
816 | 036584,99999,2014,02,06,41.9,4,39.7,4,9999.9,0,9999.9,0,3.7,4,8.2,4,9.9,999.9,42.8,*,41.0,*,99.99,,999.9,0,1,0,0,0,0
817 | 372440,99999,2014,09,24,55.1,4,51.5,4,1005.3,4,996.4,4,3.4,4,2.4,4,3.9,999.9,59.7,*,49.8,,99.99,,999.9,0,1,0,0,0,0
818 | 377040,99999,2014,11,23,38.4,4,31.6,4,9999.9,0,858.2,4,9.3,4,999.9,0,999.9,999.9,45.0,,29.3,,99.99,,999.9,0,1,0,0,0,0
819 | 377400,99999,2014,03,22,36.5,4,35.6,4,1028.1,4,945.9,4,1.9,4,1.9,4,1.9,999.9,39.0,*,35.4,*,99.99,,999.9,0,1,0,0,0,0
820 | 378320,99999,2014,06,11,69.4,4,65.2,4,9999.9,0,9999.9,0,5.0,4,2.9,4,3.9,999.9,77.4,*,65.8,*,99.99,,999.9,0,1,0,0,1,0
821 | 040050,99999,2014,11,29,43.5,4,34.9,4,990.7,4,9999.9,0,43.5,4,7.5,4,14.0,999.9,49.3,*,36.3,*,99.99,,999.9,0,1,0,0,0,0
822 | 040131,99999,2014,12,24,33.3,4,27.0,4,9999.9,0,9999.9,0,6.2,4,4.0,4,6.0,999.9,33.8,*,32.0,*,99.99,,999.9,0,0,1,0,0,0
823 | 040380,99999,2014,07,12,53.0,4,49.1,4,998.9,4,9999.9,0,7.9,4,9.5,4,15.9,999.9,54.3,*,49.3,,99.99,,999.9,0,1,0,0,0,0
824 | 040480,99999,2014,07,12,50.5,4,50.0,4,9999.9,0,9999.9,0,3.3,4,8.7,4,13.0,17.1,51.8,*,50.0,*,99.99,,999.9,1,1,0,0,0,0
825 | 040655,99999,2014,02,02,34.2,4,9999.9,0,9999.9,0,9999.9,0,4.0,4,16.8,4,20.0,33.0,35.6,*,33.8,*,99.99,,999.9,0,0,1,0,0,0
826 | 040655,99999,2014,03,02,28.9,4,9999.9,0,9999.9,0,9999.9,0,6.2,4,12.5,4,19.0,27.0,30.2,*,28.4,*,99.99,,999.9,0,0,1,0,0,0
827 | 040655,99999,2014,03,20,30.7,4,9999.9,0,9999.9,0,9999.9,0,1.2,4,23.3,4,35.9,60.0,32.0,*,30.2,*,99.99,,999.9,0,0,1,0,0,0
828 | 040655,99999,2014,06,17,55.8,4,9999.9,0,9999.9,0,9999.9,0,6.2,4,8.5,4,12.0,999.9,57.2,*,55.4,*,99.99,,999.9,0,1,0,0,0,0
829 | 040730,99999,2014,02,23,25.8,4,22.5,4,984.6,4,9999.9,0,2.3,4,16.8,4,18.1,999.9,28.0,,23.0,,99.99,,21.3,0,0,1,0,0,0
830 | 720367,99999,2014,01,14,16.5,4,12.1,4,9999.9,0,9999.9,0,2.1,4,13.5,4,15.0,22.0,17.6,*,15.6,*,99.99,,999.9,0,0,1,0,0,0
831 | 381110,99999,2014,10,20,41.0,4,9999.9,0,9999.9,0,9999.9,0,6.2,4,10.2,4,15.5,999.9,43.7,*,37.0,,99.99,,999.9,0,1,0,0,0,0
832 | 385990,99999,2014,01,30,39.4,4,36.6,4,1021.7,4,969.8,4,3.1,4,10.7,4,15.5,999.9,48.2,,35.1,*,99.99,,999.9,0,1,0,0,0,0
833 | 386130,99999,2014,11,08,35.2,4,33.4,4,1037.2,4,9999.9,0,999.9,0,1.9,4,35.0,999.9,40.1,,32.7,*,99.99,,999.9,0,1,1,0,0,0
834 | 040850,99999,2014,07,06,48.2,4,46.3,4,1002.2,4,9999.9,0,10.3,4,5.5,4,9.9,999.9,56.8,,42.8,,99.99,,999.9,1,1,0,0,0,0
835 | 040850,99999,2014,10,02,45.6,4,28.8,4,983.2,4,9999.9,0,40.4,4,17.0,4,25.1,999.9,51.1,,40.1,,99.99,,999.9,0,1,0,0,0,0
836 | 040850,99999,2014,10,17,40.9,4,33.5,4,1011.4,4,9999.9,0,35.7,4,9.0,4,14.0,999.9,45.5,,31.6,,99.99,,999.9,0,1,0,0,0,0
837 | 040850,99999,2014,11,03,34.0,4,28.9,4,1007.7,4,9999.9,0,28.0,4,12.0,4,14.0,999.9,41.0,,32.7,*,99.99,,999.9,0,1,0,0,0,0
838 | 720619,99999,2014,02,09,22.7,4,18.5,4,1017.4,4,9999.9,0,7.6,4,10.5,4,12.0,18.1,35.2,*,13.1,*,99.99,,999.9,0,0,1,0,0,0
839 | 406740,99999,2014,01,10,46.8,4,45.8,4,1018.9,4,9999.9,0,1.3,4,999.9,0,999.9,999.9,49.8,*,44.2,*,99.99,,999.9,1,1,0,0,0,0
840 | 407036,99999,2014,01,02,51.8,4,50.5,4,9999.9,0,9999.9,0,2.7,4,2.5,4,6.0,999.9,53.6,*,50.0,*,99.99,,999.9,0,1,0,0,0,0
841 | 720852,00280,2014,09,07,60.3,4,49.8,4,9999.9,0,9999.9,0,8.8,4,8.2,4,21.0,34.0,70.7,*,53.2,*,99.99,,999.9,0,1,0,0,1,0
842 | 961470,99999,2014,04,09,85.2,4,75.4,4,1010.2,4,1009.7,4,4.8,4,8.2,4,999.9,999.9,86.7,*,82.0,*,99.99,,999.9,0,1,0,0,0,0
843 | 961470,99999,2014,07,01,82.3,4,76.9,4,1011.6,4,1011.0,4,4.7,4,2.5,4,9.9,999.9,87.8,*,75.4,,99.99,,999.9,0,1,0,0,0,0
844 | 961470,99999,2014,07,17,82.3,4,76.6,4,1009.5,4,1009.0,4,5.1,4,6.0,4,9.9,999.9,87.4,*,75.2,*,99.99,,999.9,0,1,0,0,0,0
845 | 962490,99999,2014,04,08,75.5,4,74.2,4,1010.9,4,1005.3,4,6.1,4,0.0,4,999.9,999.9,77.0,*,72.7,,99.99,,999.9,0,1,0,0,0,0
846 | 965050,99999,2014,01,24,71.0,4,65.9,4,1035.9,4,907.2,4,3.0,4,2.2,4,4.1,999.9,76.6,*,65.3,,99.99,,999.9,0,1,0,0,0,0
847 | 965050,99999,2014,02,08,77.5,4,67.4,4,1032.6,4,904.1,4,4.8,4,3.8,4,7.0,999.9,84.2,*,66.0,,99.99,,999.9,0,1,0,0,0,0
848 | 965050,99999,2014,02,09,77.2,4,69.7,4,1031.8,4,903.5,4,4.7,4,1.5,4,4.1,999.9,84.6,*,65.7,,99.99,,999.9,0,1,0,0,0,0
849 | 965050,99999,2014,04,27,75.3,4,70.6,4,9999.9,0,907.1,4,4.8,4,1.0,4,4.1,999.9,79.9,*,68.0,,99.99,,999.9,0,1,0,0,0,0
850 | 965050,99999,2014,04,29,76.1,4,70.8,4,1035.7,4,907.0,4,4.8,4,3.5,4,6.0,999.9,83.8,*,61.0,,99.99,,999.9,0,1,0,0,0,0
851 | 965050,99999,2014,05,14,75.1,4,69.4,4,9999.9,0,906.1,4,3.9,4,3.2,4,8.0,999.9,83.5,*,64.4,,99.99,,999.9,0,1,0,0,0,0
852 | 965050,99999,2014,05,17,76.0,4,70.5,4,1035.4,4,906.7,4,4.3,4,2.0,4,5.1,999.9,84.2,*,69.3,,99.99,,999.9,0,1,0,0,0,0
853 | 965050,99999,2014,06,04,78.0,4,9999.9,0,1032.8,4,904.4,4,4.7,4,4.3,4,7.0,999.9,84.2,*,67.3,,99.99,,999.9,0,1,0,0,0,0
854 | 965050,99999,2014,06,27,76.7,4,68.1,4,1036.3,4,907.5,4,5.1,4,4.2,4,8.9,999.9,82.8,*,65.1,,99.99,,999.9,0,1,0,0,0,0
855 | 965050,99999,2014,08,31,75.8,4,66.6,4,1035.0,4,906.4,4,4.8,4,2.8,4,7.0,999.9,84.2,*,62.8,,99.99,,999.9,0,1,0,0,0,0
856 | 965050,99999,2014,10,10,74.9,4,67.3,4,1015.4,4,906.1,4,4.5,4,5.5,4,8.0,999.9,81.0,*,65.7,,99.99,,999.9,0,1,0,0,0,0
857 | 965050,99999,2014,10,11,76.6,4,66.3,4,1015.5,4,906.2,4,5.0,4,6.0,4,17.1,999.9,81.1,*,65.3,,99.99,,999.9,0,1,0,0,0,0
858 | 965050,99999,2014,10,16,78.3,4,69.2,4,1016.2,4,906.9,4,4.3,4,1.0,4,4.1,999.9,87.8,*,66.9,,99.99,,999.9,0,1,0,0,0,0
859 | 965050,99999,2014,12,06,73.9,4,67.1,4,1016.0,4,906.7,4,5.3,4,3.3,4,5.1,999.9,81.3,*,64.9,,99.99,,999.9,0,1,0,0,0,0
860 | 965350,99999,2014,01,01,79.3,4,76.0,4,1012.2,4,1010.1,4,5.1,4,4.0,4,7.0,999.9,83.3,*,74.7,,99.99,,999.9,0,1,0,0,0,0
861 | 965650,99999,2014,08,02,79.2,4,73.0,4,1011.3,4,1006.2,4,3.6,4,2.0,4,8.0,999.9,92.8,,71.6,,99.99,,999.9,0,1,0,0,0,0
862 | 411670,99999,2014,01,18,60.2,4,56.2,4,1017.7,4,1017.2,4,999.9,0,13.5,4,21.0,999.9,62.8,,55.4,,99.99,,999.9,0,1,0,0,0,0
863 | 721024,99999,2014,05,19,57.7,4,49.0,4,9999.9,0,9999.9,0,11.8,4,15.5,4,17.1,25.1,66.2,*,53.1,*,99.99,,999.9,0,1,0,0,0,0
864 | 966450,99999,2014,03,07,82.4,4,77.0,4,1011.1,4,1007.9,4,2.8,4,3.3,4,5.1,999.9,90.3,*,73.6,,99.99,,999.9,0,1,0,0,1,0
865 | 966950,99999,2014,07,12,82.2,4,75.3,4,1009.7,4,1009.1,4,3.9,4,2.2,4,6.0,999.9,89.6,*,75.0,*,99.99,,999.9,0,1,0,0,1,0
866 | 967390,99999,2014,07,12,80.9,4,75.1,4,1011.0,4,1005.7,4,3.6,4,3.0,4,5.1,999.9,88.9,*,72.7,,99.99,,999.9,0,1,0,0,0,0
867 | 967495,99999,2014,01,18,76.6,4,73.4,4,9999.9,0,9999.9,0,2.5,4,6.0,4,8.0,999.9,77.0,*,75.2,*,99.99,,999.9,0,1,0,0,0,0
868 | 967495,99999,2014,06,16,80.2,4,76.1,4,9999.9,0,9999.9,0,2.2,4,999.9,0,999.9,999.9,84.2,*,75.2,*,99.99,,999.9,0,1,0,0,1,0
869 | 967810,99999,2014,11,28,77.9,4,67.5,4,1014.5,4,928.5,4,3.3,4,4.0,4,6.0,999.9,84.9,*,67.6,,99.99,,999.9,0,1,0,0,0,0
870 | 967810,99999,2014,12,05,75.3,4,69.2,4,1015.8,4,929.8,4,3.3,4,4.0,4,12.0,999.9,80.2,*,70.2,,99.99,,999.9,0,1,0,0,1,0
871 | 968390,99999,2014,07,21,79.1,4,75.3,4,1011.2,4,1010.9,4,3.6,4,3.7,4,7.0,999.9,93.7,,77.0,*,99.99,,999.9,0,1,0,0,1,0
872 | 969330,99999,2014,12,22,83.9,4,76.6,4,1005.9,4,1005.6,4,5.3,4,0.7,4,2.9,999.9,89.2,*,79.2,*,99.99,,999.9,0,1,0,0,1,0
873 | 971420,99999,2014,02,16,84.7,4,74.7,4,1009.9,4,1008.5,4,6.2,4,2.0,4,6.0,999.9,91.4,*,75.4,,99.99,,999.9,0,1,0,0,0,0
874 | 971420,99999,2014,03,14,85.8,4,77.2,4,1010.0,4,1009.0,4,6.1,4,3.0,4,5.1,999.9,90.7,*,73.2,,99.99,,999.9,0,1,0,0,0,0
875 | 971420,99999,2014,03,19,84.7,4,76.4,4,1008.1,4,1006.6,4,6.2,4,2.8,4,4.1,999.9,90.3,*,76.1,,99.99,,999.9,0,1,0,0,0,0
876 | 971420,99999,2014,03,25,84.4,4,76.5,4,1008.2,4,1006.8,4,6.1,4,2.5,4,5.1,999.9,88.5,*,76.5,,99.99,,999.9,0,1,0,0,0,0
877 | 971420,99999,2014,04,05,83.8,4,76.3,4,1009.3,4,1007.8,4,5.4,4,2.2,4,4.1,999.9,88.2,*,75.9,,99.99,,999.9,0,1,0,0,1,0
878 | 971420,99999,2014,05,12,81.3,4,76.4,4,1010.8,4,1009.4,4,6.2,4,1.0,4,1.9,999.9,87.1,*,77.4,,99.99,,999.9,0,1,0,0,0,0
879 | 971420,99999,2014,05,13,78.4,4,75.5,4,1011.1,4,1009.6,4,6.2,4,1.2,4,1.9,999.9,82.8,*,74.8,*,99.99,,999.9,0,1,0,0,0,0
880 | 971420,99999,2014,05,19,83.8,4,76.6,4,1009.4,4,1008.0,4,6.2,4,1.7,4,2.9,999.9,88.9,*,75.6,,99.99,,999.9,0,1,0,0,0,0
881 | 971420,99999,2014,06,04,81.7,4,75.5,4,1007.8,4,1006.3,4,6.2,4,1.3,4,4.1,999.9,88.2,,77.2,,99.99,,999.9,0,1,0,0,0,0
882 | 971420,99999,2014,07,09,83.8,4,75.0,4,1009.9,4,1008.7,4,6.2,4,2.5,4,6.0,999.9,87.8,*,76.8,,99.99,,999.9,0,1,0,0,0,0
883 | 971420,99999,2014,07,30,86.1,4,72.5,4,1011.5,4,1010.2,4,6.2,4,4.5,4,6.0,999.9,90.3,*,75.9,,99.99,,999.9,0,1,0,0,0,0
884 | 971420,99999,2014,12,02,84.7,4,76.5,4,1007.7,4,1007.9,4,6.2,4,1.2,4,1.9,999.9,90.7,,78.6,,99.99,,999.9,0,1,0,0,0,0
885 | 971420,99999,2014,12,10,85.1,4,74.5,4,1009.0,4,1007.9,4,6.2,4,2.2,4,6.0,999.9,91.4,*,76.6,,99.99,,999.9,0,1,0,0,0,0
886 | 971460,99999,2014,01,09,82.8,4,75.5,4,1007.8,4,1002.8,4,5.0,4,5.5,4,8.9,999.9,88.5,*,74.3,,99.99,,999.9,0,1,0,0,1,0
887 | 971460,99999,2014,02,01,83.5,4,77.2,4,1006.0,4,999.9,4,4.7,4,1.5,4,6.0,999.9,87.8,*,75.4,,99.99,,999.9,0,1,0,0,0,0
888 | 971460,99999,2014,04,15,83.9,4,75.7,4,1008.6,4,1003.9,4,3.9,4,4.3,4,7.0,999.9,90.7,*,75.4,,99.99,,999.9,0,1,0,0,1,0
889 | 971460,99999,2014,05,13,77.0,4,75.2,4,1011.2,4,1005.2,4,2.4,4,5.7,4,7.0,999.9,78.4,*,75.0,,99.99,,999.9,0,1,0,0,0,0
890 | 971460,99999,2014,05,27,83.2,4,77.0,4,1009.1,4,1004.3,4,4.0,4,3.3,4,8.0,999.9,90.3,*,75.2,,99.99,,999.9,0,1,0,0,0,0
891 | 971460,99999,2014,05,28,77.2,4,75.7,4,1010.2,4,9999.9,0,3.4,4,1.5,4,6.0,999.9,79.2,*,75.4,,99.99,,999.9,0,1,0,0,0,0
892 | 971460,99999,2014,07,11,77.1,4,74.1,4,1011.4,4,1005.4,4,3.7,4,4.5,4,11.1,999.9,80.6,*,74.1,,99.99,,999.9,0,1,0,0,0,0
893 | 972840,99999,2014,01,22,69.7,4,66.9,4,1010.0,4,886.2,4,10.4,4,22.2,4,57.9,999.9,72.1,*,59.4,,99.99,,999.9,0,1,0,1,0,0
894 | 972840,99999,2014,04,02,72.4,4,69.1,4,1010.6,4,886.7,4,6.5,4,2.5,4,22.0,999.9,77.4,*,68.0,*,99.99,,999.9,0,1,0,0,1,0
895 | 975800,99999,2014,01,10,80.0,4,77.2,4,1007.8,4,1007.1,4,6.2,4,2.5,4,999.9,999.9,84.6,*,77.4,*,99.99,,999.9,0,1,0,0,0,0
896 | 975800,99999,2014,03,27,81.8,4,76.9,4,1010.2,4,1009.5,4,5.9,4,1.0,4,4.1,999.9,86.7,*,77.7,*,99.99,,999.9,0,1,0,0,0,0
897 | 975800,99999,2014,05,01,82.9,4,76.6,4,1011.4,4,1010.7,4,6.7,4,0.0,4,999.9,999.9,88.2,*,78.4,*,99.99,,999.9,0,1,0,0,0,0
898 | 976000,99999,2014,05,10,81.9,4,9999.9,0,1011.7,4,1011.1,4,5.3,4,1.5,4,4.1,999.9,87.1,*,76.8,,99.99,,999.9,0,1,0,0,0,0
899 | 976820,99999,2014,08,06,78.4,4,73.3,4,1011.5,4,1010.9,4,5.1,4,4.7,4,8.0,999.9,90.3,,72.7,,99.99,,999.9,0,1,0,0,0,0
900 | 976980,99999,2014,03,28,85.3,4,76.7,4,1009.5,4,1008.7,4,5.1,4,5.5,4,8.0,999.9,90.0,*,79.0,,99.99,,999.9,0,1,0,0,0,0
901 | 977900,99999,2014,05,26,82.1,4,78.9,4,1010.2,4,1008.2,4,5.0,4,5.8,4,12.0,999.9,88.5,,79.3,*,99.99,,999.9,0,1,0,0,0,0
902 | 415225,99999,2014,10,05,80.4,4,67.0,4,9999.9,0,930.9,4,4.3,4,1.0,4,3.9,999.9,89.4,*,70.5,*,99.99,,999.9,0,1,0,0,0,0
903 | 979000,99999,2014,01,15,85.8,4,79.6,4,1005.5,4,1002.4,4,9.2,4,8.9,4,9.9,999.9,87.3,*,75.6,,99.99,,999.9,0,1,0,0,0,0
904 | 979000,99999,2014,01,20,84.5,4,78.1,4,1007.3,4,1004.4,4,9.5,4,8.2,4,8.9,999.9,88.5,*,76.5,,99.99,,999.9,0,1,0,0,0,0
905 | 722138,63852,2014,06,01,62.6,4,9999.9,0,9999.9,0,9999.9,0,999.9,0,5.9,4,19.4,38.9,77.0,*,33.8,*,99.99,,999.9,0,1,0,0,1,0
906 | 421230,99999,2014,04,16,80.5,4,63.1,4,1008.1,4,9999.9,0,1.9,4,0.7,4,1.9,999.9,94.5,,70.9,*,99.99,,999.9,0,1,0,0,1,0
907 | 421230,99999,2014,04,22,80.4,4,62.1,4,1013.4,4,9999.9,0,2.5,4,1.0,4,1.9,999.9,94.3,,71.6,*,99.99,,999.9,0,1,0,0,0,0
908 | 421230,99999,2014,07,03,84.4,4,76.6,4,998.0,4,9999.9,0,1.9,4,1.2,4,2.9,999.9,94.1,,79.5,*,99.99,,999.9,0,1,0,0,0,0
909 | 421230,99999,2014,09,02,81.3,4,75.7,4,1003.3,4,9999.9,0,2.2,4,1.0,4,2.9,999.9,88.0,,78.1,*,99.99,,999.9,0,1,0,0,0,0
910 | 421230,99999,2014,09,05,79.2,4,76.1,4,996.8,4,9999.9,0,1.9,4,2.2,4,5.1,999.9,85.6,,75.2,*,99.99,,999.9,0,1,0,0,1,0
911 | 422600,99999,2014,12,04,68.2,4,63.7,4,1006.7,4,9999.9,0,2.2,4,3.7,4,9.9,999.9,88.9,,50.2,,99.99,,999.9,0,1,0,0,1,0
912 | 424350,99999,2014,07,29,87.3,4,77.2,4,9999.9,0,9999.9,0,2.5,4,0.0,4,999.9,999.9,95.4,,82.8,,99.99,,999.9,0,1,0,0,0,0
913 | 424980,99999,2014,02,14,61.0,4,55.1,4,1013.4,4,9999.9,0,1.1,4,0.0,4,999.9,999.9,64.0,,59.0,*,99.99,,999.9,0,1,0,0,0,0
914 | 424980,99999,2014,05,10,93.5,4,69.7,4,998.9,4,9999.9,0,1.9,4,2.0,4,4.1,999.9,105.8,,90.3,*,99.99,,999.9,0,1,0,0,0,0
915 | 424980,99999,2014,06,18,86.3,4,81.3,4,995.5,4,9999.9,0,1.6,4,0.7,4,2.9,999.9,91.8,,84.2,*,99.99,,999.9,0,1,0,0,1,0
916 | 424980,99999,2014,07,01,84.3,4,81.3,4,999.9,4,9999.9,0,1.2,4,0.0,4,999.9,999.9,87.8,*,82.4,*,99.99,,999.9,0,1,0,0,0,0
917 | 425420,99999,2014,04,20,75.7,4,61.1,4,1011.3,4,954.0,4,2.5,4,4.5,4,8.0,999.9,90.3,,69.4,*,99.99,,999.9,0,1,0,0,0,0
918 | 425420,99999,2014,07,23,81.1,4,73.0,4,996.3,4,940.4,4,2.5,4,6.2,4,9.9,999.9,89.2,,76.3,*,99.99,,999.9,0,1,0,0,0,0
919 | 425420,99999,2014,07,25,79.7,4,74.8,4,1000.9,4,944.5,4,2.5,4,4.5,4,6.0,999.9,82.4,,77.7,*,99.99,,999.9,0,1,0,0,0,0
920 | 425420,99999,2014,07,26,78.4,4,74.2,4,1003.7,4,947.1,4,2.2,4,3.5,4,6.0,999.9,82.9,,75.9,*,99.99,,999.9,0,1,0,0,0,0
921 | 425420,99999,2014,08,11,77.2,4,74.9,4,1003.0,4,946.3,4,2.2,4,2.2,4,2.9,999.9,78.8,,75.9,*,99.99,,999.9,0,1,0,0,0,0
922 | 425420,99999,2014,09,02,77.8,4,75.2,4,999.0,4,942.5,4,2.2,4,2.0,4,4.1,999.9,84.9,,77.0,*,99.99,,999.9,0,1,0,0,0,0
923 | 425420,99999,2014,09,03,77.9,4,74.6,4,999.8,4,943.4,4,2.5,4,5.5,4,8.0,999.9,81.0,,75.9,*,99.99,,999.9,0,1,0,0,0,0
924 | 425420,99999,2014,09,04,76.0,4,73.9,4,999.3,4,942.7,4,2.5,4,7.0,4,8.0,999.9,84.6,,74.5,*,99.99,,999.9,0,1,0,0,0,0
925 | 425420,99999,2014,09,12,76.6,4,73.2,4,1006.8,4,949.8,4,2.2,4,2.5,4,4.1,999.9,83.1,,73.4,*,99.99,,999.9,0,1,0,0,0,0
926 | 425910,99999,2014,05,31,81.5,4,75.2,4,1001.8,4,9999.9,0,2.2,4,4.2,4,6.0,999.9,90.5,,72.3,*,99.99,,999.9,0,1,0,0,1,0
927 | 425910,99999,2014,07,02,79.6,4,78.4,4,1000.9,4,9999.9,0,2.0,4,3.5,4,6.0,999.9,82.6,,77.7,*,99.99,,999.9,0,1,0,0,1,0
928 | 425910,99999,2014,07,04,79.0,4,77.4,4,998.7,4,9999.9,0,2.5,4,1.5,4,6.0,999.9,81.7,,77.4,*,99.99,,999.9,0,1,0,0,0,0
929 | 425910,99999,2014,07,05,80.2,4,77.9,4,999.0,4,9999.9,0,2.5,4,0.0,4,999.9,999.9,85.6,,77.0,*,99.99,,999.9,0,1,0,0,0,0
930 | 425910,99999,2014,08,10,82.6,4,79.3,4,1000.2,4,9999.9,0,2.2,4,0.7,4,2.9,999.9,90.5,,79.2,*,99.99,,999.9,0,1,0,0,1,0
931 | 425910,99999,2014,09,15,80.7,4,77.3,4,1003.5,4,9999.9,0,2.2,4,4.0,4,8.0,999.9,92.1,,77.7,*,99.99,,999.9,0,1,0,0,1,0
932 | 425910,99999,2014,10,25,75.5,4,70.0,4,1013.2,4,9999.9,0,0.6,4,0.0,4,999.9,999.9,82.9,,67.3,*,99.99,,999.9,0,1,0,0,0,0
933 | 425910,99999,2014,12,15,62.5,4,60.0,4,1017.5,4,9999.9,0,0.3,4,0.7,4,2.9,999.9,67.6,,57.9,*,99.99,,999.9,0,1,0,0,0,0
934 | 429090,99999,2014,07,18,84.7,4,80.2,4,9999.9,0,9999.9,0,1.2,4,11.8,4,15.9,999.9,86.2,*,83.8,*,99.99,,999.9,0,1,0,0,0,0
935 | 429090,99999,2014,07,31,79.0,4,78.5,4,9999.9,0,9999.9,0,1.2,4,4.0,4,6.0,999.9,80.4,,78.4,*,99.99,,999.9,0,1,0,0,0,0
936 | 429090,99999,2014,09,01,81.0,4,77.7,4,9999.9,0,9999.9,0,3.4,4,3.8,4,4.1,999.9,85.6,,77.2,*,99.99,,999.9,0,1,0,0,0,0
937 | 429090,99999,2014,11,15,84.9,4,74.2,4,9999.9,0,9999.9,0,4.3,4,4.2,4,6.0,999.9,90.7,,79.7,*,99.99,,999.9,0,1,0,0,0,0
938 | 430140,99999,2014,03,09,68.6,4,62.6,4,1013.8,4,948.5,4,2.2,4,4.8,4,6.0,999.9,82.4,,60.8,*,99.99,,999.9,0,1,0,0,1,0
939 | 430140,99999,2014,07,09,78.7,4,71.9,4,1003.2,4,939.8,4,2.5,4,4.0,4,5.1,999.9,87.4,,73.4,*,99.99,,999.9,0,1,0,0,0,0
940 | 430140,99999,2014,07,19,76.6,4,72.0,4,1001.4,4,937.8,4,2.2,4,5.5,4,6.0,999.9,78.1,,75.2,*,99.99,,999.9,0,1,0,0,0,0
941 | 430140,99999,2014,07,30,76.3,4,71.9,4,1001.4,4,9999.9,0,2.5,4,5.8,4,8.0,999.9,80.1,,73.0,*,99.99,,999.9,0,1,0,0,0,0
942 | 430140,99999,2014,08,26,77.7,4,71.9,4,1006.0,4,942.3,4,2.5,4,1.9,4,2.9,999.9,82.0,,73.4,*,99.99,,999.9,0,1,0,0,0,0
943 | 431050,99999,2014,10,16,84.0,4,78.5,4,1012.4,4,1011.8,4,4.3,4,1.0,4,4.1,999.9,89.6,,77.0,,99.99,,999.9,0,1,0,0,1,0
944 | 431810,99999,2014,08,04,86.5,4,73.4,4,1000.9,4,998.2,4,2.2,4,4.8,4,8.0,999.9,93.4,,79.9,*,99.99,,999.9,0,1,0,0,0,0
945 | 433470,99999,2014,09,24,86.6,4,79.3,4,1007.4,4,1006.4,4,4.3,4,3.2,4,5.1,999.9,97.2,,80.4,,99.99,,999.9,0,1,0,0,0,0
946 | 433630,99999,2014,11,11,84.7,4,77.9,4,1009.5,4,1008.2,4,4.0,4,6.3,4,13.0,999.9,90.3,,76.1,,99.99,,999.9,0,1,0,0,0,0
947 | 995440,99999,2014,07,16,58.3,4,50.7,4,1016.6,4,9999.9,0,12.7,4,15.2,4,24.1,999.9,62.1,*,56.3,*,99.99,,999.9,0,1,0,0,0,0
948 | 995440,99999,2014,09,20,55.4,4,50.4,4,1013.3,4,9999.9,0,18.8,4,11.5,4,15.0,999.9,55.8,*,55.0,*,99.99,,999.9,0,1,0,0,0,0
949 | 995440,99999,2014,10,01,55.6,4,49.2,4,1014.8,4,9999.9,0,4.2,4,25.0,4,28.0,999.9,56.8,*,53.1,*,99.99,,999.9,0,1,0,0,0,0
950 | 722162,26554,2014,02,07,23.0,4,15.8,4,9999.9,0,970.3,4,9.0,4,39.1,4,58.3,97.1,24.8,*,19.4,*,99.99,,999.9,0,0,1,0,0,0
951 | 722162,26554,2014,03,12,19.9,4,13.5,4,9999.9,0,950.1,4,999.9,0,0.0,4,999.9,999.9,26.6,*,15.8,*,99.99,,999.9,0,0,1,0,0,0
952 | 722220,99999,2014,01,27,59.8,4,55.2,4,1013.7,4,1009.0,4,9.9,4,6.0,4,8.0,999.9,64.0,*,55.0,*,99.99,,999.9,0,1,0,0,0,0
953 | 722220,99999,2014,02,08,52.0,4,41.8,4,1022.7,4,1017.9,4,9.3,4,4.5,4,6.0,999.9,62.1,*,45.0,*,99.99,,999.9,0,1,0,0,0,0
954 | 722220,99999,2014,03,16,66.2,4,62.3,4,1008.6,4,1004.0,4,7.0,4,12.2,4,15.0,999.9,68.0,*,64.0,*,99.99,,999.9,0,1,0,0,0,0
955 | 722220,99999,2014,04,04,70.5,4,64.5,4,1015.3,4,1010.6,4,8.9,4,9.4,4,9.9,999.9,75.9,*,66.9,*,99.99,,999.9,0,1,0,0,0,0
956 | 722220,99999,2014,04,06,65.5,4,62.2,4,1013.6,4,1008.9,4,6.3,4,7.5,4,13.0,999.9,70.0,*,62.1,*,99.99,,999.9,0,1,0,0,0,0
957 | 722220,99999,2014,06,20,79.5,4,71.2,4,1018.1,4,1013.5,4,9.9,4,5.7,4,9.9,999.9,86.0,*,75.0,*,99.99,,999.9,0,1,0,0,0,0
958 | 722220,99999,2014,06,21,81.8,4,72.0,4,1015.6,4,1010.9,4,9.6,4,2.8,4,7.0,999.9,89.1,*,75.0,*,99.99,,999.9,0,1,0,0,0,0
959 | 722220,99999,2014,07,26,81.5,4,76.0,4,9999.9,0,1012.2,4,9.3,4,8.3,4,17.1,999.9,86.0,*,77.0,*,99.99,,999.9,0,1,0,0,1,0
960 | 722220,99999,2014,08,20,79.2,4,71.5,4,1017.2,4,1012.7,4,9.9,4,6.5,4,11.1,999.9,90.0,*,71.1,*,99.99,,999.9,0,1,0,0,0,0
961 | 722220,99999,2014,11,22,56.0,4,46.0,4,1024.6,4,1019.7,4,8.9,4,5.0,4,7.0,999.9,61.0,*,48.9,*,99.99,,999.9,0,1,0,0,0,0
962 | 722220,99999,2014,12,20,48.0,4,47.0,4,1019.6,4,1014.8,4,7.3,4,4.8,4,7.0,999.9,51.1,*,46.0,*,99.99,,999.9,0,1,0,0,0,0
963 | 076700,99999,2014,01,18,52.3,4,50.9,4,9999.9,0,9999.9,0,7.3,4,13.5,4,18.1,999.9,53.8,*,51.1,*,99.99,,999.9,0,1,0,0,0,0
964 | 076700,99999,2014,02,07,54.7,4,48.8,4,9999.9,0,9999.9,0,12.4,4,18.5,4,22.9,999.9,56.1,*,52.3,*,99.99,,999.9,0,1,0,0,0,0
965 | 076700,99999,2014,02,10,48.9,4,48.2,4,9999.9,0,9999.9,0,2.0,4,24.0,4,38.1,999.9,51.1,*,47.8,*,99.99,,999.9,0,1,0,0,0,0
966 | 076700,99999,2014,09,30,67.0,4,65.3,4,9999.9,0,9999.9,0,6.2,4,18.7,4,22.0,999.9,68.4,*,66.2,*,99.99,,999.9,0,1,0,0,0,0
967 | 996040,99999,2014,01,15,42.8,4,37.2,4,997.0,4,9999.9,0,6.8,4,34.0,4,42.9,999.9,43.5,*,41.0,*,99.99,,999.9,0,1,0,0,0,0
968 | 996040,99999,2014,02,12,39.6,4,33.4,4,982.7,4,9999.9,0,4.3,4,35.0,4,40.0,999.9,41.5,*,36.7,*,99.99,,999.9,0,1,0,0,0,0
969 | 996040,99999,2014,02,20,44.6,4,41.0,4,994.8,4,9999.9,0,4.0,4,25.7,4,35.0,999.9,46.8,*,43.5,*,99.99,,999.9,0,1,0,0,0,0
970 | 996040,99999,2014,08,12,55.0,4,52.9,4,989.5,4,9999.9,0,6.2,4,31.5,4,45.1,999.9,55.9,*,54.3,*,99.99,,999.9,0,1,0,0,0,0
971 | 996040,99999,2014,11,02,51.3,4,47.0,4,992.5,4,9999.9,0,9.3,4,28.5,4,35.0,999.9,52.7,*,50.4,*,99.99,,999.9,0,1,0,0,0,0
972 | 996040,99999,2014,11,29,47.7,4,44.6,4,1014.3,4,9999.9,0,4.0,4,31.0,4,32.1,999.9,49.1,*,45.7,*,99.99,,999.9,0,1,0,0,0,0
973 | 996040,99999,2014,12,06,44.9,4,37.9,4,1016.1,4,9999.9,0,6.8,4,26.2,4,35.0,999.9,48.7,*,42.4,*,99.99,,999.9,0,1,0,0,0,0
974 | 722256,64774,2014,06,16,71.6,4,52.3,4,9999.9,0,1017.7,4,999.9,0,999.9,0,999.9,999.9,73.4,*,69.8,*,99.99,,999.9,0,1,0,0,0,0
975 | 722308,99999,2014,06,27,79.7,4,74.3,4,9999.9,0,9999.9,0,6.3,4,4.5,4,7.0,999.9,84.2,*,77.0,*,99.99,,999.9,0,1,0,0,0,0
976 | 722309,12990,2014,07,18,81.1,4,76.1,4,9999.9,0,9999.9,0,6.5,4,8.2,4,25.1,999.9,84.2,*,75.2,*,99.99,,999.9,0,1,0,0,1,0
977 | 722309,12990,2014,07,19,79.3,4,76.1,4,9999.9,0,9999.9,0,4.9,4,8.7,4,15.0,999.9,84.2,*,75.2,*,99.99,,999.9,0,1,0,0,0,0
978 | 722309,12990,2014,08,29,82.9,4,77.9,4,9999.9,0,9999.9,0,5.0,4,10.0,4,20.0,999.9,84.2,*,78.8,*,99.99,,999.9,0,1,0,0,1,0
979 | 722333,03069,2014,05,30,60.8,4,42.8,4,9999.9,0,9999.9,0,10.0,4,15.3,4,20.0,25.1,66.2,*,57.2,*,99.99,,999.9,0,1,0,0,1,0
980 | 084515,99999,2014,04,20,54.5,4,52.3,4,9999.9,0,9999.9,0,4.0,4,8.2,4,8.9,999.9,57.2,*,53.6,*,99.99,,999.9,0,1,0,0,0,0
981 | 084515,99999,2014,10,10,70.7,4,63.1,4,9999.9,0,9999.9,0,5.9,4,5.5,4,13.0,999.9,73.4,*,68.0,*,99.99,,999.9,0,1,0,0,0,0
982 | 084515,99999,2014,11,14,59.9,4,56.8,4,9999.9,0,9999.9,0,5.3,4,5.2,4,8.9,999.9,60.8,*,59.0,*,99.99,,999.9,0,1,0,0,0,0
983 | 085020,99999,2014,02,26,61.7,4,59.0,4,9999.9,0,9999.9,0,5.0,4,10.2,4,14.0,25.1,62.6,*,60.8,*,99.99,,999.9,0,1,0,0,0,0
984 | 085020,99999,2014,09,15,66.2,4,59.5,4,9999.9,0,9999.9,0,6.2,4,10.0,4,12.0,29.9,68.0,*,62.6,*,99.99,,999.9,0,1,0,0,0,0
985 | 085155,99999,2014,07,25,68.4,4,65.3,4,9999.9,0,9999.9,0,5.0,4,15.0,4,15.9,31.1,71.6,*,66.2,*,99.99,,999.9,0,1,0,0,0,0
986 | 085350,99999,2014,11,06,60.4,4,54.3,4,1019.0,4,1008.2,4,999.9,0,5.3,4,7.8,999.9,64.8,*,54.3,*,99.99,,999.9,0,1,0,0,0,0
987 | 085890,99999,2014,08,19,79.1,4,75.2,4,1013.0,4,9999.9,0,9.8,4,11.0,4,14.0,999.9,87.3,,75.2,,99.99,,999.9,0,1,0,0,0,0
988 | 471670,99999,2014,06,23,68.0,4,63.5,4,9999.9,0,9999.9,0,2.7,4,8.4,4,9.9,999.9,71.6,*,66.2,*,99.99,,999.9,0,1,0,0,1,0
989 | 474905,99999,2014,03,30,29.3,4,28.0,4,9999.9,0,9999.9,0,1.2,4,3.7,4,5.1,999.9,32.0,*,28.4,*,99.99,,999.9,0,0,1,0,0,0
990 | 110080,99999,2014,12,31,23.9,4,21.9,4,1036.1,4,960.3,4,999.9,0,999.9,0,999.9,999.9,26.4,*,20.7,*,99.99,,999.9,0,1,1,0,0,0
991 | 110210,99999,2014,12,31,24.9,4,23.0,4,1035.2,4,965.3,4,999.9,0,999.9,0,999.9,999.9,28.6,*,20.5,*,99.99,,999.9,0,0,1,0,0,0
992 | 110230,99999,2014,12,28,24.7,4,19.9,4,1016.3,4,982.0,4,999.9,0,8.3,4,9.7,999.9,28.0,*,20.8,*,99.99,,999.9,0,0,1,0,0,0
993 | 110240,99999,2014,12,29,13.0,4,10.5,4,9999.9,0,910.1,4,999.9,0,13.6,4,19.4,999.9,14.5,*,11.7,*,99.99,,999.9,0,0,1,0,0,0
994 | 110240,99999,2014,12,31,22.2,4,20.3,4,9999.9,0,917.4,4,999.9,0,7.8,4,9.7,999.9,24.6,*,19.4,*,99.99,,999.9,0,0,1,0,0,0
995 | 110270,99999,2014,12,29,20.8,4,15.9,4,1028.3,4,1001.8,4,999.9,0,7.3,4,9.7,999.9,21.7,*,19.9,*,99.99,,999.9,0,0,1,0,0,0
996 | 110370,99999,2014,12,28,25.1,4,19.8,4,1015.3,4,995.8,4,999.9,0,12.1,4,17.5,999.9,28.0,*,21.4,*,99.99,,999.9,0,0,1,0,0,0
997 | 110750,99999,2014,12,29,21.6,4,16.1,4,1029.0,4,1001.8,4,999.9,0,999.9,0,999.9,999.9,25.2,*,19.6,*,99.99,,999.9,0,0,1,0,0,0
998 | 110750,99999,2014,12,31,23.3,4,18.2,4,1036.8,4,1009.6,4,999.9,0,999.9,0,999.9,999.9,25.5,*,20.3,*,99.99,,999.9,0,0,1,0,0,0
999 | 110780,99999,2014,12,29,15.4,4,11.9,4,1029.6,4,941.7,4,999.9,0,9.7,4,13.6,999.9,16.9,*,13.3,*,99.99,,999.9,0,0,1,0,0,0
1000 | 110800,99999,2014,12,28,25.5,4,19.9,4,1015.4,4,986.7,4,999.9,0,3.9,4,5.8,999.9,29.1,*,21.6,*,99.99,,999.9,0,0,1,0,0,0
1001 | 110800,99999,2014,12,29,21.9,4,15.3,4,1028.1,4,998.9,4,999.9,0,6.8,4,9.7,999.9,23.4,*,20.3,*,99.99,,999.9,0,0,1,0,0,0
--------------------------------------------------------------------------------
/src/28/28_GoogleAnalytics.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM `my-pc-project-357506.ga4_obfuscated_sample_ecommerce.events_20210131` LIMIT 1000;
2 |
3 | -- 예시: 데이터 세트의 순 이벤트 수, 사용자 수, 일수를 표시합니다.
4 | SELECT
5 | COUNT(*) AS event_count,
6 | COUNT(DISTINCT user_pseudo_id) AS user_count,
7 | COUNT(DISTINCT event_date) AS day_count
8 | FROM `my-pc-project-357506.ga4_obfuscated_sample_ecommerce.events_20210131`;
9 |
10 |
11 | -- 예시: 총 사용자 'Total User' 와 신규 사용자 'New User' 수를 집계하라.
12 |
13 | WITH
14 | UserInfo AS (
15 | SELECT
16 | user_pseudo_id,
17 | MAX(IF(event_name IN ('first_visit', 'first_open'), 1, 0)) AS is_new_user
18 | FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
19 | WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
20 | GROUP BY 1
21 | )
22 | SELECT
23 | COUNT(*) AS user_count,
24 | SUM(is_new_user) AS new_user_count
25 | FROM UserInfo;
26 |
27 |
28 | -- 예시: 구매자 유형당 평균 거래수를 집계 조회하라.
29 |
30 | SELECT
31 | COUNT(*) / COUNT(DISTINCT user_pseudo_id) AS avg_transaction_per_purchaser
32 | FROM
33 | `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
34 | WHERE
35 | event_name IN ('in_app_purchase', 'purchase')
36 | AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201231';
37 |
38 | -- 예시: Flood It 의 데이터 분석에서 데이터 세트의 순 이벤트 수, 사용자 수, 일수를 조회하라.
39 |
40 | SELECT
41 | COUNT(*) AS event_count,
42 | COUNT(DISTINCT user_pseudo_id) AS user_count,
43 | COUNT(DISTINCT event_date) AS day_count
44 | FROM `firebase-public-project.analytics_153293282.events_*`;
45 |
46 |
--------------------------------------------------------------------------------
/src/30/30_BigQueryML.sql:
--------------------------------------------------------------------------------
1 | -- ### BigQueryML 예제 실행하기 ### --
2 |
3 | -- 1단계: 빅쿼리UI 에서 census 데이터셋 만들기
4 |
5 |
6 | -- 2단계: 데이터 검증
7 |
8 | # 데이터셋을 검증하고 로지스틱 회귀 모델의 학습 데이터로 사용할 열을 식별합니다.
9 | # 미국 인구조사 데이터셋에서 100개의 행을 반환
10 |
11 | SELECT
12 | age,
13 | workclass,
14 | marital_status,
15 | education_num,
16 | occupation,
17 | hours_per_week,
18 | income_bracket
19 | FROM
20 | `bigquery-public-data.ml_datasets.census_adult_income`
21 | LIMIT
22 | 100;
23 |
24 | # 쿼리 결과에서는 census_adult_income 소득 계층인 income_bracket 열에 <=50K 또는 >50K 값 중 하나만 있음을 보여줍니다.
25 | # census_adult_income 테이블의 교육 수준을 나타내는 education 열과 education_num 열에는 동일한 데이터가 서로 다른 형식으로 표시된다는 것을 보여줍니다.
26 | # functional_weight 열은 인구조사기관에서 특정 행이 대표한다고 판단하는 개별의 수입니다.
27 | # 이 functional_weight 열의 값은 특정 행의 income_bracket 값과 관련 없는 것으로 나타납니다.
28 |
29 |
30 | -- 3단계: 학습 데이터 선택
31 |
32 | # 로지스틱 회귀 모델을 학습하는 데 사용되는 데이터를 선택합니다.
33 | # X(Feature): 연령(age), 수행된 작업 유형(workclass),결혼 여부(marital_status), 교육 수준(education_num), 직업(occupation), 주당 근무 시간(hours_per_week), 소득 계층(income_bracket)
34 | # Y(Label): 인구조사 응답자 소득 계층(predicted_income_bracket)을 분류하여 예측합니다.
35 | # 예시: X 속성을 가진 학습 데이터를 컴파일하는 뷰 생성하기
36 |
37 | CREATE OR REPLACE VIEW
38 | `census.input_view` AS
39 | SELECT
40 | age,
41 | workclass,
42 | marital_status,
43 | education_num,
44 | occupation,
45 | hours_per_week,
46 | income_bracket,
47 | CASE
48 | WHEN MOD(functional_weight, 10) < 8 THEN 'training'
49 | WHEN MOD(functional_weight, 10) = 8 THEN 'evaluation'
50 | WHEN MOD(functional_weight, 10) = 9 THEN 'prediction'
51 | END AS dataframe
52 | FROM
53 | `bigquery-public-data.ml_datasets.census_adult_income`;
54 |
55 | # 결과:
56 | # 1. 인구조사 응답자의 데이터를 추출하는 데, 응답자의 교육 수준을 나타내는 education_num과 응답자의 직업 유형을 나타내는 workclass가 포함됩니다.
57 | # 2. 데이터가 중복되는 여러 카테고리를 제외합니다. 예를 들어 census_adult_income 테이블의 education 열과 education_num 열에는 동일한 데이터가 서로 다른 형식으로 표시되므로 이 쿼리는 education 열을 제외합니다.
58 | # 3. dataframe 열은 제외된 functional_weight 열을 사용하여 학습용 데이터 소스의 80% 라벨을 지정하고 평가 및 예측에 사용하도록 나머지 데이터를 예약합니다.
59 | # 4. 이러한 열이 포함된 뷰를 만들므로 나중에 이 열을 사용하여 학습 및 예측을 수행할 수 있습니다.
60 |
61 | -- ### 실행 한 후 반드시 View 로 저장함. View 이름은 input_view 로 지정함 ###
62 |
63 | -- 4단계: 로지스틱 회귀 모델 만들기 --
64 |
65 | # 학습 데이터를 검증했으므로 다음 단계에서는 데이터를 사용하여 로지스틱 회귀 모델을 만듭니다.
66 | # CREATE MODEL 문을 'LOGISTIC_REG' 옵션과 함께 사용하면 로지스틱 회귀 모델을 만들고 학습시킵니다.
67 | # CREATE MODEL 문을 사용하여 이전 쿼리의 뷰에서 새로운 바이너리 로지스틱 회귀 모델을 학습시킵니다.
68 |
69 | CREATE OR REPLACE MODEL
70 | `census.census_model`
71 | OPTIONS
72 | ( model_type='LOGISTIC_REG',
73 | auto_class_weights=TRUE,
74 | data_split_method='NO_SPLIT',
75 | input_label_cols=['income_bracket'],
76 | max_iterations=15) AS
77 | SELECT
78 | * EXCEPT(dataframe)
79 | FROM
80 | `census.input_view`
81 | WHERE
82 | dataframe = 'training';
83 |
84 | # 쿼리 세부 정보
85 |
86 | # 1. CREATE MODEL 문은 SELECT 문의 학습 데이터를 사용하여 모델을 학습시킵니다.
87 | # 2. OPTIONS 절은 모델 유형과 학습 옵션을 지정합니다. 여기서 LOGISTIC_REG 옵션은 로지스틱 회귀 모델 유형을 지정합니다. 바이너리 로지스틱 회귀 모델과 멀티클래스 로지스틱 회귀 모델을 구분하여 지정할 필요는 없습니다. BigQuery ML은 라벨 열의 고유 값 수를 기반으로 학습할 대상을 결정할 수 있습니다.
88 |
89 | # 3. input_label_cols 옵션은 SELECT 문에서 라벨 열로 사용할 열을 지정합니다. 여기서 레이블 열은 income_bracket이므로 모델은 각 행에 있는 다른 값을 기반으로 income_bracket의 두 값 중 가장 가능성이 높은 값을 학습합니다.
90 |
91 | # 4. 'auto_class_weights=TRUE' 옵션은 학습 데이터에서 클래스 레이블의 균형을 맞춥니다. 기본적으로 학습 데이터는 가중치가 더해지지 않습니다. 학습 데이터 라벨의 균형이 맞지 않는 경우 모델은 가장 인기 있는 라벨 클래스에 더 가중치를 둬서 예측하도록 학습할 수 있습니다. 이 예시에서는 데이터 세트의 응답자 대부분이 저소득층에 속합니다. 이것은 저소득층을 너무 많이 예측하는 모델로 이어질 수 있습니다. 클래스 가중치는 각 클래스의 가중치를 해당 클래스의 빈도에 반비례하게 계산하여 클래스 라벨의 균형을 맞춥니다.
92 |
93 | # 5. SELECT 문은 2단계의 뷰를 쿼리합니다. 이 뷰에는 모델 학습용 특성 데이터가 포함된 열만 포함됩니다. WHERE 절은 학습 데이터 프레임에 속하는 행만 학습 데이터에 포함되도록 input_view의 행을 필터링합니다.
94 |
95 | -- ### 탐색 패널의 리소스 섹션에서 [PROJECT_ID] > census를 확장한 다음 census_model을 클릭한 후 스키마 탭을 클릭합니다. 모델 스키마는 BigQuery ML이 로지스틱 회귀를 수행하는 데 사용한 속성을 나열합니다.
96 |
97 | -- 5단계: ML.EVALUATE 함수를 사용하여 모델 평가
98 |
99 | # 모델을 만든 후에는 ML.EVALUATE 함수를 사용하여 모델의 성능을 평가합니다. ML.EVALUATE 함수는 실제 데이터를 기준으로 예측 값을 평가합니다.
100 |
101 | SELECT * FROM ML.EVALUATE
102 | (MODEL `census.census_model`,
103 | (
104 | SELECT
105 | *
106 | FROM
107 | `my-pc-project-357506.census.input_view`
108 | WHERE
109 | dataframe = 'evaluation'
110 | )
111 | );
112 |
113 |
114 |
115 | # 쿼리 세부정보
116 |
117 | # ML.EVALUATE 함수는 1단계에서 학습시킨 모델과 SELECT 서브 쿼리에서 반환된 평가 데이터를 받아들입니다.
118 | # ML.EVALUTE 함수는 모델에 대한 단일 행의 통계를 반환합니다.
119 | # 예시 쿼리는 input_view의 데이터를 평가 데이터로 사용합니다. WHERE 절은 서브 쿼리에 evaluation 데이터 프레임의 행만 포함되도록 입력 데이터를 필터링합니다.
120 |
121 | --- ### 반드시 Query Setting 에서 데이터 위치를 US로 해줘야 함 ### --
122 |
123 | # 로지스틱 회귀의 평가 항목은 precision, recall, accuracy, f1_score, log_loss, roc_auc 등이 열에 나타남. (자세한 설명은 PT에 있음)
124 |
125 | # 입력 데이터를 제공하지 않고도 ML.EVALUATE를 호출할 수 있습니다.
126 | # ML.EVALUATE는 자동으로 예약된 평가 데이터 세트를 사용하는 학습 중에 계산된 평가 측정항목을 검색합니다.
127 | # data_split_method 학습 옵션에 NO_SPLIT가 지정된 이 CREATE MODEL 쿼리에서는 전체 입력 데이터 세트가 학습과 평가에 모두 사용됩니다.
128 | # 입력 데이터 없이 ML.EVALUATE를 호출하면 학습 데이터셋에서 평가 측정항목이 검색됩니다. 이 평가 효과는 모델 학습 데이터와 별도로 유지된 데이터 세트에 대한 평가 실행보다 적습니다.
129 |
130 | -- 6단계: ML.PREDICT 함수를 사용하여 소득 계층 예측 --
131 |
132 | # 특정 응답자가 속한 소득 계층을 식별하려면 ML.PREDICT 함수를 사용합니다.
133 | # 예시 쿼리는 prediction 데이터 프레임에 있는 모든 응답자의 소득 계층을 예측합니다.
134 |
135 | SELECT
136 | *
137 | FROM
138 | ML.PREDICT (MODEL `my-pc-project-357506.census.census_model`,
139 | (
140 | SELECT
141 | *
142 | FROM
143 | `my-pc-project-357506.census.input_view`
144 | WHERE
145 | dataframe = 'prediction'
146 | )
147 | );
148 |
149 | # 쿼리 세부 정보
150 | # 1. ML.PREDICT 함수는 'prediction' 데이터프레임의 행만 포함하도록 필터링된 input_view의 데이터와 모델을 사용하여 결과를 예측합니다.
151 | # 2. 최상위 SELECT 문은 ML.PREDICT 함수의 출력을 조회합니다.
152 | # 3. predicted_income_bracket은 income_bracket의 예측 값입니다.
153 |
154 | -- 7단계: Explainable AI 메서드로 예측 결과 설명 --
155 |
156 | # 모델에서 이러한 예측 결과를 생성하는 이유를 알아보려면 ML.EXPLAIN_PREDICT 함수를 사용하면 됩니다.
157 | # ML.EXPLAIN_PREDICT는 ML.PREDICT의 확장된 버전입니다.
158 | # ML.EXPLAIN_PREDICT는 예측 결과를 출력할 뿐만 아니라 예측 결과를 설명하는 추가 열을 출력합니다.
159 | # 따라서 실제로는 ML.EXPLAIN_PREDICT만 실행해야 하며 실행 중인 ML.PREDICT를 건너뜁니다.
160 |
161 | SELECT
162 | *
163 | FROM
164 | ML.EXPLAIN_PREDICT(MODEL `my-pc-project-357506.census.census_model`,
165 | (
166 | SELECT
167 | *
168 | FROM
169 | `my-pc-project-357506.census.input_view`
170 | WHERE
171 | dataframe = 'evaluation'),
172 | STRUCT(3 as top_k_features)
173 | );
174 |
175 |
176 | # 로지스틱 회귀 모델에서 Shapley 값은 모델의 각 특성에 대해 특성 기여값을 생성하는 데 사용됩니다.
177 | # ML.EXPLAIN_PREDICT는 쿼리에서 top_k_features가 3으로 설정되었기 때문에 제공된 테이블의 행당 특성 기여 항목 3개를 출력합니다.
178 | # 이러한 기여 항목은 절댓값을 기준으로 내림차순으로 정렬됩니다.
179 | # 예시의 행 1에서는 hours_per_week 특성이 전체 예측에 가장 많이 기여했지만 이 예시의 행 2에서는 occupation가 전체 예측에 가장 많이 기여했습니다.
180 |
181 |
--------------------------------------------------------------------------------