├── .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 | --------------------------------------------------------------------------------