GearAPI version1.0
DocGearAPI
1.DataServiceEx.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
5 """
6 データサービス(Gear-API)クラス
7
8 ※ Jupyter notebook/labでGear-APIを使用する場合、dataServerへのパス指定が必須です。
9 ※ macOSの場合、DYLD_LIBRARY_PATHでdi5engine/mac指へのパス指定が必須です。
10
11 Jupyter lab 起動例
12 cd ESPERiCフォルダーのパス
13 export PYTHONPATH=$(cd "./server/dataService" && pwd):$PYTHONPATH
14 export PYTHONPATH=$(cd "./server" && pwd):$PYTHONPATH ←←← start_sdc3 APIを使用するの場合のみ 必須
15 export DYLD_LIBRARY_PATH=$(cd "./server/di5engine/mac" && pwd) ←←← macOSの場合のみ 必須
16 Jupyter Lab
17 """
18
19 def __init__(self, is_macro_stop = False, is_language = "ja-JP"):
20 """
21 コンストラクタ
22
23 Parameters
24 ----------
25 is_macro_stop : bool, default False
26 実行エラーが発生した場合に中断するか否か
27 (True:中断、False:続行)
28 is_language : str, default 'ja-JP'
29 言語
30 (ja-JP:日本語、en-US:英語)
31 """
32 import DataServiceCtl
33 self._sLastMessage = None
34 serv = DataServiceCtl.DataServiceCtl()
35 serv.IsMacroStop = is_macro_stop
36 serv.IsLanguage = is_language
37 serv.execDataService()
38
39 def __get_message(self):
40 """
41 最後に出力されたメッセージを取得
42
43 Returns
44 -------
45 _sLastMessage : str
46 出力メッセージ
47 """
48 return self._sLastMessage
49
50 def __set_message(self, message):
51 """
52 最後に出力されたメッセージを設定
53
54 Parameters
55 ----------
56 message : str
57 設定するメッセージ
58 """
59 self._sLastMessage = message
60
61 LastMessage = property(fget=__get_message, fset=__set_message) # 最後に出力されたメッセージ
62
63 def __document(self, is_document = 'No'):
64 """
65 レシピドキュメントの出力制御
66
67 Parameters
68 ----------
69 is_document : str, default 'No'
70 Yes:ドキュメント出力あり、No:出力なし
71
72 Returns
73 -------
74 ResultCode : int
75 結果コード(0:成功、負:エラーコード)
76 """
77 import DocumentEx
78 serv = DocumentEx.DocumentEx()
79 serv.Documentout = is_document
80 serv.execDataService()
81 self.LastMessage = serv.ResultMessage
82 return serv.ResultCode
83
84 def output_log(self, is_content = 'No', is_result = 'Yes', is_recipe = 'No', is_document = 'No'):
85 """
86 ログの出力制御
87
88 Parameters
89 ----------
90 is_content : str, default 'No'
91 実行内容ログ出力 Yes:出力あり、No:出力なし
92 is_result : str, default 'Yes'
93 実行結果ログ出力 Yes:出力あり、No:出力なし
94 is_recipe : str, default 'No'
95 レシピ出力 Yes:出力あり、No:出力なし
96 is_document : str, default 'No'
97 レシピドキュメント出力 Yes:出力あり、No:出力なし
98
99 Returns
100 -------
101 ResultCode : int
102 結果コード(0:成功、負:エラーコード)
103 """
104 import OutputLogEx
105 serv = OutputLogEx.OutputLogEx()
106 serv.Contentout = is_content
107 serv.Resultout = is_result
108 serv.Recipeout = is_recipe
109 serv.Documentout = is_document
110 serv.execDataService()
111 self.LastMessage = serv.ResultMessage
112 return serv.ResultCode
113
114 def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name):
115 """
116 項目の追加
117
118 Parameters
119 ----------
120 table_name : str
121 テーブル名
122 add_position : str
123 追加位置(項目名)項目がない場合は”RecNo”を指定
124 new_item_name : str
125 追加項目名
126 item_type : str
127 追加項目のデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
128 file_name : str
129 項目ファイル名(拡張子付き)空項目を追加する場合は空白””
130
131 Returns
132 -------
133 ResultCode : int
134 結果コード(正:追加項目ID、負:エラーコード)
135
136 Examples
137 ----------
138 テーブルpractice1に、整数型の項目1を空項目で追加する
139
140 ========================================================================
141 >>>dsx.add_realitem(“practice1”,”RecNo”,”項目1”,”Integer”,””)
142 1
143 >>>dsx.get_itemlist(“practice1”)
144 [‘項目1’]
145 ========================================================================
146
147 See Also
148 ----------
149 1.項目一覧取得(get_itemlist)で、項目が追加されたことを確認できます
150 2.追加位置についてはテーブルデータ取得(get_tuple)で確認できます
151
152 ====================================
153 >>>dsx.get_tuple("practice1",1,10,1)
154 [['SeqNo', 'RecNo'], ['1', '1']]
155 ====================================
156
157 SeqNoとRecNoはテーブル作成時から既にある項目です
158
159 """
160 import AddRealItemEx
161 serv = AddRealItemEx.AddRealItemEx()
162 serv.TableName = table_name
163 serv.AddPos = add_position
164 serv.NewFilterName = new_item_name
165 serv.FilterType = item_type
166 serv.FileName = file_name
167 serv.execDataService()
168 self.LastMessage = serv.ResultMessage
169 return serv.ResultCode
170
171 def __add_realitem_numeric(self, table_name, add_position, new_item_name, item_type, num_scale, num_mode, file_name):
172 """
173 NUMERIC項目の追加(サポートなし)
174
175 Parameters
176 ----------
177 table_name : str
178 テーブル名
179 add_position : str
180 追加位置(項目名)
181 new_item_name : str
182 追加項目名
183 item_type : str
184 追加項目のデータ型(Numeric:NUMERIC)
185 num_scale : int
186 スケール(0~38)
187 num_mode : str
188 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
189 file_name : str
190 項目ファイル名(拡張子付き)空項目を追加する場合は空白
191
192 Returns
193 -------
194 ResultCode : int
195 結果コード(正:追加項目ID、負:エラーコード)
196 """
197 import AddRealItemNumericEx
198 serv = AddRealItemNumericEx.AddRealItemNumericEx()
199 serv.TableName = table_name
200 serv.AddPos = add_position
201 serv.NewFilterName = new_item_name
202 serv.FilterType = item_type
203 serv.NumScale = num_scale
204 serv.NumMode = num_mode
205 serv.FileName = file_name
206 serv.execDataService()
207 self.LastMessage = serv.ResultMessage
208 return serv.ResultCode
209
210 def append_row(self, table_name, row_count, start_row = 1):
211 """
212 行の追加
213
214 Parameters
215 ----------
216 table_name : str
217 テーブル名
218 row_count : int
219 追加行数
220 start_row : int, default 1
221 追加位置行
222
223 Returns
224 -------
225 ResultCode : int
226 結果コード(正:追加行数、負:エラーコード)
227
228 Examples
229 ----------
230 項目1の3行目に1行追加する
231
232 ====================================================
233 >>> dsx.get_rowcount(“practice1”,1)
234 5
235 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
236 [‘あ’,’い’,’う’,’え’,’お’]
237 >>>dsx.append_row(“practice1”,1,3)
238 1
239 >>> dsx.get_rowcount(“practice1”,1)
240 6
241 >>>dsx.get_cell(“practice1”,”項目1”,1,6,1)
242 [‘あ’,’い’,’う’,’’,’え’ ,’お’]
243 ====================================================
244
245 See Also
246 ----------
247 1.テーブルの行数取得(get_rowcount)で、行数が増えたことを確認できます
248 2.セルの値取得(get_cell)で、追加された行の位置を確認できます
249
250 """
251 import AppendRowEx
252 serv = AppendRowEx.AppendRowEx()
253 serv.TableName = table_name
254 serv.StartRow = start_row
255 serv.RowCount = row_count
256 serv.execDataService()
257 self.LastMessage = serv.ResultMessage
258 return serv.ResultCode
259
260 def calc(self, table_name, item_name, calc_string, row_count = -1, start_row = 1, setid = -1):
261 """
262 計算
263
264 Parameters
265 ----------
266 table_name : str
267 テーブル名
268 item_name : str
269 項目名
270 calc_string : str
271 計算式
272 row_count : int, default -1
273 行数(マイナス値は全行が対象)
274 start_row : int, default 1
275 計算開始行
276 setid : int, default -1
277 セットID(省略した場合はカレントセット)
278
279 Returns
280 -------
281 ResultCode : int
282 結果コード(0:成功、負:エラーコード)
283
284 Examples
285 ----------
286 項目1の整数全行に×1000をする
287
288 ===============================================================
289 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
290 [‘1’,’2’,’3’,’4’,’5’]
291 >>>dsx.calc(“practice1”,”項目1”,’*(@項目1,1000)’,-1,1,1)
292 0
293 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
294 [‘1000’,’2000’,’3000’,’4000’,’5000’]
295 ===============================================================
296
297 Notes
298 ----------
299 計算式のみシングルクォーテーションで括ります
300
301 See Also
302 ----------
303 1.セルの値取得(get_cell)で、計算結果を確認できます
304 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
305 3.計算の構文についてはクッキングマニュアルのp.35,36をご参照ください
306
307 Examples
308 ----------
309 項目1と項目2を文字列結合する
310
311 ========================================================================================================================================
312 >>> dsx.get_tuple("practice1",1,50,1)
313 [['SeqNo', 'RecNo', '項目1', '項目2'], ['1', '1', 'ア', 'カ'], ['2', '2', 'イ', 'キ'], ['3', '3', 'ウ', 'ク']]
314 >>> dsx.calc("practice1","項目1",'$&($@項目1,$@項目2)',-1,1,1)
315 0
316 >>> dsx.get_tuple("practice1",1,50,1)
317 [['SeqNo', 'RecNo', '項目1', '項目2'], ['1', '1', 'アカ', 'カ'], ['2', '2', 'イキ', 'キ'], ['3', '3', 'ウク', 'ク']]
318 ========================================================================================================================================
319
320 Notes
321 ----------
322 計算式のみシングルクォーテーションで括ります
323
324 See Also
325 ----------
326 1.テーブルデータ取得(get_tuple)で、文字列結合の結果を確認できます
327 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
328 3.計算の構文についてはクッキングマニュアルのp.35,36をご参照ください
329
330 """
331 import CalcEx
332 serv = CalcEx.CalcEx()
333 serv.TableName = table_name
334 serv.FilterName = item_name
335 serv.StartRow = start_row
336 serv.RowCount = row_count
337 serv.CalcStr = calc_string
338 serv.SetID = setid
339 serv.execDataService()
340 self.LastMessage = serv.ResultMessage
341 return serv.ResultCode
342
343 def catalog(self, table_name, file_name, catalog_name, mode = None):
344 """
345 カタログファイル(StructInfo.txt)に従ってインポート
346
347
348 使用上の注意
349 CSVファイルとカタログファイル(StructInfo.txt)の文字エンコードは、エンジンのDB文字コードの設定と一致させて下さい。
350
351 カタログファイルは下記の形式で指定して下さい。
352
353 ファイル形式指定(必須)
354 //CSV カンマ区切りファイル
355 //TAB タブ区切りファイル
356 //FIX 固定長データファイル
357
358 文字コード(任意:CSVファイルの文字エンコードがエンジンのDB文字コードと異なる場合に指定)
359 //SHIFT-JIS シフトJIS
360 //UTF-8 UTF-8
361 //MS932 MS932 (Windows 日本語)
362
363 オプション(任意:先頭の項目行を読み飛ばす場合に指定)
364 //CUTTOP
365
366 dataType [tab] dataSize [tab] itemName
367 dataType は次のいずれかを指定
368 I : 整数
369 F : 浮動小数
370 A : 文字列
371 D : 日付
372 T : 時刻
373 E : 日付時刻
374 dataSize はデータの長さを指定(固定長データファイルの場合のみ有効)
375 itemName は項目名を指定
376
377 カタログファイルの指定例
378 //CSV
379 //CUTTOP
380 A [tab] [tab] 氏名
381 I [tab] [tab] 年齢
382 F [tab] [tab] 身長
383 F [tab] [tab] 体重
384
385
386 Parameters
387 ----------
388 table_name : str
389 テーブル名を定義
390 file_name : str
391 インポートファイル名(拡張子付き)
392 catalog_name : str
393 カタログファイル名(拡張子付き StructInfo.txt)
394
395 Returns
396 -------
397 ResultCode : int
398 結果コード(正:テーブルID、負:エラーコード)
399 """
400 import CatalogEx
401 serv = CatalogEx.CatalogEx()
402 serv.TableName = table_name
403 serv.CatName = catalog_name
404 serv.SrcName = file_name
405 serv.Mode = mode #インポート処理モード(null:通常モード、"correct":エラー訂正モード)
406 serv.execDataService()
407 self.LastMessage = serv.ResultMessage
408 return serv.ResultCode
409
410 def read_csv(self, table_name, file_name):
411 """
412 CSVファイルのインポート
413
414
415 使用上の注意
416 1. CSVファイルの文字エンコードは、エンジンのDB文字コードの設定と一致させて下さい。
417 2. CSVファイルの先頭は項目行として、この行の内容で項目名を決定します。
418 3. CSVファイルの先頭数行の内容を調べて、各項目のデータタイプを決定します。
419 4. 期待通りのデータタイプでテーブルが作成されない場合、項目の型変換を行って下さい。または catalog でインポートして下さい。
420
421 Parameters
422 ----------
423 table_name : str
424 テーブル名を定義
425 file_name : str
426 インポートファイル名(拡張子付き)
427
428 Returns
429 -------
430 ResultCode : int
431 結果コード(正:テーブルID、負:エラーコード)
432 """
433 import ReadCsvEx
434 serv = ReadCsvEx.ReadCsvEx()
435 serv.TableName = table_name
436 serv.SrcName = file_name
437 serv.Mode = None #インポート処理モード(null:通常モード、"correct":エラー訂正モード)
438 serv.execDataService()
439 self.LastMessage = serv.ResultMessage
440 return serv.ResultCode
441
442 def categorize(self, table_name, item_name, category_table_name):
443 """
444 数値データのカテゴライズ
445
446 Parameters
447 ----------
448 table_name : str
449 テーブル名
450 item_name : str
451 項目名
452 category_table_name : str
453 カテゴリテーブル名(カテゴリテーブルの内容はクッキングマニュアルを参照)
454
455 Returns
456 -------
457 ResultCode : int
458 結果コード(正:作成した項目ID、負:エラーコード)
459
460 Examples
461 ----------
462 項目1をカテゴリーテーブルcategorize1によってカテゴライズする
463
464 =====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
465 ※事前に作成したカテゴリーテーブルcategorize1をロードしています
466 >>> dsx.get_tablelist()
467 ['practice1', 'categorize1']
468 >>> dsx.get_tuple("practice1",1,50,1)
469 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', '1', '11', '21'], ['2', '2', '2', '12', '22'], ['3', '3', '3', '13', '23'], ['4', '4', '4', '14', '24'], ['5', '5', '5', '15', '25'], ['6', '6', '6', '16', '26'], ['7', '7', '7', '17', '27'], ['8', '8', '8', '18', '28'], ['9', '9', '9', '19', '29'], ['10', '10', '10', '20', '30']]
470 >>> dsx.categorize("practice1","項目1","categorize1")
471 23
472 >>> dsx.get_tuple("practice1",1,50,1)
473 [['SeqNo', 'RecNo', '項目1', 'categorize1_項目1_', '項目2', '項目3'], ['1', '1', '1', '奇数A', '11', '21'], ['2', '2', '2', '偶数A', '12', '22'], ['3', '3', '3', '奇 数B', '13', '23'], ['4', '4', '4', '偶数B', '14', '24'], ['5', '5', '5', '奇数C', '15', '25'], ['6', '6', '6', '偶数C', '16', '26'], ['7', '7', '7', '奇数D', '17', '27'], ['8', '8', '8', '偶数D', '18', '28'], ['9', '9', '9', '奇数E', '19', '29'], ['10', '10', '10', '偶数E', '20', '30']]
474 =====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
475
476 See Also
477 ----------
478 1.テーブルデータ取得(get_tuple)で、カテゴライズを確認できます
479 2.数値カテゴライズおよびカテゴリ定義テーブルについては、クッキングマニュアルのp.75をご参照ください
480
481 """
482 import CategorizeEx
483 serv = CategorizeEx.CategorizeEx()
484 serv.TableName = table_name
485 serv.FilterName = item_name
486 serv.CatableName = category_table_name
487 serv.execDataService()
488 self.LastMessage = serv.ResultMessage
489 return serv.ResultCode
490
491 def clear_ws(self):
492 """
493 ワークスペースをクリア
494
495 Returns
496 -------
497 ResultCode : int
498 結果コード(0:成功、負:エラーコード)
499
500 Examples
501 ----------
502 ワークスペースをクリアする
503
504 ======================================
505 >>>dsx.get_tablelist()
506 [‘practice1’,’practice2’,’practice3’]
507 >>>dsx.clear_ws()
508 0
509 >>>dsx.get_tablelist()
510 >>>
511 =======================================
512
513 See Also
514 ----------
515 テーブル一覧取得(get_tablelist)で、ワークスペースをクリアしたことを確認できます
516
517 """
518 import ClearWSEx
519 serv = ClearWSEx.ClearWSEx()
520 serv.execDataService()
521 self.LastMessage = serv.ResultMessage
522 return serv.ResultCode
523
524 def comment(self, comment):
525 """
526 コメントと時刻を表示
527
528 Parameters
529 ----------
530 comment : str
531 任意の文字列、DATETIMEは日付時刻を表示
532
533 Returns
534 -------
535 ResultCode : int
536 結果コード(0:成功、負:エラーコード)
537 """
538 import CommentEx
539 serv = CommentEx.CommentEx()
540 serv.Commentout = comment
541 serv.execDataService()
542 self.LastMessage = serv.ResultMessage
543 return serv.ResultCode
544
545 def edit_comma(self, table_name, item_name, is_edit = 'Yes'):
546
547 """
548 カンマ編集
549
550 Parameters
551 ----------
552 table_name : str
553 テーブル名
554 item_name : str
555 項目名
556 is_edit : str, default 'Yes'
557 3桁区切りするか否か(Yes/No)
558
559 Returns
560 -------
561 ResultCode : int
562 結果コード(0:成功、負:エラーコード)
563
564 Examples
565 ----------
566 テーブルpractice1の項目1に3桁区切りでカンマをつける
567
568 ==================================================
569 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
570 [‘1000’,’2000’,’3000’,’4000’,’5000’]
571 >>> dsx.edit_comma(“practice1”,”項目1”,”Yes”)
572 0
573 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
574 [‘1,000’,’2,000’,’3,000’,’4,000’,’5,000’]
575 ==================================================
576
577 See Also
578 ----------
579 セルの値取得(get_cell)で、カンマがついていることを確認できます
580
581 """
582 import EditCommaEx
583 serv = EditCommaEx.EditCommaEx()
584 serv.TableName = table_name
585 serv.FilterName = item_name
586 serv.Edit = is_edit
587 serv.execDataService()
588 self.LastMessage = serv.ResultMessage
589 return serv.ResultCode
590
591 def compression(self, table_name):
592 """
593 テーブルの圧縮・最適化
594
595 Parameters
596 ----------
597 table_name : str
598 テーブル名
599
600 Returns
601 -------
602 ResultCode : int
603 結果コード(0:成功、負:エラーコード)
604
605 Examples
606 ----------
607 テーブルpractice1を圧縮する
608
609 ===================================
610 >>>dsx.get_memory(“practice1”)
611 17528
612 >>>dsx.compression(“practice1”)
613 0
614 >>>dsx.get_memory(“practice1”)
615 17408
616 ===================================
617
618 See Also
619 ----------
620 使用メモリサイズ取得(get_memory)で、使用メモリサイズを確認できます
621
622 """
623 import CompressionEx
624 serv = CompressionEx.CompressionEx()
625 serv.TableName = table_name
626 serv.execDataService()
627 self.LastMessage = serv.ResultMessage
628 return serv.ResultCode
629
630 def join(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_join_key, slave_join_key, is_in_out, is_transfer_item = 'No'):
631 """
632 JOINテーブルを作成
633
634 Parameters
635 ----------
636 table_name : str
637 JOINテーブル名
638 master_table_name : str
639 マスターテーブル名
640 slave_table_name : str
641 スレーブテーブル名
642 master_setid : int
643 マスターセットID
644 slave_setid : int
645 スレーブセットID
646 master_join_key : list
647 マスター側JOINキーリスト
648 slave_join_key : list
649 スレーブ側JOINキーリスト
650 is_in_out : str
651 Inner:内部JOIN、Outer:外部JOIN
652 is_transfer_item : str, default 'No'
653 Yes:項目転送あり、No:なし
654
655 Returns
656 -------
657 ResultCode : int
658 結果コード(正:JOINテーブルID、負:エラーコード)
659
660 Examples
661 ----------
662 テーブルpractice1とpractice2を内部結合(InnerJOIN)する
663
664 ===============================================================================================================================================================================================================================================
665 >>> dsx.join("join1","practice1","practice2",1,1,["項目1"],["項目1"],"Inner","No")
666 6
667 >>> dsx.get_tablelist()
668 ['practice1', 'practice2','join1']
669 >>> dsx.get_tuple("join1",1,50,1)
670 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3', '項目1_#1', '項目2_#1', '項目3_#1'], ['1', '1', 'あ', 'か', 'さ', 'ア', 'カ', 'サ'], ['2', '2', 'い', 'き', 'し','イ', 'キ', 'シ'], ['3', '3', 'う', 'く', 'す', 'ウ', 'ク', 'ス']]
671 ===============================================================================================================================================================================================================================================
672
673 See Also
674 ----------
675 1.テーブル一覧取得(get_tablelist)で、JOINテーブルが追加されたことを確認できます
676 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
677
678 """
679 import JoinEx
680 serv = JoinEx.JoinEx()
681 serv.JtableName = table_name
682 serv.MtableName = master_table_name
683 serv.StableName = slave_table_name
684 serv.MsetID = master_setid
685 serv.SsetID = slave_setid
686 serv.MJoinKey = master_join_key
687 serv.SJoinKey = slave_join_key
688 serv.IsInOrOut = is_in_out
689 serv.IsStarJoin = is_transfer_item
690 serv.execDataService()
691 self.LastMessage = serv.ResultMessage
692 return serv.ResultCode
693
694 def create_table(self, row_count, table_name):
695 """
696 新規テーブルを作成
697
698 Parameters
699 ----------
700 row_count : int
701 行数
702 table_name : str
703 テーブル名
704
705 Returns
706 -------
707 ResultCode : int
708 結果コード(正:テーブルID、負:エラーコード)
709
710 Examples
711 ----------
712 5行のテーブル、practice1を作成する
713
714 ========================================
715 >>>dsx.create_table(5,”practice1”)
716 2
717 >>>dsx.get_tablelist()
718 [‘practice1’]
719 >>>dsx.get_rowcount(“practice1”,1)
720 5
721 ========================================
722
723 See Also
724 ----------
725 1.テーブル一覧取得(get_tablelist)で、テーブルが追加されたことを確認できます
726 2.テーブルの行数取得(get_rowcount)で、追加したテーブルの行数を確認できます
727
728 """
729 import CreateTableEx
730 serv = CreateTableEx.CreateTableEx()
731 serv.RowCount = row_count
732 serv.TableName = table_name
733 serv.execDataService()
734 self.LastMessage = serv.ResultMessage
735 return serv.ResultCode
736
737 def db_codeset(self, db_codeset):
738 """
739 DB文字コードの設定
740
741 Parameters
742 ----------
743 db_codeset : str
744 DB文字コード(UTF-8 または Shift_JIS)
745
746 Returns
747 -------
748 ResultCode : int
749 結果コード(0:成功、負:エラーコード)
750
751 Examples
752 ----------
753 1.文字コードをUTF-8にする
754
755 =========================
756 >>>dsx.db_codeset(“UTF8”)
757 0
758 =========================
759
760 2. 文字コードをSJISにする
761
762 ==============================
763 >>>dsx.db_codeset(“Shift_JIS”)
764 0
765 ==============================
766
767 """
768 import DBCodeSetEx
769 serv = DBCodeSetEx.DBCodeSetEx()
770 serv.DbCode = db_code
771 serv.execDataService()
772 self.LastMessage = serv.ResultMessage
773 return serv.ResultCode
774
775 def db_load(self, file_name):
776 """
777 ワークスペース(D5Dファイル)ロード
778
779 Parameters
780 ----------
781 file_name : str
782 ワークスペースファイル名
783
784 Returns
785 -------
786 ResultCode : int
787 結果コード(0:成功、負:エラーコード)
788
789 Examples
790 ----------
791 ==================================================================
792 >>>dsx.db_load("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
793 0
794 ==================================================================
795
796 See Also
797 ----------
798 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
799
800 """
801 import DBLoadEx
802 serv = DBLoadEx.DBLoadEx()
803 serv.WorkSpace = file_name
804 serv.execDataService()
805 self.LastMessage = serv.ResultMessage
806 return serv.ResultCode
807
808 def db_save(self, file_name):
809 """
810 ワークスペース(D5Dファイル)保存
811
812 Parameters
813 ----------
814 file_name : str
815 ワークスペースファイル名
816
817 Returns
818 -------
819 ResultCode : int
820 結果コード(0:成功、負:エラーコード)
821
822 Examples
823 ----------
824 =====================================================================
825 >>>dsx.db_save("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
826 0
827 =====================================================================
828
829 See Also
830 ----------
831 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
832
833 """
834 import DBSaveEx
835 serv = DBSaveEx.DBSaveEx()
836 serv.WorkSpace = file_name
837 serv.execDataService()
838 self.LastMessage = serv.ResultMessage
839 return serv.ResultCode
840
841 def delete_allset(self, table_name):
842 """
843 すべてのセット(サブテーブル)の削除
844
845 Parameters
846 ----------
847 table_name : str
848 テーブル名
849
850 Returns
851 -------
852 ResultCode : int
853 結果コード(0:成功、負:エラーコード)
854
855 Examples
856 ----------
857 テーブルpractice1のサブテーブルを全て削除する
858
859 ================================================================================================
860 >>>dsx.get_setid_list("practice1")
861 [[1, ''], [2, 'Search Set:1 [項目1]=あ'], [3, "SearchStrExp Set:1 項目1='あ' ..."]]
862 >>>dsx.delete_allset("practice1")
863 0
864 >>>dsx.get_setid_list("practice1")
865 [[1, '']]
866 ================================================================================================
867
868 See Also
869 ----------
870 セットID一覧取得(get_setid_list)で、サブテーブルが削除されたことを確認できます
871
872 """
873 import DeleteAllSetEx
874 serv = DeleteAllSetEx.DeleteAllSetEx()
875 serv.TableName = table_name
876 serv.execDataService()
877 self.LastMessage = serv.ResultMessage
878 return serv.ResultCode
879
880 def delete_resultset(self, table_name, setid):
881 """
882 検索リザルトセット(サブテーブル)の削除
883
884 Parameters
885 ----------
886 table_name : str
887 テーブル名
888 setid : int
889 削除セットID
890
891 Returns
892 -------
893 ResultCode : int
894 結果コード(0:成功、負:エラーコード)
895
896 Examples
897 ----------
898 テーブルpractice1の検索リザルトセットを削除する
899
900 ====================================================================================
901 >>>dsx.get_setid_list("practice1")
902 [[1, ''], [2, 'Search Set:1 [項目1]=あ'], [3, "SearchStrExp Set:1 項目1='あ' ..."]]
903 >>>dsx.delete_resultset("practice1",3)
904 0
905 >>>dsx.get_setid_list("practice1")
906 [[1, ''], [2, 'Search Set:1 [項目1]=あ']]
907 =====================================================================================
908
909 See Also
910 ----------
911 1.セットID一覧取得(get_setid_list)で、セットが削除されたことを確認できます
912 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
913
914 """
915 import DeleteResultSetEx
916 serv = DeleteResultSetEx.DeleteResultSetEx()
917 serv.TableName = table_name
918 serv.SetID = setid
919 serv.execDataService()
920 self.LastMessage = serv.ResultMessage
921 return serv.ResultCode
922
923 def delete_row(self, table_name, start_row, row_count, setid = -1):
924 """
925 行の削除
926
927 Parameters
928 ----------
929 table_name : str
930 テーブル名
931 start_row : int
932 削除開始行
933 row_count : int
934 削除行数(マイナス値は全行が対象)
935 setid : int, default -1
936 セットID(省略した場合はカレントセット)
937
938 Returns
939 -------
940 ResultCode : int
941 結果コード(正:削除行数、負:エラーコード)
942
943 Examples
944 ----------
945 テーブルpractice1の3行目を削除する
946
947 ==============================================================
948 >>>dsx.get_rowcount(“practice1”,1)
949 10
950 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
951 [’あ’,’い’,’う’,’え’,’お’]
952 >>>dsx.delete_row(“practice1”,3,1,1)
953 1
954 >>>dsx.get_rowcount(“practice1”,1)
955 9
956 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
957 [’あ’,’い’,’え’,’お’,’か’]
958 ==============================================================
959
960 See Also
961 ----------
962 1.テーブル行数取得(get_rowcount)で、行数の増減を確認できます
963 2.セルの値取得(get_cell)で、行が削除されたことを確認できます
964 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
965
966 """
967 import DeleteRowEx
968 serv = DeleteRowEx.DeleteRowEx()
969 serv.TableName = table_name
970 serv.StartRow = start_row
971 serv.RowCount = row_count
972 serv.SetID = setid
973 serv.execDataService()
974 self.LastMessage = serv.ResultMessage
975 return serv.ResultCode
976
977 def delete_item(self, table_name, item_name):
978 """
979 項目の削除
980
981 Parameters
982 ----------
983 table_name : str
984 テーブル名
985 item_name : str
986 項目名
987
988 Returns
989 -------
990 ResultCode : int
991 結果コード(0:成功、負:エラーコード)
992
993 Examples
994 ----------
995 項目1を削除する
996
997 ===========================================================
998 >>>dsx.get_itemlist(“practice1”)
999 [‘項目1’,’項目2’,’項目3’]
1000 >>>dsx.delete_item(“practice1”,”項目1”)
1001 0
1002 >>>dsx.get_itemlist(“practice1”)
1003 [’項目2’,’項目3’]
1004 ===========================================================
1005
1006 See Also
1007 ----------
1008 項目一覧取得(get_itemlist)で、項目が削除されたことを確認できます
1009
1010 """
1011 import DeleteItemEx
1012 serv = DeleteItemEx.DeleteItemEx()
1013 serv.TableName = table_name
1014 serv.FilterName = item_name
1015 serv.execDataService()
1016 self.LastMessage = serv.ResultMessage
1017 return serv.ResultCode
1018
1019 def delete_table(self, table_name):
1020 """
1021 テーブルをワークスペースから削除
1022
1023 Parameters
1024 ----------
1025 table_name : str
1026 テーブル名
1027
1028 Returns
1029 -------
1030 ResultCode : int
1031 結果コード(0:成功、負:エラーコード)
1032
1033 Examples
1034 ----------
1035 テーブルpractice1を削除する
1036
1037 =======================================================
1038 >>> dsx.get_tablelist()
1039 [‘practice1’,’practice2’]
1040 >>> dsx.delete_table(“practice1”)
1041 0
1042 >>> dsx.get_tablelist()
1043 [’practice2’]
1044 =======================================================
1045
1046 See Also
1047 ----------
1048 テーブル一覧取得(get_tablelist)で、テーブルが削除されたことを確認できます
1049
1050 """
1051 import DeleteTableEx
1052 serv = DeleteTableEx.DeleteTableEx()
1053 serv.TableName = table_name
1054 serv.execDataService()
1055 self.LastMessage = serv.ResultMessage
1056 return serv.ResultCode
1057
1058 def duplicate_table(self, table_name):
1059 """
1060 テーブルの複製
1061
1062 Parameters
1063 ----------
1064 table_name : str
1065 テーブル名
1066
1067 Returns
1068 -------
1069 ResultCode : int
1070 結果コード(正:複製されたテーブルID、負:エラーコード)
1071
1072 Examples
1073 ----------
1074 テーブルpractice1を複製する
1075
1076 ==========================================================
1077 >>> dsx.get_tablelist()
1078 [‘practice1’]
1079 >>> dsx.duplicate_table(“practice1”)
1080 4
1081 >>> dsx.get_tablelist()
1082 [‘practice1’,’practice1_#1’]
1083 ==========================================================
1084
1085 See Also
1086 ----------
1087 テーブル一覧取得(get_tablelist)で、複製されたテーブルを確認できます
1088
1089 """
1090 import DuplicateTableEx
1091 serv = DuplicateTableEx.DuplicateTableEx()
1092 serv.TableName = table_name
1093 serv.execDataService()
1094 self.LastMessage = serv.ResultMessage
1095 return serv.ResultCode
1096
1097 def duplicate_item(self, table_name, item_name):
1098 """
1099 項目の複製
1100
1101 Parameters
1102 ----------
1103 table_name : str
1104 テーブル名
1105 item_name : str
1106 項目名
1107
1108 Returns
1109 -------
1110 ResultCode : int
1111 結果コード(正:複製された項目ID、負:エラーコード)
1112
1113 Examples
1114 ----------
1115 項目1を複製する
1116
1117 ===============================================================
1118 >>> dsx.get_itemlist(“practice1”)
1119 [‘項目1’,’項目2’]
1120 >>> dsx.duplicate_item(“practice1”,”項目1”)
1121 23
1122 >>> dsx.get_itemlist(“practice1”)
1123 [‘項目1’, ‘項目1_#1’,’項目2’]
1124 ================================================================
1125
1126 See Also
1127 ----------
1128 項目一覧取得(get_itemlist)で、項目1が複製され項目1_#1が追加されたことを確認できます
1129
1130 """
1131 import DuplicateItemEx
1132 serv = DuplicateItemEx.DuplicateItemEx()
1133 serv.TableName = table_name
1134 serv.FilterName = item_name
1135 serv.execDataService()
1136 self.LastMessage = serv.ResultMessage
1137 return serv.ResultCode
1138
1139 def extract_set(self, table_name, setid, is_view_table_id = 'Yes', is_record_number = 'Yes', item_name_list = '*', new_table_name = None):
1140 """
1141 サブテーブル(セット)を実テーブルに抽出
1142
1143 Parameters
1144 ----------
1145 table_name : str
1146 テーブル名
1147 setid : int
1148 セットID
1149 is_view_table_id : str, default 'Yes'
1150 Yes:テーブルIDを表示する、No:表示しない
1151 is_record_number : str, default 'Yes'
1152 Yes:RecNoを出力する、N0:出力しない
1153 item_name_list : list, default '*'
1154 抽出項目名リスト("*"は全項目が対象)
1155 new_table_name : str, default None
1156 抽出後のテーブル名(省略可)
1157
1158 Returns
1159 -------
1160 ResultCode : int
1161 結果コード(正:生成されたテーブルID、負:エラーコード)
1162
1163 Examples
1164 ----------
1165 テーブルpractice1のサブテーブル(値リスト検索結果)を実テーブルに抽出する
1166
1167 ==========================================================================
1168 >>> dsx.get_tablelist()
1169 ['practice1']
1170 >>> dsx.get_setid_list("practice1")
1171 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']]
1172 >>> dsx.extract_set("practice2",2,"No","Yes",["項目1"],"set1")
1173 5
1174 >>> dsx.get_tablelist()
1175 ['practice1','set1']
1176 ==========================================================================
1177
1178 See Also
1179 ----------
1180 1.テーブル一覧取得(get_tablelist)で、実テーブルに抽出したことを確認できます
1181 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1182
1183 """
1184 import ExtractSetEx
1185 serv = ExtractSetEx.ExtractSetEx()
1186 serv.TableName = table_name
1187 serv.SetID = setid
1188 serv.TableIDAns = is_view_table_id
1189 serv.RecNoAns = is_record_number
1190 serv.FilterNameList = item_name_list
1191 serv.NewtableName = new_table_name
1192 serv.execDataService()
1193 self.LastMessage = serv.ResultMessage
1194 return serv.ResultCode
1195
1196 def extract_unique(self, table_name, setid, item_name_list = '*', is_keep_order = 'Yes'):
1197 """
1198 ユニーク行の抽出
1199
1200 Parameters
1201 ----------
1202 table_name : str
1203 テーブル名
1204 setid : int
1205 セットID
1206 item_name_list : list, default '*'
1207 抽出項目名リスト("*"は全項目が対象)
1208 is_keep_order : str, default 'Yes'
1209 Yes:元の順序を保つ、No:保たない
1210
1211 Returns
1212 -------
1213 ResultCode : int
1214 結果コード(正:生成されたセットID、負:エラーコード)
1215
1216 Examples
1217 ----------
1218 項目1のユニーク行を抽出する
1219
1220 ===================================================================================================================================================================================================================================
1221 >>> dsx.get_tuple("practice1",1,20,1)
1222 [['SeqNo', 'RecNo', '項目1'], ['1', '1', 'あ'], ['2', '2', 'あ'], ['3', '3', 'い'], ['4', '4', 'う'], ['5', '5', 'う'], ['6', '6', 'え'], ['7', '7', 'え'], ['8', '8', 'お'], ['9', '9', 'お'], ['10', '10', 'お']]
1223 >>>dsx.extract_unique(“practice1”,1,[“項目1”],”Yes”)
1224 2
1225 >>> dsx.get_tuple("practice1",1,20,2)
1226 [['SeqNo', 'RecNo', '項目1'], ['1', '1', 'あ'], ['2', '3', 'い'], ['3', '4', 'う'], ['4', '6', 'え'], ['5', '8', 'お']]
1227 ===================================================================================================================================================================================================================================
1228
1229 Notes
1230 ----------
1231 ユニーク行を抽出した際に生成されたセットIDが2なので、結果確認のテーブルデータ取得では引数(セットID)が2となります
1232 See Also
1233 ----------
1234 1.テーブルデータ取得(get_tuple)で、ユニーク行を抽出したことを確認できます
1235 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1236
1237 """
1238 import ExtractUniqueEx
1239 serv = ExtractUniqueEx.ExtractUniqueEx()
1240 serv.TableName = table_name
1241 serv.SetID = setid
1242 serv.FilterNameList = item_name_list
1243 serv.CnsvOdrAns = is_keep_order
1244 serv.execDataService()
1245 self.LastMessage = serv.ResultMessage
1246 return serv.ResultCode
1247
1248 def fill_cell(self, table_name, item_name, set_string, start_row = 1, row_count = -1, setid = -1):
1249 """
1250 セルに値を入力
1251
1252 Parameters
1253 ----------
1254 table_name : str
1255 テーブル名
1256 item_name : str
1257 項目名
1258 set_string : str
1259 入力文字列
1260 start_row : int, default 1
1261 開始行
1262 row_count : int, default -1
1263 行数(マイナス値は全行が対象)
1264 setid : int, default -1
1265 セットID(省略した場合はカレントセット)
1266
1267 Returns
1268 -------
1269 ResultCode : int
1270 結果コード(正:データ数、負:エラーコード)
1271
1272 Examples
1273 ----------
1274 項目1の値を全て”あ”にする
1275
1276 ===========================================================================
1277 >>> dsx.fill_cell(“practice1”,”項目1”,”あ”,1,-1,1)
1278 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1279 [‘あ’,’あ’,’あ’,’あ’,’あ’]
1280 ===========================================================================
1281
1282 See Also
1283 ----------
1284 1.セルの値取得(get_cell)で、入力結果を確認できます
1285 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1286 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
1287
1288 """
1289 import FillCellEx
1290 serv = FillCellEx.FillCellEx()
1291 serv.TableName = table_name
1292 serv.FilterName = item_name
1293 serv.StartRow = start_row
1294 serv.RowCount = row_count
1295 serv.FillStr = set_string
1296 serv.SetID = setid
1297 serv.execDataService()
1298 self.LastMessage = serv.ResultMessage
1299 return serv.ResultCode
1300
1301 def sort_item(self, table_name, sort_key):
1302 """
1303 項目の並び順をソート
1304
1305 Parameters
1306 ----------
1307 table_name : str
1308 テーブル名
1309 sort_key : str
1310 ソートキー(ID、TYPE、NAME)
1311
1312 Returns
1313 -------
1314 ResultCode : int
1315 結果コード(0:成功、負:エラーコード)
1316
1317 Examples
1318 ----------
1319 項目の並びを名前順にする
1320
1321 ===========================================================
1322 >>> dsx.get_itemlist(“practice1”)
1323 [‘項目2’,’項目3’,’項目1’]
1324 >>> dsx.sort_item(“practice1”,”NAME”)
1325 0
1326 >>> dsx.get_itemlist(“practice1”)
1327 [‘項目1’,’項目2’,’項目3’]
1328 ============================================================
1329
1330 See Also
1331 ----------
1332 項目一覧取得(get_itemlist)で、ソート結果を確認できます
1333
1334 """
1335 import SortItemEx
1336 serv = SortItemEx.SortItemEx()
1337 serv.TableName = table_name
1338 serv.SortKey = sort_key
1339 serv.execDataService()
1340 self.LastMessage = serv.ResultMessage
1341 return serv.ResultCode
1342
1343 def transfer_item(self, table_name, item_name):
1344 """
1345 項目転送
1346
1347 Parameters
1348 ----------
1349 table_name : str
1350 転送元JOINテーブル名
1351 item_name : str
1352 項目名
1353
1354 Returns
1355 -------
1356 ResultCode : int
1357 結果コード(正:追加作成された項目ID、負:エラーコード)
1358
1359 Examples
1360 ----------
1361 テーブルpractice1とpractice2を内部結合(InnerJOIN)した後、項目1を転送する
1362
1363 =================================================================================================================================================================================================
1364 >>> dsx.join("join1","practice1","practice2",1,1,["項目1"],["項目1"],"Inner","No")
1365 3
1366 >>> dsx.get_tuple("practice1",1,20,1)
1367 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
1368 >>> dsx.transfer_item("join1","項目1")
1369 12
1370 >>> dsx.get_tuple("practice3",1,20,1)
1371 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3', '項目1_#1'], ['1', '1', 'あ', 'か', 'さ', 'ア'], ['2', '2', 'い', 'き', 'し', 'イ'], ['3', '3', 'う', 'く', 'す', 'ウ']]
1372 =================================================================================================================================================================================================
1373
1374 See Also
1375 ----------
1376 テーブルデータ取得(get_tuple)で、転送した項目を確認できます
1377
1378 """
1379 import TransferItemEx
1380 serv = TransferItemEx.TransferItemEx()
1381 serv.TableName = table_name
1382 serv.FilterName = item_name
1383 serv.execDataService()
1384 self.LastMessage = serv.ResultMessage
1385 return serv.ResultCode
1386
1387 def float_format(self, table_name, item_name, digit):
1388 """
1389 浮動小数データの小数点以下桁数を設定
1390
1391 Parameters
1392 ----------
1393 table_name : str
1394 テーブル名
1395 item_name : str
1396 項目名
1397 digit : int
1398 桁数 0~15
1399
1400 Returns
1401 -------
1402 ResultCode : int
1403 結果コード(0:成功、負:エラーコード)
1404
1405 Examples
1406 ----------
1407 浮動小数型の項目1の小数点以下を1桁にする
1408
1409 ========================================================================
1410 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1411 [‘1.000’,’2.000’,’3.000’,’4.000’,’5.000’]
1412 >>> dsx.float_format(“practice1”,”項目1”,1)
1413 0
1414 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1415 [‘1.0’,’2.0’,’3.0’,’4.0’,’5.0’]
1416 ========================================================================
1417
1418 See Also
1419 ----------
1420 セルの値取得(get_cell)で、小数点以下の桁数を確認できます
1421
1422 """
1423 import FloatFormatEx
1424 serv = FloatFormatEx.FloatFormatEx()
1425 serv.TableName = table_name
1426 serv.FilterName = item_name
1427 serv.Digit = digit
1428 serv.execDataService()
1429 self.LastMessage = serv.ResultMessage
1430 return serv.ResultCode
1431
1432 def get_cell(self, table_name, item_name, start_row = 1, row_count = 1, setid = -1):
1433 """
1434 セルの値取得
1435
1436 Parameters
1437 ----------
1438 table_name : str
1439 テーブル名
1440 item_name : str
1441 項目名
1442 start_row : int, default 1
1443 開始行
1444 row_count : int, default 1
1445 行数
1446 setid : int, default -1
1447 セットID(省略した場合はカレントセット)
1448
1449 Returns
1450 -------
1451 ResultList : list
1452 セル値リスト(文字列)
1453
1454 Examples
1455 ----------
1456 項目1の先頭から5行分のセルの値を取得する
1457
1458 ======================================================================
1459 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1460 [‘1000’,’2000’,’3000’,’4000’,’5000’]
1461 ======================================================================
1462
1463 See Also
1464 ----------
1465 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1466
1467 """
1468 import GetCellEx
1469 serv = GetCellEx.GetCellEx()
1470 serv.TableName = table_name
1471 serv.FilterName = item_name
1472 serv.StartRow = start_row
1473 serv.RowCount = row_count
1474 serv.SetID = setid
1475 serv.execDataService()
1476 self.LastMessage = serv.ResultMessage
1477 return serv.ResultList
1478
1479 def get_tuple_asjson(self, table_name, start_row = 1, fetch_size = 128, setid = -1):
1480 """
1481 テーブルデータをJSON形式で取得
1482
1483 Parameters
1484 ----------
1485 table_name : str
1486 テーブル名
1487 start_row : int, default 1
1488 取得開始行
1489 fetch_size : int, default 128
1490 取得行数(省略した場合はデフォルト値)
1491 setid : int, default -1
1492 セットID(省略した場合はカレントセット)
1493
1494 Returns
1495 -------
1496 ResultList : list
1497 文字列に変換したJSON配列データ
1498
1499 Examples
1500 ----------
1501 テーブルpractice1をJSON形式で取得する
1502
1503 =============================================================================================================================================================================================================================================================================================================================================================================================================
1504 >>> dsx.get_tuple_asjson("practice1",1,10,1)
1505 [{'SeqNo': '1', 'RecNo': '1', '項目1: '', '項目2': '', '項目3': '' }, {'SeqNo': '2', 'RecNo': '2', ' 項目1': '', '項目2': '', '項目3': ''}, {'SeqNo': '3', 'RecNo': '3', '項目1': '', '項目2': '', '項目3': '' }, {'SeqNo': '4', 'RecNo': '4', '項目1': '', '項目2': '', '項目3': ''}, {'SeqNo': '5', 'RecNo': '5', '項目1': '', '項目2': '', '項目3': ''}]
1506 =============================================================================================================================================================================================================================================================================================================================================================================================================
1507
1508 See Also
1509 ----------
1510 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1511
1512 """
1513 import GetTupleEx
1514 serv = GetTupleEx.GetTupleEx()
1515 serv.TableName = table_name
1516 serv.StartRow = start_row
1517 serv.FetchSize = fetch_size
1518 serv.SetID = setid
1519 serv.Json = 1
1520 serv.execDataService()
1521 self.LastMessage = serv.ResultMessage
1522 return serv.ResultList
1523
1524 def get_tuple(self, table_name, start_row = 1, fetch_size = 128, setid = -1):
1525 """
1526 テーブルデータ取得
1527
1528 Parameters
1529 ----------
1530 table_name : str
1531 テーブル名
1532 start_row : int, default 1
1533 取得開始行
1534 fetch_size : int, default 128
1535 取得行数(省略した場合はデフォルト値)
1536 setid : int, default -1
1537 セットID(省略した場合はカレントセット)
1538
1539 Returns
1540 -------
1541 ResultList : list
1542 文字列に変換した行配列データ(先頭行はカラム名配列)
1543
1544 Examples
1545 ----------
1546 テーブルpractice1のテーブルデータを取得する
1547
1548 ===================================================================================================================================================================================================================================
1549 >>> dsx.get_tuple("practice1",1,30,1)
1550 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', ' く', 'す'], ['4', '4', 'え', 'け', 'せ'], ['5', '5', 'お', 'こ', 'そ']]
1551 ===================================================================================================================================================================================================================================
1552
1553 Notes
1554 ----------
1555 1つ目のリスト[SeqNo, RecNo,項目1,項目2,項目3]は列名(項目名)、2つ目以降のリスト内の値は列(項目)の順になっています
1556
1557 See Also
1558 ----------
1559 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1560
1561 """
1562 import GetTupleEx
1563 serv = GetTupleEx.GetTupleEx()
1564 serv.TableName = table_name
1565 serv.StartRow = start_row
1566 serv.FetchSize = fetch_size
1567 serv.SetID = setid
1568 serv.Json = 0
1569 serv.execDataService()
1570 self.LastMessage = serv.ResultMessage
1571 return serv.ResultList
1572
1573 def __get_fatalerror(self):
1574 """
1575 実行不能エラー発生時の制御フラグ取得
1576
1577 Returns
1578 -------
1579 GetFatalError : bool
1580 実行不能エラーが発生フラグ
1581 """
1582 import DataServiceCtl2
1583 serv = DataServiceCtl2.DataServiceCtl2()
1584 return serv.GetFatalError()
1585
1586 def __get_fatalerror_logname(self):
1587 """
1588 実行ログファイル名取得
1589
1590 Returns
1591 -------
1592 GetFatalErrorLogName : str
1593 実行ログファイル名
1594 """
1595 import DataServiceCtl2
1596 serv = DataServiceCtl2.DataServiceCtl2()
1597 return serv.GetFatalErrorLogName()
1598
1599 def get_itemlist(self, table_name):
1600 """
1601 項目一覧取得
1602
1603 Parameters
1604 ----------
1605 table_name : str
1606 テーブル名
1607
1608 Returns
1609 -------
1610 ResultList : list
1611 項目名リスト
1612
1613 Examples
1614 ----------
1615 テーブルpractice1の項目一覧を取得する
1616
1617 ==============================================================
1618 >>> dsx.get_itemlist(“practice1”)
1619 [‘項目1’]
1620 ==============================================================
1621
1622 """
1623 import GetItemListEx
1624 serv = GetItemListEx.GetItemListEx()
1625 serv.TableName = table_name
1626 serv.execDataService()
1627 self.LastMessage = serv.ResultMessage
1628 return serv.ResultList
1629
1631 """
1632 ライセンス有効期限取得
1633
1634 Returns
1635 -------
1636 ResultStr : str
1637 日付文字列
1638 """
1639 import GetLicenseExpirationEx
1640 serv = GetLicenseExpirationEx.GetLicenseExpirationEx()
1641 serv.execDataService()
1642 self.LastMessage = serv.ResultMessage
1643 return serv.ResultStr
1644
1645 def get_limit_cpu(self):
1646 """
1647 使用可能CPU数(ライセンス情報)取得
1648
1649 Returns
1650 -------
1651 ResultLong : int
1652 CPU数
1653 """
1654 import GetLimitCPUEx
1655 serv = GetLimitCPUEx.GetLimitCPUEx()
1656 serv.execDataService()
1657 self.LastMessage = serv.ResultMessage
1658 return serv.ResultLong
1659
1660 def get_memory(self, table_name):
1661 """
1662 テーブルの使用メモリサイズ取得
1663
1664 Parameters
1665 ----------
1666 table_name : str
1667 テーブル名
1668
1669 Returns
1670 -------
1671 ResultLong : long
1672 メモリサイズ
1673
1674 Examples
1675 ----------
1676 テーブルpractice1の使用メモリサイズを取得する
1677
1678 ==============================================================
1679 >>> dsx.get_memory(“practice1”)
1680 16444
1681 ==============================================================
1682
1683 """
1684 import GetMemoryEx
1685 serv = GetMemoryEx.GetMemoryEx()
1686 serv.TableName = table_name
1687 serv.execDataService()
1688 self.LastMessage = serv.ResultMessage
1689 return serv.ResultLong
1690
1692 """
1693 使用可能メモリサイズ(ライセンス情報)取得
1694
1695 Returns
1696 -------
1697 ResultLong : long
1698 メモリサイズ
1699 """
1700 import GetLimitMemoryEx
1701 serv = GetLimitMemoryEx.GetLimitMemoryEx()
1702 serv.execDataService()
1703 self.LastMessage = serv.ResultMessage
1704 return serv.ResultLong
1705
1706 def get_limit_row(self):
1707 """
1708 最大行数(ライセンス情報)取得
1709
1710 Returns
1711 -------
1712 ResultLong : long
1713 行数
1714 """
1715 import GetLimitRowEx
1716 serv = GetLimitRowEx.GetLimitRowEx()
1717 serv.execDataService()
1718 self.LastMessage = serv.ResultMessage
1719 return serv.ResultLong
1720
1721 def get_setid_list(self, table_name):
1722 """
1723 セットID一覧取得
1724
1725 Parameters
1726 ----------
1727 table_name : str
1728 テーブル名
1729
1730 Returns
1731 -------
1732 ResultIntList : list
1733 セットリスト [ID, アトリビュート]
1734 """
1735 import GetSetIDListEx
1736 serv = GetSetIDListEx.GetSetIDListEx()
1737 serv.TableName = table_name
1738 serv.execDataService()
1739 self.LastMessage = serv.ResultMessage
1740 return serv.ResultIntList
1741
1742 def get_rowcount(self, table_name, setid = -1):
1743 """
1744 テーブルの行数取得
1745
1746 Parameters
1747 ----------
1748 table_name : str
1749 テーブル名
1750 setid : int, default -1
1751 セットID(省略した場合はカレントセット)
1752
1753 Returns
1754 -------
1755 ResultCode : int
1756 結果コード(正:セットの行数、負:エラーコード)
1757
1758 Examples
1759 ----------
1760 テーブルpractice1の行数を取得する
1761
1762 ================================================================
1763 >>> dsx.get_rowcount(“practice1”,1)
1764 5
1765 ================================================================
1766
1767 See Also
1768 ----------
1769 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1770
1771 """
1772 import GetRowCountEx
1773 serv = GetRowCountEx.GetRowCountEx()
1774 serv.TableName = table_name
1775 serv.SetID = setid
1776 serv.execDataService()
1777 self.LastMessage = serv.ResultMessage
1778 return serv.ResultCode
1779
1780 def get_tablelist(self):
1781 """
1782 テーブル一覧取得
1783
1784 Returns
1785 -------
1786 ResultList : list
1787 テーブル名リスト
1788
1789 Examples
1790 ----------
1791 チューボーにあるテーブル一覧を取得する
1792
1793 ======================================================
1794 >>> dsx.get_tablelist()
1795 [‘practice1’]
1796 ======================================================
1797
1798 """
1799 import GetTableListEx
1800 serv = GetTableListEx.GetTableListEx()
1801 serv.execDataService()
1802 self.LastMessage = serv.ResultMessage
1803 return serv.ResultList
1804
1805 def get_tablename(self, tableid):
1806 """
1807 テーブル名取得
1808
1809 Parameters
1810 ----------
1811 tableid : int
1812 テーブルID
1813
1814 Returns
1815 -------
1816 ResultStr : str
1817 テーブル名
1818
1819 Examples
1820 ----------
1821 テーブルID1~3のテーブル名を取得する
1822
1823 ==============================================================
1824 >>>dsx.get_tablelist()
1825 ['practice1', 'practice2', 'practice3']
1826 >>> dsx.get_tablename(1)
1827 'practice1'
1828 >>> dsx.get_tablename(2)
1829 'practice2'
1830 >>> dsx.get_tablename(3)
1831 'practice3'
1832 ===============================================================
1833
1834 Notes
1835 ----------
1836 テーブルIDは自動的にロードした順でつけられます
1837
1838 See Also
1839 ----------
1840 テーブル一覧取得(get_tablelist)で全てのテーブルを確認できます
1841
1842 """
1843 import GetTableNameEx
1844 serv = GetTableNameEx.GetTableNameEx()
1845 serv.TableID = tableid
1846 serv.execDataService()
1847 self.LastMessage = serv.ResultMessage
1848 return serv.ResultStr
1849
1850 def get_valuelist(self, table_name, setid, item_name):
1851 """
1852 値リスト取得
1853
1854 Parameters
1855 ----------
1856 table_name : str
1857 テーブル名
1858 setid : int
1859 セットID
1860 item_name : str
1861 項目名
1862
1863 Returns
1864 -------
1865 ResultList : list
1866 値リスト(最大5,000行、5,000行を超えた場合は後を切り捨て)
1867
1868 Examples
1869 ----------
1870 項目1の値リストを取得する
1871
1872 ===============================================================
1873 >>> dsx.get_valuelist("practice1",1,"項目1")
1874 ['', 'あ', 'い', 'う', 'え', 'お']
1875 ===============================================================
1876
1877 See Also
1878 ----------
1879 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1880
1881 """
1882 import GetValueListEx
1883 serv = GetValueListEx.GetValueListEx()
1884 serv.TableName = table_name
1885 serv.SetID = setid
1886 serv.FilterName = item_name
1887 serv.execDataService()
1888 self.LastMessage = serv.ResultMessage
1889 return serv.ResultList
1890
1891 def get_version(self):
1892 """
1893 バージョン番号取得
1894
1895 Returns
1896 -------
1897 ResultStr : str
1898 バージョン番号
1899
1900 Examples
1901 ----------
1902 SDCV3のバージョンを取得する
1903
1904 =================================================
1905 >>> dsx.get_version()
1906 ‘2,22,0,1’
1907 =================================================
1908
1909 """
1910 import GetVersionEx
1911 serv = GetVersionEx.GetVersionEx()
1912 serv.execDataService()
1913 self.LastMessage = serv.ResultMessage
1914 return serv.ResultStr
1915
1916 def join_inout(self, table_name, is_slave, is_in_out):
1917 """
1918 JOINテーブルのIN/OUT集合サブテーブル化
1919
1920 Parameters
1921 ----------
1922 table_name : str
1923 JOINテーブル名
1924 isSlave : str
1925 Yes:スレーブテーブルより抽出、No:マスターテーブルより抽出
1926 isJoinOut : str
1927 IN:IN集合、OUT:OUT集合
1928
1929 Returns
1930 -------
1931 ResultIntList : list
1932 結果配列(セットが追加されたテーブルIDと生成されたセットID)
1933
1934 Examples
1935 ----------
1936 JOINテーブルjoin1のIN集合をサブテーブル化する
1937
1938 ===================================================================================================================================================================================================================================
1939 ※practice1とpractice2をJOINしたものがjoin1となっています
1940 >>> dsx.get_tablelist()
1941 ['practice1', 'practice2', 'join1']
1942 >>> dsx.get_setid_list("practice1")
1943 [[1, '']
1944 >>> dsx.join_inout("join1","No","IN")
1945 [2, 2]
1946 >>> dsx.get_tablename("2")
1947 'practice1'
1948 >>> dsx.get_setid_list("practice1")
1949 [[1, ''], [2, 'JoinIN isSlave No']]
1950 >>> dsx.get_tuple("practice1",1,20,2)
1951 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3', '項目1_#1'], ['1', '1', 'あ', 'か', 'さ', 'ア'], ['2', '2', 'い', 'き', 'し', 'イ'], ['3', '3', 'う', 'く', 'す', 'ウ']]
1952 ===================================================================================================================================================================================================================================
1953
1954 See Also
1955 ----------
1956 セットID一覧取得(get_setid_list)で、JOINテーブルがサブテーブル化したことを確認できます
1957
1958 """
1959 import JoinInOutEx
1960 serv = JoinInOutEx.JoinInOutEx()
1961 serv.TableName = table_name
1962 serv.IsSlave = is_slave
1963 serv.IsJoinOut = is_in_out
1964 serv.execDataService()
1965 self.LastMessage = serv.ResultMessage
1966 return serv.ResultIntList
1967
1968 def insert_row(self, table_name, row_count, start_row = 1):
1969 """
1970 行の挿入
1971
1972 Parameters
1973 ----------
1974 table_name : str
1975 テーブル名
1976 row_count : int
1977 挿入行数
1978 start_row : int, default 1
1979 挿入位置行
1980
1981 Returns
1982 -------
1983 ResultCode : int
1984 結果コード(正:挿入行数、負:エラーコード)
1985
1986 Examples
1987 ----------
1988 テーブルpractice1の3行目に1行挿入する
1989
1990 =======================================================================
1991 >>> dsx.get_rowcount(“practice1”,1)
1992 5
1993 >>> dsx.get_cell("practice1","項目1",1,5,1)
1994 ['あ', 'い', 'う', 'え', 'お']
1995 >>> dsx.insert_row("practice1",1,3)
1996 1
1997 >>> dsx.get_rowcount(“practice1”,1)
1998 6
1999 >>> dsx.get_cell("practice1","項目1",1,6,1)
2000 ['あ', 'い', '','う', 'え', 'お']
2001 =======================================================================
2002
2003 See Also
2004 ----------
2005 1.テーブルの行数取得(get_rowcount)で、行数の増減を確認できます
2006 2.セルの値取得(get_cell)で、行の挿入位置を確認できます
2007
2008 """
2009 import InsertRowEx
2010 serv = InsertRowEx.InsertRowEx()
2011 serv.TableName = table_name
2012 serv.StartRow = start_row
2013 serv.RowCount = row_count
2014 serv.execDataService()
2015 self.LastMessage = serv.ResultMessage
2016 return serv.ResultCode
2017
2018 def join_realize(self, join_table_name, real_table_name, setid, master_rec_number = 'Yes', slave_rec_number = 'Yes', item_name_list = '*'):
2019 """
2020 JOINテーブルをREALテーブルに変換
2021
2022 Parameters
2023 ----------
2024 join_table_name : str
2025 JOINテーブル名
2026 real_table_name : str
2027 REALテーブル名
2028 setid : int
2029 セットID
2030 master_rec_number : str, default 'Yes'
2031 Yes:マスターテーブルのRecNoを出力する、No:出力しない
2032 slave_rec_number : str, default 'Yes'
2033 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
2034 item_name_list : list, default '*'
2035 項目名リスト("*"は全項目が対象)
2036
2037 Returns
2038 -------
2039 ResultCode : int
2040 結果コード(正:REALテーブルID、負:エラーコード)
2041
2042 Examples
2043 ----------
2044 JOINテーブルjoin1をREALテーブルに変換する
2045
2046 ===========================================================================================
2047 >>> dsx.join_realize("join1","real1",1,"No","No",["*"])
2048 7
2049 >>> dsx.get_tablelist()
2050 ['practice1', 'practice2', 'join1', 'real1']
2051 ===========================================================================================
2052
2053 See Also
2054 ----------
2055 1.テーブル一覧取得(get_tablelist)で、JOINテーブルを変換したREALテーブルが追加されたことを確認できます
2056 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2057
2058 """
2059 import JoinRealizeEx
2060 serv = JoinRealizeEx.JoinRealizeEx()
2061 serv.JtableName = join_table_name
2062 serv.RtableName = real_table_name
2063 serv.SetID = setid
2064 serv.MRecNo = master_rec_number
2065 serv.SRecNo = slave_rec_number
2066 serv.FilterNameList = item_name_list
2067 serv.execDataService()
2068 self.LastMessage = serv.ResultMessage
2069 return serv.ResultCode
2070
2071 def load(self, file_name):
2072 """
2073 テーブル(D5Tファイル)ロード
2074
2075 Parameters
2076 ----------
2077 file_name : str
2078 テーブルファイル名
2079
2080 Returns
2081 -------
2082 ResultCode : int
2083 結果コード(正:テーブルID、負:エラーコード)
2084
2085 Examples
2086 ----------
2087 D5Tファイル”practice1”をロードする
2088
2089 ==========================================================================
2090 >>> dsx.load(フォルダ\\フォルダ\\フォルダ\\practice1.D5T)
2091 3
2092 >>> dsx.get_tablelist()
2093 [‘practice1’]
2094 ==========================================================================
2095
2096 See Also
2097 ----------
2098 テーブル一覧取得(get_tablelist)で、チューボーにテーブルをロードしたことを確認できます
2099
2100 """
2101 import LoadEx
2102 serv = LoadEx.LoadEx()
2103 serv.TableName = file_name
2104 serv.execDataService()
2105 self.LastMessage = serv.ResultMessage
2106 return serv.ResultCode
2107
2108 def __logrotate(self):
2109 """
2110 ログ/レシピファイルのローテーション(非公開内部機能)
2111
2112 Returns
2113 -------
2114 ResultCode : int
2115 結果コード(0:成功、負:エラーコード)
2116 """
2117 import LogRotateEx
2118 serv = LogRotateEx.LogRotateEx()
2119 serv.execDataService()
2120 self.LastMessage = serv.ResultMessage
2121 return serv.ResultCode
2122
2123 def move_item(self, table_name, item_name_list, item_name):
2124 """
2125 項目の移動
2126
2127 Parameters
2128 ----------
2129 table_name : str
2130 テーブル名
2131 item_name_list : list
2132 移動対象項目名リスト
2133 item_name : str
2134 移動先項目名
2135
2136 Returns
2137 -------
2138 ResultCode : int
2139 結果コード(0:成功、負:エラーコード)
2140
2141 Examples
2142 ----------
2143 項目1を項目3の位置へ移動する
2144
2145 =========================================================
2146 >>> dsx.get_itemlist("practice1")
2147 ['項目1', '項目2', '項目3']
2148 >>> dsx.move_item("practice1",["項目1"],"項目3")
2149 0
2150 >>> dsx.get_itemlist("practice1")
2151 ['項目2', '項目3', '項目1']
2152 =========================================================
2153
2154 See Also
2155 ----------
2156 項目一覧取得(get_itemlist)で、項目が移動したことを確認できます
2157
2158 """
2159 import MoveItemEx
2160 serv = MoveItemEx.MoveItemEx()
2161 serv.TableName = table_name
2162 serv.FilterNameList = item_name_list
2163 serv.FilterName = item_name
2164 serv.execDataService()
2165 self.LastMessage = serv.ResultMessage
2166 return serv.ResultCode
2167
2168 def __numeric_rescale(self, table_name, item_name, num_scale, num_mode):
2169 """
2170 NUMERIC型データのスケール・丸めモードを設定(サポートなし)
2171
2172 Parameters
2173 ----------
2174 table_name : str
2175 テーブル名
2176 item_name : str
2177 項目名
2178 num_scale : int
2179 スケール(0~38)
2180 num_mode : str
2181 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
2182
2183 Returns
2184 -------
2185 ResultCode : int
2186 結果コード(0:成功、負:エラーコード)
2187 """
2188 import NumericRescaleEx
2189 serv = NumericRescaleEx.NumericRescaleEx()
2190 serv.TableName = table_name
2191 serv.FilterName = item_name
2192 serv.NumScale = num_scale
2193 serv.NumMode = num_mode
2194 serv.execDataService()
2195 self.LastMessage = serv.ResultMessage
2196 return serv.ResultCode
2197
2198 def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space = 'No', setid = -1):
2199 """
2200 セルの上書き
2201
2202 Parameters
2203 ----------
2204 table_name : str
2205 テーブル名
2206 item_name : str
2207 項目名
2208 start_row : int
2209 開始行
2210 row_count : int
2211 行数(入力文字列数以下)
2212 fill_string_list : list
2213 入力文字列リスト
2214 is_ex_space : str, default 'No'
2215 Yes:末尾空白を削除する、No:削除しない
2216 setid : int, default -1
2217 セットID(省略した場合はカレントセット)
2218
2219 Returns
2220 -------
2221 ResultCode : int
2222 結果コード(正:データ数、負:エラーコード)
2223 """
2224 import OverwriteEx
2225 serv = OverwriteEx.OverwriteEx()
2226 serv.TableName = table_name
2227 serv.FilterName = item_name
2228 serv.StartRow = start_row
2229 serv.RowCount = row_count
2230 serv.FillStrList = fill_string_list
2231 serv.SetID = setid
2232 serv.ExSpace = is_ex_space
2233 serv.execDataService()
2234 self.LastMessage = serv.ResultMessage
2235 return serv.ResultCode
2236
2237 def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid = -1):
2238 """
2239 セルの上書き
2240
2241 Parameters
2242 ----------
2243 table_name : str
2244 テーブル名
2245 start_row : int
2246 開始行
2247 row_count : int
2248 行数(入力文字列数以下)
2249 fill_string_list : カラム = [[] for i in range(len(ヘッダーカラム))]
2250 入力文字列リスト(カラム単位での2次元配列)
2251 setid : int, default -1
2252 セットID(省略した場合はカレントセット)
2253
2254 Returns
2255 -------
2256 ResultCode : int
2257 結果コード(正:データ数、負:エラーコード)
2258 """
2259 import OverwriteOnBatchEx
2260 serv = OverwriteOnBatchEx.OverwriteOnBatchEx()
2261 serv.TableName = table_name
2262 serv.StartRow = start_row
2263 serv.RowCount = row_count
2264 serv.FillStrList = fill_string_list
2265 serv.SetID = setid
2266 serv.execDataService()
2267 self.LastMessage = serv.ResultMessage
2268 return serv.ResultCode
2269
2270 def rename_table(self, table_name, new_table_name):
2271 """
2272 テーブル名を変更
2273
2274 Parameters
2275 ----------
2276 table_name : str
2277 変更前テーブル名
2278 new_table_name : str
2279 変更後テーブル名
2280
2281 Returns
2282 -------
2283 ResultCode : int
2284 結果コード(0:成功、負:エラーコード)
2285
2286 Examples
2287 ----------
2288 テーブル名をpractice1からpractice2に変更する
2289
2290 ============================================================
2291 >>> dsx.get_tablelist()
2292 [‘practice1’]
2293 dsx.rename_table(“practice1”,”practice2”)
2294 0
2295 >>> dsx.get_tablelist()
2296 [‘practice2’]
2297 ============================================================
2298
2299 See Also
2300 ----------
2301 テーブル一覧取得(get_tablelist)でテーブル名が変更したことを確認できます
2302
2303 """
2304 import RenameTableEx
2305 serv = RenameTableEx.RenameTableEx()
2306 serv.TableName = table_name
2307 serv.NewtableName = new_table_name
2308 serv.execDataService()
2309 self.LastMessage = serv.ResultMessage
2310 return serv.ResultCode
2311
2312 def rename_item(self, table_name, item_name, new_item_name):
2313 """
2314 項目名を変更
2315
2316 Parameters
2317 ----------
2318 table_name : str
2319 テーブル名
2320 item_name : str
2321 変更前項目名
2322 new_item_name : str
2323 変更後項目名
2324
2325 Returns
2326 -------
2327 ResultCode : int
2328 結果コード(0:成功、負:エラーコード)
2329
2330 Examples
2331 ----------
2332 項目名を項目1からitem1に変更する
2333
2334 ===================================================================
2335 >>> dsx.get_itemlist(“practice1”)
2336 [‘項目1’]
2337 >>> dsx.rename_item(“practice1”,”項目1”,”item1”)
2338 0
2339 >>> dsx.get_itemlist(“practice1”)
2340 [‘item1’]
2341 ====================================================================
2342
2343 See Also
2344 ----------
2345 項目一覧取得(get_itemlist)で項目名が変更したことを確認できます
2346
2347 """
2348 import RenameItemEx
2349 serv = RenameItemEx.RenameItemEx()
2350 serv.TableName = table_name
2351 serv.FilterName = item_name
2352 serv.NewfilterName = new_item_name
2353 serv.execDataService()
2354 self.LastMessage = serv.ResultMessage
2355 return serv.ResultCode
2356
2357 def save(self, file_name):
2358 """
2359 テーブル(D5Tファイル)保存
2360
2361 Parameters
2362 ----------
2363 file_name : str
2364 テーブルファイル名
2365
2366 Returns
2367 -------
2368 ResultCode : int
2369 結果コード(0:成功、負:エラーコード)
2370
2371 Examples
2372 ----------
2373 テーブルpractice1を保存する
2374 ===========================================================================
2375 >>> dsx.save(“フォルダ\\フォルダ\\フォルダ\\practice1.D5T”)
2376 0
2377 ===========================================================================
2378
2379 See Also
2380 ----------
2381 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
2382
2383 """
2384 import SaveEx
2385 serv = SaveEx.SaveEx()
2386 serv.TableName = file_name
2387 serv.execDataService()
2388 self.LastMessage = serv.ResultMessage
2389 return serv.ResultCode
2390
2391 def search(self, table_name, item_name, setid, search_string):
2392 """
2393 検索
2394
2395 Parameters
2396 ----------
2397 table_name : str
2398 テーブル名
2399 item_name : str
2400 検索対象項目名
2401 setid : int
2402 セットID
2403 search_string : str
2404 検索条件式(=、<>、<=、<、>=、>、string*、*string*、*string、IS NULL、IS NOT NULL)
2405
2406 Returns
2407 -------
2408 ResultCode : int
2409 結果コード(正:生成されたセットID、負:エラーコード)
2410
2411 Examples
2412 ----------
2413 テーブルpractice1の項目1で、”あ”以外の値を検索する
2414
2415 =====================================================================
2416 >>> dsx.search(“practice1”,”項目1”,1,”[項目1]<>あ”)
2417 2
2418 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
2419 [‘い’,’う’,’え’,’お’,’か’]
2420 =====================================================================
2421
2422 Notes
2423 ----------
2424 検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2425
2426 See Also
2427 ----------
2428 1.セルの値取得(get_cell)で検索結果を確認できます
2429 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2430
2431 """
2432 import SearchEx
2433 serv = SearchEx.SearchEx()
2434 serv.TableName = table_name
2435 serv.FilterName = item_name
2436 serv.SetID = setid
2437 serv.SearchStr = search_string
2438 serv.execDataService()
2439 self.LastMessage = serv.ResultMessage
2440 return serv.ResultCode
2441
2442 def search_values(self, table_name, item_name, setid, search_string_list):
2443 """
2444 値リスト検索
2445
2446 Parameters
2447 ----------
2448 table_name : str
2449 テーブル名
2450 item_name : str
2451 検索対象項目名
2452 setid : int
2453 セットID
2454 search_string_list : list
2455 検索値文字列リスト
2456
2457 Returns
2458 -------
2459 ResultCode : int
2460 結果コード(正:生成されたセットID、負:エラーコード)
2461
2462 Examples
2463 ----------
2464 項目1の値が”あ”,“い”,”う”のデータのみ取得する
2465
2466 ===================================================================================================================================================================================================================================
2467 >>> dsx.get_tuple("practice1",1,20,1)
2468 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す'], ['4', '4', 'え', 'け', 'せ'], ['5', '5', 'お', 'こ', 'そ']]
2469 >>> dsx.search_values("practice2","項目1",1,[" あ","い","う"])
2470 3
2471 >>> dsx.get_tuple("practice1",1,20,3)
2472 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
2473 ===================================================================================================================================================================================================================================
2474
2475 Notes
2476 ----------
2477 値リスト検索で生成されたセットIDが3なので、検索結果確認のテーブルデータ取得では引数(セットID)が3となります
2478
2479 See Also
2480 ----------
2481 1.テーブルデータ取得で、検索結果を確認できます
2482 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2483
2484 """
2485 import SearchValuesEx
2486 serv = SearchValuesEx.SearchValuesEx()
2487 serv.TableName = table_name
2488 serv.FilterName = item_name
2489 serv.SetID = setid
2490 serv.SearchStr = search_string_list
2491 serv.execDataService()
2492 self.LastMessage = serv.ResultMessage
2493 return serv.ResultCode
2494
2495 def search_values_bycsv(self, table_name, item_name, setid, file_name):
2496 """
2497 値リスト検索(CSVファイル指定)
2498
2499 Parameters
2500 ----------
2501 table_name : str
2502 テーブル名
2503 item_name : str
2504 検索対象項目名
2505 setid : int
2506 セットID
2507 file_name : str
2508 CSVファイル名
2509
2510 Returns
2511 -------
2512 ResultCode : int
2513 結果コード(正:生成されたセットID、負:エラーコード)
2514 """
2515 import SearchValuesByCsvEx
2516 serv = SearchValuesByCsvEx.SearchValuesByCsvEx()
2517 serv.TableName = table_name
2518 serv.FilterName = item_name
2519 serv.SetID = setid
2520 serv.FileName = file_name
2521 serv.execDataService()
2522 self.LastMessage = serv.ResultMessage
2523 return serv.ResultCode
2524
2525 def search_values_bytable(self, table_name, item_name, setid, list_table_name, list_item_name, list_setid):
2526 """
2527 値リスト検索(他テーブル指定)
2528
2529 Parameters
2530 ----------
2531 table_name : str
2532 テーブル名
2533 item_name : str
2534 検索対象項目名
2535 setid : int
2536 セットID
2537 list_table_name : str
2538 値リスト取得テーブル名
2539 list_item_name : str
2540 値リスト取得項目名
2541 list_setid : int
2542 値リスト取得セットID
2543
2544 Returns
2545 -------
2546 ResultCode : int
2547 結果コード(正:生成されたセットID、負:エラーコード)
2548 """
2549 import SearchValuesByTableEx
2550 serv = SearchValuesByTableEx.SearchValuesByTableEx()
2551 serv.TableName = table_name
2552 serv.FilterName = item_name
2553 serv.SetID = setid
2554 serv.VtableName = list_table_name
2555 serv.VfilterName = list_item_name
2556 serv.VsetID = list_setid
2557 serv.execDataService()
2558 self.LastMessage = serv.ResultMessage
2559 return serv.ResultCode
2560
2561 def search_string(self, table_name, setid, expression):
2562 """
2563 文字列検索式による検索
2564
2565 Parameters
2566 ----------
2567 table_name : str
2568 テーブル名
2569 setid : int
2570 セットID
2571 expression : str
2572 文字列検索式(検索式の種類と構文はクッキングマニュアルを参照)
2573
2574 Returns
2575 -------
2576 ResultCode : int
2577 結果コード(正:生成されたセットID、負:エラーコード)
2578
2579 Examples
2580 ----------
2581 性別が男性かつ年齢が20歳を超えている人の苗字を検索する
2582
2583 ================================================================================
2584 >>> dsx.search_string(“practice1”,1,”性別 = ’男性’ AND 年齢 <= ’20’”)
2585 2
2586 >>> dsx.get_cell(“practice1”,”苗字”,1,5,2)
2587 [‘相澤’,’青木’,’秋元’,’朝倉’,’在原’]
2588 ================================================================================
2589
2590 Notes
2591 ----------
2592 1.検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2593 2.文字列検索では、検索の機能に加えAND、ORの指定が可能です
2594
2595 See Also
2596 ----------
2597 1.セルの値取得(get_cell)で検索結果を確認できます
2598 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2599
2600 """
2601 import SearchStringEx
2602 serv = SearchStringEx.SearchStringEx()
2603 serv.TableName = table_name
2604 serv.SetID = setid
2605 serv.Expression = expression
2606 serv.execDataService()
2607 self.LastMessage = serv.ResultMessage
2608 return serv.ResultCode
2609
2610 def setand(self, table_name, src_setid, dst_setid):
2611 """
2612 2つのサブテーブル(セット)のAND抽出
2613
2614 Parameters
2615 ----------
2616 table_name : str
2617 テーブル名
2618 src_setid : int
2619 対象セットID
2620 dst_setid : int
2621 ターゲットセットID
2622
2623 Returns
2624 -------
2625 ResultCode : int
2626 結果コード(正:生成されたセットID、負:エラーコード)
2627
2628 Examples
2629 ----------
2630 ルートセットかつ検索リスト(項目1=”あ”)のサブテーブルを抽出する
2631
2632 ===============================================================================================================================================================
2633 >>> dsx.get_tuple("practice1",1,20,1)
2634 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
2635 >>> dsx.search_values("practice1","項目1",1,["あ"])
2636 2
2637 >>> dsx.get_setid_list("practice1")
2638 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']]
2639 >>> dsx.setand("practice1",1,2)
2640 3
2641 >>> dsx.get_tuple("practice1",1,50,3)
2642 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ']]
2643 ===============================================================================================================================================================
2644
2645 See Also
2646 ----------
2647 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2648 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます。
2649
2650 """
2651 import SetAndEx
2652 serv = SetAndEx.SetAndEx()
2653 serv.TableName = table_name
2654 serv.SrcsetID = src_setid
2655 serv.DestsetID = dst_setid
2656 serv.execDataService()
2657 self.LastMessage = serv.ResultMessage
2658 return serv.ResultCode
2659
2660 def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid = -1):
2661 """
2662 セルに値書込み
2663
2664 Parameters
2665 ----------
2666 table_name : str
2667 テーブル名
2668 item_name : str
2669 項目名
2670 start_row : int
2671 開始行
2672 row_count : int
2673 行数
2674 fill_string_list : list
2675 書込み値文字列リスト
2676 setid : int
2677 セットID(省略した場合はカレントセット)
2678
2679 Returns
2680 -------
2681 ResultCode : int
2682 結果コード(正:データ数、負:エラーコード)
2683
2684 Examples
2685 ----------
2686 項目1をあ行にする
2687
2688 ==============================================================================
2689 >>> dsx.set_cell(“practice1”,”項目1”,1,5,[”あ”,”い”,”う”,”え”,”お”],1)
2690 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
2691 [‘あ’,’い’,’う’,’え’,’お’]
2692 ==============================================================================
2693
2694 See Also
2695 ----------
2696 1.セルの値取得(get_cell)で、書込み結果を確認できます
2697 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2698 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
2699
2700 """
2701 import SetCellEx
2702 serv = SetCellEx.SetCellEx()
2703 serv.TableName = table_name
2704 serv.FilterName = item_name
2705 serv.StartRow = start_row
2706 serv.RowCount = row_count
2707 serv.FillStrList = fill_string_list
2708 serv.SetID = setid
2709 serv.execDataService()
2710 self.LastMessage = serv.ResultMessage
2711 return serv.ResultCode
2712
2713 def set_comment(self, table_name, setid, comment_string):
2714 """
2715 サブテーブル(セット)のコメント編集
2716
2717 Parameters
2718 ----------
2719 table_name : str
2720 テーブル名
2721 setid : int
2722 セットID
2723 comment_string : str
2724 コメント文字列
2725
2726 Returns
2727 -------
2728 ResultCode : int
2729 結果コード(0:成功、負:エラーコード)
2730
2731 Examples
2732 ----------
2733 テーブルpractice1のセット(Search Set)のコメントを編集する
2734
2735 ==================================================================
2736 >>> dsx.get_setid_list("practice1")
2737 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']]
2738 >>> dsx.set_comment("practice1",2,"検索リスト")
2739 0
2740 >>> dsx.get_setid_list("practice1")
2741 [[1, ''], [2, '検索リスト']]
2742 ==================================================================
2743
2744 See Also
2745 ----------
2746 1.セットID一覧取得(get_setid_list)でセットのコメントが変更したことを確認できます
2747 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2748
2749 """
2750 import SetCommentEx
2751 serv = SetCommentEx.SetCommentEx()
2752 serv.TableName = table_name
2753 serv.SetID = setid
2754 serv.CommentStr = comment_string
2755 serv.execDataService()
2756 self.LastMessage = serv.ResultMessage
2757 return serv.ResultCode
2758
2759 def move_currentset(self, table_name, setid):
2760 """
2761 カレントセット(サブテーブル)の移動
2762
2763 Parameters
2764 ----------
2765 table_name : str
2766 テーブル名
2767 setid : int
2768 移動セットID
2769
2770 Returns
2771 -------
2772 ResultCode : int
2773 結果コード(0:成功、負:エラーコード)
2774
2775 Examples
2776 ----------
2777 セットIDが2のサブテーブルに移動する(カレントセットを移動する)
2778
2779 ================================================================
2780 >>> dsx.get_setid_list("practice1")
2781 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']]
2782 >>> dsx.move_currentset("practice1",2)
2783 0
2784 =================================================================
2785
2786 See Also
2787 ----------
2788 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2789
2790 """
2791 import MoveCurrentSetEx
2792 serv = MoveCurrentSetEx.MoveCurrentSetEx()
2793 serv.TableName = table_name
2794 serv.SetID = setid
2795 serv.execDataService()
2796 self.LastMessage = serv.ResultMessage
2797 return serv.ResultCode
2798
2799 def delete_set(self, table_name, setid):
2800 """
2801 セット(サブテーブル)の削除
2802
2803 Parameters
2804 ----------
2805 table_name : str
2806 テーブル名
2807 setid : int
2808 削除セットID
2809
2810 Returns
2811 -------
2812 ResultCode : int
2813 結果コード(0:成功、負:エラーコード)
2814
2815 Examples
2816 ----------
2817 テーブルpractice1のセットIDが3のサブテーブルを削除する
2818
2819 ======================================================================================================================
2820 >>>dsx.get_setid_list("practice1")
2821 [[1, ''], [2, 'Search Set:1 [項目1]=あ'], [3, "SearchStrExp Set:1 項目1='あ' ..."]]
2822 >>>dsx.delete_set(“practice1”,3)
2823 2
2824 >>>dsx.get_setid_list("practice1")
2825 [[1, ''], [2, 'Search Set:1 [項目1]=あ']]
2826 ======================================================================================================================
2827
2828 See Also
2829 ----------
2830 1.セットID一覧取得(get_setid_list)で、セットIDが削除されたことを確認できます
2831 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2832
2833 """
2834 import DeleteSetEx
2835 serv = DeleteSetEx.DeleteSetEx()
2836 serv.TableName = table_name
2837 serv.SetID = setid
2838 serv.execDataService()
2839 self.LastMessage = serv.ResultMessage
2840 return serv.ResultCode
2841
2842 def __set_fatalerror(self, is_fatal_error):
2843 """
2844 実行不能エラー発生時の制御フラグ設定
2845
2846 Parameters
2847 ----------
2848 is_fatal_error :
2849 制御フラグ
2850 """
2851 import DataServiceCtl2
2852 serv = DataServiceCtl2.DataServiceCtl2()
2853 serv.IsFatalError = is_fatal_error
2854 serv.execDataService()
2855
2856 def __set_macrostop(self, is_macro_stop):
2857 """
2858 実行不能エラー発生時のマクロ実行抑止フラグ設定
2859
2860 Parameters
2861 ----------
2862 isMacroStop :
2863 制御フラグ
2864 """
2865 import DataServiceCtl
2866 serv = DataServiceCtl.DataServiceCtl()
2867 serv.IsMacroStop = is_macro_stop
2868 serv.execDataService()
2869
2870 def setnot(self, table_name, setid):
2871 """
2872 サブテーブル(セット)のNOT抽出
2873
2874 Parameters
2875 ----------
2876 table_name : str
2877 テーブル名
2878 setid : int
2879 セットID
2880
2881 Returns
2882 -------
2883 ResultCode : int
2884 結果コード(正:生成されたセットID、負:エラーコード)
2885
2886 Examples
2887 ----------
2888 テーブルpractice1のサブテーブル、検索リスト(項目1=”あ”)でないものをルートセットから抽出する
2889
2890 ===============================================================================================================================================================
2891 >>> dsx.get_tuple("practice1",1,20,1)
2892 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
2893 >>> dsx.search_values("practice1","項目1",1,["あ"])
2894 2
2895 >>> dsx.get_setid_list("practice1")
2896 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']]
2897 >>> dsx.setnot("practice1",2)
2898 4
2899 >>> dsx.get_tuple("practice3",1,20,4)
2900 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '2', 'い', 'き', 'し'], ['2', '3', 'う', 'く', 'す']]
2901 ===============================================================================================================================================================
2902
2903 See Also
2904 ----------
2905 1.テーブルデータ取得で、抽出結果確認できます
2906 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2907 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
2908
2909 """
2910 import SetNotEx
2911 serv = SetNotEx.SetNotEx()
2912 serv.TableName = table_name
2913 serv.SetID = setid
2914 serv.execDataService()
2915 self.LastMessage = serv.ResultMessage
2916 return serv.ResultCode
2917
2918 def setor(self, table_name, src_setid, dst_setid):
2919 """
2920 2つのサブテーブル(セット)のOR抽出
2921
2922 Parameters
2923 ----------
2924 table_name : str
2925 テーブル名
2926 src_setid : int
2927 対象セットID
2928 dst_setid : int
2929 ターゲットセットID
2930
2931 Returns
2932 -------
2933 ResultCode : int
2934 結果コード(正:生成されたセットID、負:エラーコード)
2935
2936 Examples
2937 ----------
2938 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)または検索リスト(項目2=”き”)を抽出する
2939
2940 ===============================================================================================================================================================
2941 >>>dsx.get_tuple("practice1",1,20,1)
2942 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
2943 >>>dsx.search_values("practice1","項目1",1,["あ"])
2944 2
2945 >>>dsx.search_values("practice1","項目2",1,["き"])
2946 3
2947 >>>dsx.get_setid_list("practice1")
2948 [[1, ''], [2, 'Search Set:1 [項目1] = 値リスト']] , [3, 'Search Set:1 [項目2] = 値リスト']]
2949 >>> dsx.setor("practice1",2,3)
2950 4
2951 >>> dsx.get_tuple("practice1",1,20,4)
2952 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し']]
2953 ===============================================================================================================================================================
2954
2955 See Also
2956 ----------
2957 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2958 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2959
2960 """
2961 import SetOrEx
2962 serv = SetOrEx.SetOrEx()
2963 serv.TableName = table_name
2964 serv.SrcsetID = src_setid
2965 serv.DestsetID = dst_setid
2966 serv.execDataService()
2967 self.LastMessage = serv.ResultMessage
2968 return serv.ResultCode
2969
2970 def set_license(self, license_key):
2971 """
2972 ライセンスキーの設定
2973
2974 Parameters
2975 ----------
2976 license_key : str
2977 ライセンスキー
2978
2979 Returns
2980 -------
2981 ResultCode : int
2982 結果コード(0:成功、負:エラーコード)
2983
2984 Examples
2985 ----------
2986 ライセンスキーの設定をする
2987
2988 ===========================================================
2989 >>> dsx.set_license("ライセンスキー")
2990 0
2991 ===========================================================
2992
2993 """
2994 import SetLicenseEx
2995 serv = SetLicenseEx.SetLicenseEx()
2996 serv.LicenseKey = license_key
2997 serv.execDataService()
2998 self.LastMessage = serv.ResultMessage
2999 return serv.ResultCode
3000
3001 def setsub(self, table_name, src_setid, dst_setid):
3002 """
3003 2つのサブテーブル(セット)のSUB抽出
3004
3005 Parameters
3006 ----------
3007 table_name : str
3008 テーブル名
3009 src_setid : int
3010 対象セットID
3011 dst_setid : int
3012 ターゲットセットID
3013
3014 Returns
3015 -------
3016 ResultCode : int
3017 結果コード(正:生成されたセットID、負:エラーコード)
3018
3019 Examples
3020 ----------
3021 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)を除いたテーブルから、 検索リスト(項目1=”い”)を除いたものを抽出する
3022
3023 ===============================================================================================================================================================
3024 >>>dsx.get_tuple("practice1",1,20,1)
3025 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'あ', 'か', 'さ'], ['2', '2', 'い', 'き', 'し'], ['3', '3', 'う', 'く', 'す']]
3026 >>>dsx.search_values("practice1","項目1",1,["あ"])
3027 2
3028 >>> dsx.setnot("practice1",2)
3029 3
3030 >>> dsx.get_tuple("practice3",1,20, 3)
3031 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '2', 'い', 'き', 'し'], ['2', '3', 'う', 'く', 'す']]
3032 >>>dsx.search_values("practice1","項目1",1,["い"])
3033 4
3034 >>> dsx.setsub("practice1",3,4)
3035 7
3036 >>> dsx.get_tuple("practice1",1,20,7)
3037 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', 'う', 'く', 'す']]
3038 ===============================================================================================================================================================
3039
3040 See Also
3041 ----------
3042 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
3043 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3044 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
3045
3046 """
3047 import SetSubEx
3048 serv = SetSubEx.SetSubEx()
3049 serv.TableName = table_name
3050 serv.SrcsetID = src_setid
3051 serv.DestsetID = dst_setid
3052 serv.execDataService()
3053 self.LastMessage = serv.ResultMessage
3054 return serv.ResultCode
3055
3056 def sort(self, table_name, item_name, setid, sort_type = 'ASC'):
3057 """
3058 データのソート
3059
3060 Parameters
3061 ----------
3062 table_name : str
3063 テーブル名
3064 item_name : str
3065 項目名
3066 setid : int
3067 セットID
3068 sort_type : str, default 'ASC'
3069 並び順(ASC:昇順、DSC:降順)
3070
3071 Returns
3072 -------
3073 ResultCode : int
3074 結果コード(正:生成されたセットID、負:エラーコード)
3075
3076 Examples
3077 ----------
3078 項目1の値を昇順にする
3079
3080 ==============================================================
3081 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
3082 [‘2’,’3’,’4’,’5’,’1’]
3083 >>> dsx.sort(“practice1”,”項目1”,1,”ASC”)
3084 2
3085 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
3086 [‘1’,’2’,’3’,’4’,’5’]
3087 ==============================================================
3088
3089 Notes
3090 ----------
3091 ソートした際に生成されたセットIDが2なので、ソート結果確認のセルの値取得では引数(セットID)が2となります
3092
3093 See Also
3094 ----------
3095 1.セルの値取得(get_cell)で、ソート結果を確認できます
3096 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3097
3098 """
3099 import SortEx
3100 serv = SortEx.SortEx()
3101 serv.TableName = table_name
3102 serv.FilterName = item_name
3103 serv.SetID = setid
3104 serv.SortType = sort_type
3105 serv.execDataService()
3106 self.LastMessage = serv.ResultMessage
3107 return serv.ResultCode
3108
3109 def write_csv(self, table_name, file_name, setid, delimiter = 'CSV', write_top = 1, write_bottom = -1, write_left = 1, write_right = -1, is_header = 'Yes'):
3110 """
3111 データのエクスポート
3112
3113 Parameters
3114 ----------
3115 table_name : str
3116 テーブル名
3117 file_name : str
3118 エクスポート先のファイル名
3119 setid : int
3120 セットID
3121 delimiter : str, default 'CSV'
3122 区切り文字(CSV/TAB)
3123 write_top : int, default 1
3124 開始行(先頭行は1)
3125 write_bottom : int, default -1
3126 終了行(マイナス値は最終行)
3127 write_left : int, default 1
3128 開始列(先頭列は1、RecNoは指定不可)
3129 write_right : int, default -1
3130 終了列(マイナス値は最終列)
3131 is_header : str, default 'Yes'
3132 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3133
3134 Returns
3135 -------
3136 ResultCode : int
3137 結果コード(正:出力行数、負:エラーコード)
3138
3139 Examples
3140 ----------
3141 テーブルpractice1の全ての値をカンマ区切りのCSVファイルにエクスポートする
3142
3143 =============================================================================================================================
3144 >>> dsx.write_csv(“practice1”,”フォルダ\\フォルダ\\フォルダ\\practice.csv”,1,”CSV”,1,-1,1,-1,”Yes”)
3145 10
3146 =============================================================================================================================
3147
3148 See Also
3149 ----------
3150 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3151
3152 """
3153 import WriteCsvEx
3154 serv = WriteCsvEx.WriteCsvEx()
3155 serv.TableName = table_name
3156 serv.Delimiter = delimiter
3157 serv.FileName = file_name
3158 serv.WriteTop = write_top
3159 serv.WriteBottom = write_bottom
3160 serv.WriteLeft = write_left
3161 serv.WriteRight = write_right
3162 serv.Header = is_header
3163 serv.SetID = setid
3164 serv.TargetOut = None # ログ・レシピ出力抑止(None:通常モード、"SELF":出力抑止)
3165 serv.execDataService()
3166 self.LastMessage = serv.ResultMessage
3167 return serv.ResultCode
3168
3169 def write_csv_selectitem(self, table_name, file_name, setid, delimiter = 'CSV', write_top = 1, write_bottom = -1, item_name_list = '*', is_header = 'Yes'):
3170 """
3171 項目名指定でデータのエクスポート
3172
3173 Parameters
3174 ----------
3175 table_name : str
3176 テーブル名
3177 file_name : str
3178 エクスポート先のファイル名
3179 setid : int
3180 セットID
3181 delimiter : str
3182 区切り文字(CSV/TAB)
3183 write_top : int, default 1
3184 開始行(先頭行は1)
3185 write_bottom : int, default -1
3186 終了行(マイナス値は最終行)
3187 item_name_list : list, default '*'
3188 抽出項目名リスト("*"は全項目が対象)
3189 is_header : str, default 'Yes'
3190 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3191
3192 Returns
3193 -------
3194 ResultCode : int
3195 結果コード(正:出力行数、負:エラーコード)
3196
3197 Examples
3198 ----------
3199 テーブルpractice1の項目1のみをカンマ区切りのCSVファイルにエクスポートする
3200
3201 ===============================================================================================================================================================
3202 >>>dsx.write_csv_selectitem("practice1”,”フォルダ\\フォルダ\\フォルダ\\practice.csv",1,"CSV",1,-1,["項目1"],"Yes")
3203 10
3204 ===============================================================================================================================================================
3205
3206 See Also
3207 ----------
3208 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3209
3210 """
3211 import WriteCsvSelectItemEx
3212 serv = WriteCsvSelectItemEx.WriteCsvSelectItemEx()
3213 serv.TableName = table_name
3214 serv.Delimiter = delimiter
3215 serv.FileName = file_name
3216 serv.WriteTop = write_top
3217 serv.WriteBottom = write_bottom
3218 serv.FilterNameList = item_name_list
3219 serv.Header = is_header
3220 serv.SetID = setid
3221 serv.TargetOut = None # ログ・レシピ出力抑止(None:通常モード、"SELF":出力抑止)
3222 serv.execDataService()
3223 self.LastMessage = serv.ResultMessage
3224 return serv.ResultCode
3225
3226 def convert_type(self, table_name, item_name, data_type):
3227 """
3228 項目の型変換複製
3229
3230 Parameters
3231 ----------
3232 table_name : str
3233 テーブル名
3234 item_name : str
3235 項目名
3236 data_type : str
3237 変換するデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
3238
3239 Returns
3240 -------
3241 ResultCode : int
3242 結果コード(正:生成された項目ID、負:エラーコード)
3243
3244 Examples
3245 ----------
3246 項目1のデータ型を整数から浮動小数に変換する
3247
3248 ====================================================================
3249 >>>dsx.get_itemlist(“practice1”)
3250 [‘項目1’]
3251 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
3252 [‘1’,’2’,’3’,’4’,’5’]
3253 >>>dsx.convert_type(“practice1”,”項目1”,”Double”)
3254 24
3255 >>>dsx.get_itemlist(“practice1”)
3256 [‘項目1’,’項目1_#1’]
3257 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
3258 [‘1.0’,’2.0’,’3.0’,’4.0’,’5.0’]
3259 ====================================================================
3260
3261 See Also
3262 ----------
3263 1.項目一覧取得(get_itemlist)で、項目が追加されたことを確認できます
3264 2.セルの値取得(get_cell)で、値が型変換されたことを確認できます
3265
3266 """
3267 import ConvertTypeEx
3268 serv = ConvertTypeEx.ConvertTypeEx()
3269 serv.TableName = table_name
3270 serv.FilterName = item_name
3271 serv.FilterType = data_type
3272 serv.execDataService()
3273 self.LastMessage = serv.ResultMessage
3274 return serv.ResultCode
3275
3276 def __convert_type_numeric(self, table_name, item_name, num_scale, num_mode):
3277 """
3278 項目のNUMERIC型変換複製(サポートなし)
3279
3280 Parameters
3281 ----------
3282 table_name : str
3283 テーブル名
3284 item_name : str
3285 項目名
3286 num_scale : int
3287 スケール(0~38)
3288 num_mode : str
3289 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
3290
3291 Returns
3292 -------
3293 ResultCode : int
3294 結果コード(正:生成された項目ID、負:エラーコード)
3295 """
3296 import ConvertTypeNumericEx
3297 serv = ConvertTypeNumericEx.ConvertTypeNumericEx()
3298 serv.TableName = table_name
3299 serv.FilterName = item_name
3300 serv.NumScale = num_scale
3301 serv.NumMode = num_mode
3302 serv.execDataService()
3303 self.LastMessage = serv.ResultMessage
3304 return serv.ResultCode
3305
3306 def union(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_union_key, slave_union_key, is_master_tableid = 'Yes', is_slave_rec_number = 'Yes', is_delete_table = 'No'):
3307 """
3308 ユニオン(テーブルの縦結合)
3309
3310 Parameters
3311 ----------
3312 table_name : str
3313 縦結合テーブル名
3314 master_table_name : str
3315 マスターテーブル名
3316 slave_table_name : str
3317 スレーブテーブル名
3318 master_setid : int
3319 マスターテーブルのセットID
3320 slave_setid : int
3321 スレーブテーブルのセットID
3322 master_union_key : str
3323 マスターテーブルの結合キーリスト
3324 slave_union_key : str
3325 スレーブテーブルの結合キーリスト
3326 is_master_tableid : str
3327 Yes:マスターテーブルのIDを使用する、No:使用しない
3328 is_slave_rec_number : str
3329 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
3330 is_delete_table : str
3331 Yes:元テーブルを削除する、No:削除しない
3332
3333 Returns
3334 -------
3335 ResultCode : int
3336 結果コード(正:生成されたテーブルID、負:エラーコード)
3337
3338 Examples
3339 ----------
3340 テーブルpractice1とpractice2の項目1を結合する
3341
3342 =====================================================================================================================================================================================================================================================================
3343 >>> dsx.get_tablelist()
3344 ['practice1', 'practice2']
3345 >>> dsx.union("union1","practice1","practice2",1,1,["項目1"],["項目1"],"No","No","No")
3346 4
3347 >>> dsx.get_tablelist()
3348 ['practice1, 'practice2','union1']
3349 >>> dsx.get_tuple("union1",1,50,1)
3350 [['SeqNo', 'RecNo', '項目1'], ['1', '1', 'あ'], ['2', '2', 'い'], ['3', '3', 'う'], ['4', '4', 'え'], ['5', '5', 'お'], ['6', '6', 'ア'], ['7', '7', 'イ'], ['8', '8', 'ウ'], ['9', '9', 'エ'], ['10', '10', 'オ']]
3351 =====================================================================================================================================================================================================================================================================
3352
3353 See Also
3354 ----------
3355 1.テーブル一覧取得(get_tablelist)で、UNIONテーブルが追加されたことを確認できます
3356 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
3357 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3358
3359 """
3360 import UnionEx
3361 serv = UnionEx.UnionEx()
3362 serv.UtableName = table_name
3363 serv.MtableName = master_table_name
3364 serv.StableName = slave_table_name
3365 serv.MsetID = master_setid
3366 serv.SsetID = slave_setid
3367 serv.MUnionKey = master_union_key
3368 serv.SUnionKey = slave_union_key
3369 serv.MtableID = is_master_tableid
3370 serv.RecNo = is_slave_rec_number
3371 serv.DelTable = is_delete_table
3372 serv.execDataService()
3373 self.LastMessage = serv.ResultMessage
3374 return serv.ResultCode
3375
3376 def visible_item(self, table_name, item_name, is_visibility = 'Yes'):
3377 """
3378 項目の表示/非表示
3379
3380 Parameters
3381 ----------
3382 table_name : str
3383 テーブル名
3384 item_name : str
3385 項目名
3386 is_visibility : str, default 'Yes'
3387 表示/非表示(Yes/No)
3388
3389 Returns
3390 -------
3391 ResultCode : int
3392 結果コード(0:成功、負:エラーコード)
3393 """
3394 import VisibleItemEx
3395 serv = VisibleItemEx.VisibleItemEx()
3396 serv.TableName = table_name
3397 serv.FilterName = item_name
3398 serv.Visibility = is_visibility
3399 serv.execDataService()
3400 self.LastMessage = serv.ResultMessage
3401 return serv.ResultCode
3402
3403 def xsum(self, table_name, setid, dimension_item_list, measure_item_list):
3404 """
3405 データの集計
3406
3407 Parameters
3408 ----------
3409 table_name : str
3410 テーブル名
3411 setid : int
3412 セットID
3413 dimension_item_list : list
3414 次元の項目名リスト(最大32項目)
3415 measure_item_list : list
3416 測度の項目リスト {項目名,件数,最大値,最小値,合計値,平均値}(最大32項目)
3417 件数 (Yes:集計する、No:集計しない)
3418 最大値(Yes:集計する、No:集計しない)
3419 最小値(Yes:集計する、No:集計しない)
3420 合計値(Yes:集計する、No:集計しない)
3421 平均値(Yes:集計する、No:集計しない)
3422
3423 Returns
3424 -------
3425 ResultCode : int
3426 結果コード(正:生成された集計テーブルID、負:エラーコード)
3427
3428 Examples
3429 ----------
3430 項目1の件数、最大値、最小値、合計値、平均値を集計する
3431
3432 =============================================================================================================================================================================================================================================================================================================================================================================================================
3433 >>> dsx.get_tuple("practice1",1,50,2)
3434 [['SeqNo', 'RecNo', '項目1', '項目2', '項目3'], ['1', '1', '10', '20', '30'], ['2', '2', '9', '19', '29'], ['3', '3', '8', '18', '28'], ['4', '4', '7', '17', '27'], ['5', '5', '6', '16', '26']]
3435 >>> dsx.xsum("practice1",1,["項目1"],[["項目1","Yes","Yes","Yes","Yes","Yes"]])
3436 5
3437 >>> dsx.get_tablelist()
3438 ['practice1', 'XTBL_practice1']
3439 >>> dsx.get_tuple("XTBL_practice1",1,50,1)
3440 [['SeqNo', 'RecNo', '項目1', 'N<項目1>', 'MAX<項目1>', 'MIN<項目1>', 'SUM<項目1>', 'AVG<項 目1>'], ['1', '1', '1', '1', '1', '1', '1.000', '1.000'], ['2', '2', '2', '1', '2', '2', '2.000', '2.000'], ['3', '3', '3', '1', '3', '3', '3.000', '3.000'], ['4', '4', '4', '1', '4', '4', '4.000', '4.000'], ['5', '5', '5', '1', '5', '5', '5.000', '5.000']]
3441 =============================================================================================================================================================================================================================================================================================================================================================================================================
3442
3443 Notes
3444 ----------
3445 引数の、測度の項目リストの角カッコ[ ]は二重である点に注意してください
3446
3447 See Also
3448 ----------
3449 1.テーブル一覧取得(get_tablelist)で、集計テーブルが追加されたことを確認できます
3450 2.テーブルデータ取得(get_tuple)で、集計結果を確認できます
3451 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3452
3453 """
3454 import XSumEx
3455 serv = XSumEx.XSumEx()
3456 serv.TableName = table_name
3457 serv.SetID = setid
3458 serv.DItemList = dimension_item_list
3459 outlist = []
3460 for inlist in measure_item_list:
3461 outlist.append(inlist)
3462 serv.NItemList = outlist
3463 serv.execDataService()
3464 self.LastMessage = serv.ResultMessage
3465 return serv.ResultCode
3466
3467 def load_arrow(self, table, columns = None):
3468 """
3469 Apache Arrow(インメモリ)形式のテーブルを読み込む
3470
3471 ※ pyarrow(Python Lib.)のインストールが必要です。
3472
3473 Parameters
3474 ----------
3475 table : pyarrow.Table
3476 Apache Arrow Tableオブジェクト
3477 columns : list, default None
3478 抽出カラム名リスト(省略時は全カラムが対象)
3479
3480 Returns
3481 -------
3482 ResultCode : str
3483 テーブル名、None:エラー
3484 """
3485 import LoadArrow
3486 try:
3487 serv = LoadArrow.LoadArrow()
3488 serv.Table = table
3489 serv.Columns = columns
3490 serv.execDataService()
3491 self.LastMessage = serv.ResultMessage
3492 return serv.ResultStr
3493 except Exception as e:
3494 raise Exception("pyarrowException " + str(e))
3495
3496 def save_arrow(self, table_name, setid = -1, columns = None):
3497 """
3498 テーブルをApache Arrow(インメモリ)形式で書き出す
3499
3500 ※ pyarrow(Python Lib.)のインストールが必要です。
3501
3502 Parameters
3503 ----------
3504 table_name : str
3505 テーブル名
3506 setid : int, default -1
3507 セットID(省略した場合はカレントセット)
3508 columns : list, default None
3509 抽出項目名リスト(省略時は全項目が対象)
3510
3511 Returns
3512 -------
3513 ResultCode : pyarrow.Table
3514 arrow.Tableオブジェクト、None:エラー
3515 """
3516 import SaveArrow
3517 try:
3518 serv = SaveArrow.SaveArrow()
3519 serv.TableName = table_name
3520 serv.SetID = setid
3521 serv.Columns = columns
3522 serv.execDataService()
3523 self.LastMessage = serv.ResultMessage
3524 return serv.ArrowTable
3525 except Exception as e:
3526 raise Exception("pyarrowException " + str(e))
3527
3528 def read_parquet(self, table_name, file_name, columns = None):
3529 """
3530 Parquetファイルのインポート
3531
3532 ※ pyarrow(Python Lib.)のインストールが必要です。
3533
3534 Parameters
3535 ----------
3536 table_name : str
3537 テーブル名を定義
3538 file_name : str
3539 インポートファイル名(拡張子付き)
3540 columns : list, default None
3541 抽出カラム名リスト(省略時は全カラムが対象)
3542
3543 Returns
3544 -------
3545 ResultCode : int
3546 結果コード(正:テーブルID、負:エラーコード)
3547 """
3548 import ReadParquet
3549 try:
3550 serv = ReadParquet.ReadParquet()
3551 serv.TableName = table_name
3552 serv.FileName = file_name
3553 serv.Columns = columns
3554 serv.execDataService()
3555 self.LastMessage = serv.ResultMessage
3556 return serv.ResultCode
3557 except Exception as e:
3558 raise Exception("pyarrowException " + str(e))
3559
3560 def write_parquet(self, table_name, file_name, setid = -1, columns = None):
3561 """
3562 テーブルをParquet形式でエクスポート
3563
3564 ※ pyarrow(Python Lib.)のインストールが必要です。
3565
3566 Parameters
3567 ----------
3568 table_name : str
3569 テーブル名
3570 file_name : str
3571 エクスポート先のファイル名
3572 setid : int, default -1
3573 セットID(省略した場合はカレントセット)
3574 columns : list, default None
3575 抽出項目名リスト(省略時は全項目が対象)
3576
3577 Returns
3578 -------
3579 ResultCode : int
3580 結果コード(正:出力行数、負:エラーコード)
3581 """
3582 import WriteParquet
3583 try:
3584 serv = WriteParquet.WriteParquet()
3585 serv.TableName = table_name
3586 serv.FileName = file_name
3587 serv.SetID = setid
3588 serv.Columns = columns
3589 serv.execDataService()
3590 self.LastMessage = serv.ResultMessage
3591 return serv.ResultCode
3592 except Exception as e:
3593 raise Exception("pyarrowException " + str(e))
3594
3595 def start_sdc3(self):
3596 """
3597 Jupyterから「SDC V3」を起動(限定公開機能)
3598 JupyterとSDC V3でデータ処理エンジンを共用(お互いが処理したテーブルを参照・更新できる)
3599
3600
3601 デスクトップタイプのみ動作可能(Jupyter notebook/labのセル中で使用すること)
3602 PYTHONPATHでserverへのパス指定が必須です。
3603
3604 Jupyter lab 起動例
3605 cd ESPERiCフォルダーのパス
3606 export PYTHONPATH=$(cd "./server/dataService" && pwd):$PYTHONPATH
3607 export PYTHONPATH=$(cd "./server" && pwd):$PYTHONPATH
3608 export DYLD_LIBRARY_PATH=$(cd "./server/di5engine/mac" && pwd) ←←← macOSの場合のみ 必須
3609 Jupyter Lab
3610
3611 使用上の注意
3612 1. Jupyter側で作成したテーブル/セットをSDC V3側のワークスペース表示に反映させるには、SDC V3側でワークスペースの変更を伴う操作が必要です。
3613 2. SDC V3側でログアウトするとJupyter側のPythonjカーネルが停止して、以後、操作できなくなります。
3614 3. SDC V3側で参照しているテーブルをJupyter側で削除/変更すると、SDC V3側で予期せぬエラーが発生することがあります。
3615
3616
3617 Parameters
3618 ----------
3619 None
3620
3621 Returns
3622 -------
3623 None
3624 """
3625 import StartSDC3
3626 sdc = StartSDC3.startSDC3()
3627 sdc.start()
3628 return
3629
3630 def get_data_type(self, table_name, item_name):
3631 """
3632 項目のデータ型
3633
3634 # 整数 :2
3635 # 浮動小数 :3
3636 # 日付 :4
3637 # 時刻 :5
3638 # 文字列 :6
3639 # 日付時刻 :7
3640 # NUMERIC :8
3641
3642
3643 Parameters
3644 ----------
3645 table_name : str
3646 テーブル名
3647 item_name : str
3648 項目名
3649
3650 Returns
3651 -------
3652 ResultCode : int
3653 結果コード(2 ~ 8:成功、負:エラーコード)
3654 """
3655 import GetDataTypeEx
3656 serv = GetDataTypeEx.GetDataTypeEx()
3657 serv.TableName = table_name
3658 serv.FilterName = item_name
3659 serv.execDataService()
3660 self.LastMessage = serv.ResultMessage
3661 return serv.ResultCode
def join_realize(self, join_table_name, real_table_name, setid, master_rec_number='Yes', slave_rec_number='Yes', item_name_list=' *')
def get_cell(self, table_name, item_name, start_row=1, row_count=1, setid=-1)
def edit_comma(self, table_name, item_name, is_edit='Yes')
def get_license_expiration(self)
def fill_cell(self, table_name, item_name, set_string, start_row=1, row_count=-1, setid=-1)
def write_csv(self, table_name, file_name, setid, delimiter='CSV', write_top=1, write_bottom=-1, write_left=1, write_right=-1, is_header='Yes')
def delete_row(self, table_name, start_row, row_count, setid=-1)
def db_save(self, file_name)
def sort_item(self, table_name, sort_key)
def search_values(self, table_name, item_name, setid, search_string_list)
def delete_set(self, table_name, setid)
def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid=-1)
def get_valuelist(self, table_name, setid, item_name)
def duplicate_table(self, table_name)
def compression(self, table_name)
def sort(self, table_name, item_name, setid, sort_type='ASC')
def setand(self, table_name, src_setid, dst_setid)
def write_csv_selectitem(self, table_name, file_name, setid, delimiter='CSV', write_top=1, write_bottom=-1, item_name_list=' *', is_header='Yes')
def get_itemlist(self, table_name)
def insert_row(self, table_name, row_count, start_row=1)
def duplicate_item(self, table_name, item_name)
def db_load(self, file_name)
def setnot(self, table_name, setid)
def delete_resultset(self, table_name, setid)
def get_limit_row(self)
def search_values_bytable(self, table_name, item_name, setid, list_table_name, list_item_name, list_setid)
def get_limit_cpu(self)
def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid=-1)
def comment(self, comment)
def get_memory(self, table_name)
def get_tuple_asjson(self, table_name, start_row=1, fetch_size=128, setid=-1)
def join(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_join_key, slave_join_key, is_in_out, is_transfer_item='No')
def get_tablelist(self)
def move_item(self, table_name, item_name_list, item_name)
def create_table(self, row_count, table_name)
def __init__(self, is_macro_stop=False, is_language="ja-JP")
def get_data_type(self, table_name, item_name)
def load(self, file_name)
def get_setid_list(self, table_name)
def load_arrow(self, table, columns=None)
def calc(self, table_name, item_name, calc_string, row_count=-1, start_row=1, setid=-1)
def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name)
def delete_item(self, table_name, item_name)
def search(self, table_name, item_name, setid, search_string)
def append_row(self, table_name, row_count, start_row=1)
def db_codeset(self, db_codeset)
def read_parquet(self, table_name, file_name, columns=None)
def extract_unique(self, table_name, setid, item_name_list=' *', is_keep_order='Yes')
def get_rowcount(self, table_name, setid=-1)
def visible_item(self, table_name, item_name, is_visibility='Yes')
def delete_table(self, table_name)
def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space='No', setid=-1)
def categorize(self, table_name, item_name, category_table_name)
def transfer_item(self, table_name, item_name)
def catalog(self, table_name, file_name, catalog_name, mode=None)
def extract_set(self, table_name, setid, is_view_table_id='Yes', is_record_number='Yes', item_name_list=' *', new_table_name=None)
def set_license(self, license_key)
def union(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_union_key, slave_union_key, is_master_tableid='Yes', is_slave_rec_number='Yes', is_delete_table='No')
def get_tablename(self, tableid)
def convert_type(self, table_name, item_name, data_type)
def search_string(self, table_name, setid, expression)
def delete_allset(self, table_name)
def get_tuple(self, table_name, start_row=1, fetch_size=128, setid=-1)
def move_currentset(self, table_name, setid)
def get_limit_memory(self)
def search_values_bycsv(self, table_name, item_name, setid, file_name)
def rename_item(self, table_name, item_name, new_item_name)
def set_comment(self, table_name, setid, comment_string)
def setsub(self, table_name, src_setid, dst_setid)
def join_inout(self, table_name, is_slave, is_in_out)
def read_csv(self, table_name, file_name)
def save_arrow(self, table_name, setid=-1, columns=None)
def save(self, file_name)
def write_parquet(self, table_name, file_name, setid=-1, columns=None)
def output_log(self, is_content='No', is_result='Yes', is_recipe='No', is_document='No')
def float_format(self, table_name, item_name, digit)
def rename_table(self, table_name, new_table_name)
def xsum(self, table_name, setid, dimension_item_list, measure_item_list)
def setor(self, table_name, src_setid, dst_setid)