8 ※ Jupyter notebook/labでGear-APIを使用する場合、dataServerへのパス指定が必須です。
9 ※ macOSの場合、DYLD_LIBRARY_PATHでdi5engine/mac指へのパス指定が必須です。
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の場合のみ 必須
19 def __init__(self, is_macro_stop = False, is_language = "ja-JP"):
25 is_macro_stop : bool, default False
28 is_language : str, default
'ja-JP'
34 serv = DataServiceCtl.DataServiceCtl()
35 serv.IsMacroStop = is_macro_stop
36 serv.IsLanguage = is_language
37 serv.execDataService()
39 def __get_message(self):
50 def __set_message(self, message):
61 LastMessage = property(fget=__get_message, fset=__set_message)
63 def __document(self, is_document ='No'):
69 is_document : str, default'No'
70 Yes:ドキュメント出力あり、No:出力なし
78 serv = DocumentEx.DocumentEx()
79 serv.Documentout = is_document
80 serv.execDataService()
82 return serv.ResultCode
84 def output_log(self, is_content ='No', is_result ='Yes', is_recipe ='No', is_document ='No'):
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:出力なし
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()
112 return serv.ResultCode
114 def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name):
123 追加位置(項目名)項目が一つもない、もしくは先頭列に追加したい場合は、"RecNo"を指定
127 追加項目のデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
129 項目ファイル名(拡張子付き)空項目を追加する場合は空白
""
134 結果コード(正:追加項目ID、負:エラーコード)
138 テーブルpractice1に、整数型の項目1を空項目で追加する
140 =============================================================
141 >>>dsx.get_itemlist(
"practice1")
143 >>>dsx.add_realitem(
"practice1",
"RecNo",
"項目1",
"Integer",
"")
145 >>>dsx.get_itemlist(
"practice1")
147 =============================================================
155 serv = AddRealItemEx.AddRealItemEx()
156 serv.TableName = table_name
157 serv.AddPos = add_position
158 serv.NewFilterName = new_item_name
159 serv.FilterType = item_type
160 serv.FileName = file_name
161 serv.execDataService()
163 return serv.ResultCode
165 def __add_realitem_numeric(self, table_name, add_position, new_item_name, item_type, num_scale, num_mode, file_name):
178 追加項目のデータ型(Numeric:NUMERIC)
182 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
184 項目ファイル名(拡張子付き)空項目を追加する場合は空白
189 結果コード(正:追加項目ID、負:エラーコード)
191 import AddRealItemNumericEx
192 serv = AddRealItemNumericEx.AddRealItemNumericEx()
193 serv.TableName = table_name
194 serv.AddPos = add_position
195 serv.NewFilterName = new_item_name
196 serv.FilterType = item_type
197 serv.NumScale = num_scale
198 serv.NumMode = num_mode
199 serv.FileName = file_name
200 serv.execDataService()
202 return serv.ResultCode
214 start_row : int, default 1
220 結果コード(正:追加行数、負:エラーコード)
226 ==========================================
227 >>> dsx.get_rowcount("practice1",1)
229 >>>dsx.get_cell(
"practice1",
"項目1",1,3,1)
231 >>>dsx.append_row(
"practice1",1,1)
233 >>> dsx.get_rowcount(
"practice1",1)
235 >>>dsx.get_cell(
"practice1",
"項目1",1,4,1)
237 ==========================================
242 2.
get_cell(セルの値取得)で、追加された行の位置を確認することができます
246 serv = AppendRowEx.AppendRowEx()
247 serv.TableName = table_name
248 serv.StartRow = start_row
249 serv.RowCount = row_count
250 serv.execDataService()
252 return serv.ResultCode
254 def calc(self, table_name, item_name, calc_string, row_count = -1, start_row = 1, setid = -1):
266 row_count : int, default -1
268 start_row : int, default 1
270 setid : int, default -1
271 セットID(省略した場合はカレントセット)
280 1.項目1(整数)の全行を1,000倍にする
282 ========================================================
283 >>>dsx.get_cell("practice1",
"項目1",1,3,1)
285 >>>dsx.calc(
"practice1",
"項目1",
'*(@項目1,1000)',-1,1,1)
287 >>>dsx.get_cell(
"practice1",
"項目1",1,3,1)
288 [
'1000',
'2000',
'3000']
289 ========================================================
291 2.項目1(文字列)と項目2(文字列)を結合する
293 =================================================================================
294 >>> dsx.get_tuple(
"practice1",1,2,1)
295 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'ア',
'カ'], [
'2',
'2',
'イ',
'キ']]
296 >>> dsx.calc(
"practice1",
"項目1",
'$&($@項目1,$@項目2)',-1,1,1)
298 >>> dsx.get_tuple(
"practice1",1,2,1)
299 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'アカ',
'カ'], [
'2',
'2',
'イキ',
'キ']]
300 =================================================================================
304 計算式はシングルクォーテーションで括ります
308 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、計算結果を確認することができます
309 3.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
310 4.計算の構文については、クッキングマニュアルの「4-3-2 計算:関数一覧」をご参照ください
314 serv = CalcEx.CalcEx()
315 serv.TableName = table_name
316 serv.FilterName = item_name
317 serv.StartRow = start_row
318 serv.RowCount = row_count
319 serv.CalcStr = calc_string
321 serv.execDataService()
323 return serv.ResultCode
325 def catalog(self, table_name, file_name, catalog_name, mode = None):
334 カタログファイル名(拡張子付き StructInfo.txt)
339 結果コード(正:テーブルID、負:エラーコード)
343 カタログファイル(StructInfo.txt)に従ってpractice1.csvをインポートする
345 =============================================================
346 >>> dsx.catalog("practice1",
"practice1.csv",
"StructInfo.txt")
348 =============================================================
352 1.インポートできない時は、DBとインポートするCSVファイル、カタログファイルの文字コードが一致していることをご確認ください
353 2.インポートファイル、カタログファイルは相対パスもしくは絶対パスで指定してください
356 カタログファイルの指定(dataType [tab] dataSize [tab] itemName)
372 3-2.文字コード(任意:CSVファイルの文字コードがエンジンのDB文字コードと異なる場合に指定)
375 //MS932 MS932 (Windows 日本語)
377 3-3.オプション(任意:先頭の項目行を読み飛ばす場合に指定)
390 データの長さを指定(固定長データファイルの場合のみ有効)
401 serv = CatalogEx.CatalogEx()
402 serv.TableName = table_name
403 serv.CatName = catalog_name
404 serv.SrcName = file_name
406 serv.execDataService()
408 return serv.ResultCode
424 結果コード(正:テーブルID、負:エラーコード)
428 CSVファイル(practice.csv)をインポートする
430 ============================================
431 >>> dsx.read_csv("practice1",
"practice.csv")
433 ============================================
437 1.CSVファイルの文字コードは、エンジンのDB文字コードの設定と一致させて下さい
438 2.CSVファイルの先頭は項目行として、この行の内容で項目名を決定します
439 3.CSVファイルの先頭数行の内容を調べて、各項目のデータタイプを決定します
440 4.期待通りのデータタイプでテーブルが作成されない場合、項目の型変換もしくはcatalog(カタログインポート)で、インポートして下さい
441 5.CSVファイルは相対パスもしくは絶対パスで指定してください
449 serv = ReadCsvEx.ReadCsvEx()
450 serv.TableName = table_name
451 serv.SrcName = file_name
453 serv.execDataService()
455 return serv.ResultCode
457 def categorize(self, table_name, item_name, category_table_name):
467 category_table_name : str
473 結果コード(正:作成した項目ID、負:エラーコード)
477 項目1をカテゴリーテーブルcategorize1によってカテゴライズする
479 ===============================================================================================================
480 ※事前に、作成したカテゴリーテーブルcategorize1をロードしています
481 >>> dsx.get_tablelist()
482 ['practice1',
'categorize1']
483 >>> dsx.get_tuple(
"practice1",1,2,1)
484 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'1',
'11'], [
'2',
'2',
'2',
'12']]
485 >>> dsx.categorize(
"practice1",
"項目1",
"categorize1")
487 >>> dsx.get_tuple(
"practice1",1,2,1)
488 [[
'SeqNo',
'RecNo',
'項目1',
'categorize1_項目1_',
'項目2'], [
'1',
'1',
'1',
'奇数A',
'11'], [
'2',
'2',
'2',
'偶数A',
'12']]
489 ================================================================================================================
493 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、カテゴライズを確認することができます
494 2.数値カテゴライズおよびカテゴリ定義テーブルについては、クッキングマニュアルをご参照ください
498 serv = CategorizeEx.CategorizeEx()
499 serv.TableName = table_name
500 serv.FilterName = item_name
501 serv.CatableName = category_table_name
502 serv.execDataService()
504 return serv.ResultCode
519 =====================================
520 >>>dsx.get_tablelist()
521 ['practice1',
'practice2',
'practice3']
524 >>>dsx.get_tablelist()
526 =====================================
534 serv = ClearWSEx.ClearWSEx()
535 serv.execDataService()
537 return serv.ResultCode
546 任意の文字列、DATETIMEは日付時刻を表示
554 serv = CommentEx.CommentEx()
555 serv.Commentout = comment
556 serv.execDataService()
558 return serv.ResultCode
571 is_edit : str, default'Yes'
581 テーブルpractice1の項目1に3桁区切りでカンマをつける
583 =============================================
584 >>> dsx.get_cell(
"practice1",
"項目1",1,3,1)
585 [
'1000',
'2000',
'3000']
586 >>> dsx.edit_comma(
"practice1",
"項目1",
"Yes")
588 >>> dsx.get_cell(
"practice1",
"項目1",1,3,1)
589 [
'1,000',
'2,000',
'3,000']
590 =============================================
594 get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、カンマがついていることを確認することができます
598 serv = EditCommaEx.EditCommaEx()
599 serv.TableName = table_name
600 serv.FilterName = item_name
602 serv.execDataService()
604 return serv.ResultCode
624 ===============================
625 >>>dsx.get_memory("practice1")
627 >>>dsx.compression(
"practice1")
629 >>>dsx.get_memory(
"practice1")
631 ===============================
639 serv = CompressionEx.CompressionEx()
640 serv.TableName = table_name
641 serv.execDataService()
643 return serv.ResultCode
645 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'):
653 master_table_name : str
655 slave_table_name : str
661 master_join_key : list
663 slave_join_key : list
666 Inner:内部JOIN、Outer:外部JOIN
667 is_transfer_item : str, default'No'
673 結果コード(正:JOINテーブルID、負:エラーコード)
677 テーブルpractice1とpractice2を内部結合(InnerJOIN)する
679 ==================================================================================
680 >>> dsx.join(
"join1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"Inner",
"No")
682 >>> dsx.get_tablelist()
683 [
'practice1',
'practice2',
'join1']
684 >>> dsx.get_tuple(
"join1",1,2,1)
685 [[
'SeqNo',
'RecNo',
'項目1',
'項目1_#1'], [
'1',
'1',
'あ',
'ア'], [
'2',
'2',
'い',
'イ']]
686 ==================================================================================
691 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、結合結果を確認することができます
695 serv = JoinEx.JoinEx()
696 serv.JtableName = table_name
697 serv.MtableName = master_table_name
698 serv.StableName = slave_table_name
699 serv.MsetID = master_setid
700 serv.SsetID = slave_setid
701 serv.MJoinKey = master_join_key
702 serv.SJoinKey = slave_join_key
703 serv.IsInOrOut = is_in_out
704 serv.IsStarJoin = is_transfer_item
705 serv.execDataService()
707 return serv.ResultCode
723 結果コード(正:テーブルID、負:エラーコード)
727 5行のテーブル、practice1を作成する
729 ==================================
730 >>>dsx.create_table(5,"practice1")
732 >>>dsx.get_tablelist()
734 >>>dsx.get_rowcount(
"practice1",1)
736 ==================================
745 serv = CreateTableEx.CreateTableEx()
746 serv.RowCount = row_count
747 serv.TableName = table_name
748 serv.execDataService()
750 return serv.ResultCode
759 DB文字コード(UTF-8 または Shift_JIS)
770 =========================
771 >>>dsx.db_codeset("UTF8")
773 =========================
777 ==============================
778 >>>dsx.db_codeset(
"Shift_JIS")
780 ==============================
784 serv = DBCodeSetEx.DBCodeSetEx()
785 serv.DbCode = db_code
786 serv.execDataService()
788 return serv.ResultCode
806 ================================
807 >>>dsx.db_load("practice99.D5D")
809 ================================
813 D5Dファイルは相対パスもしくは絶対パスで指定してください
817 D5Dファイル、D5Tファイルについてはクッキングマニュアルをご参照ください
821 serv = DBLoadEx.DBLoadEx()
822 serv.WorkSpace = file_name
823 serv.execDataService()
825 return serv.ResultCode
843 ================================
844 >>>dsx.db_save("practice99.D5D")
846 ================================
850 D5Dファイルは、保存先を相対パスもしくは絶対パスで指定してください
854 D5Dファイル、D5Tファイルについてはクッキングマニュアルをご参照ください
858 serv = DBSaveEx.DBSaveEx()
859 serv.WorkSpace = file_name
860 serv.execDataService()
862 return serv.ResultCode
880 テーブルpractice1のサブテーブルを全て削除する
882 ================================================================================
883 >>>dsx.get_setid_list("practice1")
884 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ'..."]]
885 >>>dsx.delete_allset(
"practice1")
887 >>>dsx.get_setid_list(
"practice1")
889 ================================================================================
896 import DeleteAllSetEx
897 serv = DeleteAllSetEx.DeleteAllSetEx()
898 serv.TableName = table_name
899 serv.execDataService()
901 return serv.ResultCode
921 テーブルpractice1の検索リザルトセットを削除する
923 ================================================================================
924 >>>dsx.get_setid_list("practice1")
925 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ'..."]]
926 >>>dsx.delete_resultset(
"practice1",3)
928 >>>dsx.get_setid_list(
"practice1")
929 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
930 ================================================================================
935 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
938 import DeleteResultSetEx
939 serv = DeleteResultSetEx.DeleteResultSetEx()
940 serv.TableName = table_name
942 serv.execDataService()
944 return serv.ResultCode
946 def delete_row(self, table_name, start_row, row_count, setid = -1):
958 setid : int, default -1
959 セットID(省略した場合はカレントセット)
964 結果コード(正:削除行数、負:エラーコード)
968 テーブルpractice1の2行目を削除する
970 ==========================================
971 >>>dsx.get_rowcount("practice1",1)
973 >>>dsx.get_cell(
"practice1",
"項目1",1,3,1)
975 >>>dsx.delete_row(
"practice1",2,1,1)
977 >>>dsx.get_rowcount(
"practice1",1)
979 >>>dsx.get_cell(
"practice1",
"項目1",1,3,1)
981 ==========================================
986 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、行が削除されたことを確認することができます
987 3.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
991 serv = DeleteRowEx.DeleteRowEx()
992 serv.TableName = table_name
993 serv.StartRow = start_row
994 serv.RowCount = row_count
996 serv.execDataService()
998 return serv.ResultCode
1014 結果コード(0:成功、負:エラーコード)
1020 =======================================
1021 >>>dsx.get_itemlist("practice1")
1023 >>>dsx.delete_item(
"practice1",
"項目1")
1025 >>>dsx.get_itemlist(
"practice1")
1027 =======================================
1035 serv = DeleteItemEx.DeleteItemEx()
1036 serv.TableName = table_name
1037 serv.FilterName = item_name
1038 serv.execDataService()
1040 return serv.ResultCode
1054 結果コード(0:成功、負:エラーコード)
1060 =================================
1061 >>> dsx.get_tablelist()
1062 ['practice1',
'practice2']
1063 >>> dsx.delete_table(
"practice1")
1065 >>> dsx.get_tablelist()
1067 =================================
1074 import DeleteTableEx
1075 serv = DeleteTableEx.DeleteTableEx()
1076 serv.TableName = table_name
1077 serv.execDataService()
1079 return serv.ResultCode
1093 結果コード(正:複製されたテーブルID、負:エラーコード)
1099 ====================================
1100 >>> dsx.get_tablelist()
1102 >>> dsx.duplicate_table(
"practice1")
1104 >>> dsx.get_tablelist()
1105 [
'practice1',
'practice1_#1']
1106 ====================================
1112 import DuplicateTableEx
1113 serv = DuplicateTableEx.DuplicateTableEx()
1114 serv.TableName = table_name
1115 serv.execDataService()
1117 return serv.ResultCode
1133 結果コード(正:複製された項目ID、負:エラーコード)
1139 ===========================================
1140 >>> dsx.get_itemlist("practice1")
1142 >>> dsx.duplicate_item(
"practice1",
"項目1")
1144 >>> dsx.get_itemlist(
"practice1")
1146 ===========================================
1153 import DuplicateItemEx
1154 serv = DuplicateItemEx.DuplicateItemEx()
1155 serv.TableName = table_name
1156 serv.FilterName = item_name
1157 serv.execDataService()
1159 return serv.ResultCode
1161 def extract_set(self, table_name, setid, is_view_table_id ='Yes', is_record_number ='Yes', item_name_list ='*', new_table_name = None):
1163 サブテーブル(セット)を実テーブルに抽出
1171 is_view_table_id : str, default'Yes'
1172 Yes:テーブルIDを表示する、No:表示しない
1173 is_record_number : str, default
'Yes'
1174 Yes:RecNoを出力する、N0:出力しない
1175 item_name_list : list, default
'*'
1176 抽出項目名リスト(
"*"は全項目が対象)
1177 new_table_name : str, default
None
1183 結果コード(正:生成されたテーブルID、負:エラーコード)
1187 テーブルpractice1のサブテーブル(値リスト検索結果)を実テーブルに抽出する
1189 ==============================================================
1190 >>> dsx.get_tablelist()
1192 >>> dsx.get_setid_list(
"practice1")
1193 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
1194 >>> dsx.extract_set(
"practice1",2,
"No",
"Yes",[
"項目1"],
"set1")
1196 >>> dsx.get_tablelist()
1197 [
'practice1',
'set1']
1198 ==============================================================
1203 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1207 serv = ExtractSetEx.ExtractSetEx()
1208 serv.TableName = table_name
1210 serv.TableIDAns = is_view_table_id
1211 serv.RecNoAns = is_record_number
1212 serv.FilterNameList = item_name_list
1213 serv.NewtableName = new_table_name
1214 serv.execDataService()
1216 return serv.ResultCode
1218 def extract_unique(self, table_name, setid, item_name_list ='*', is_keep_order ='Yes'):
1228 item_name_list : list, default'*'
1229 抽出項目名リスト(
"*"は全項目が対象)
1230 is_keep_order : str, default
'Yes'
1236 結果コード(正:生成されたセットID、負:エラーコード)
1242 ===========================================================================================================
1243 >>> dsx.get_tuple(
"practice1",1,5,1)
1244 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'あ'], [
'3',
'3',
'い'], [
'4',
'4',
'う'], [
'5',
'5',
'う']]
1245 >>>dsx.extract_unique(
"practice1",1,[
"項目1"],
"Yes")
1247 >>> dsx.get_tuple(
"practice1",1,3,2)
1248 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'3',
'い'], [
'3',
'4',
'う']]
1249 ===========================================================================================================
1253 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、ユニーク行を抽出したことを確認することができます
1254 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1257 import ExtractUniqueEx
1258 serv = ExtractUniqueEx.ExtractUniqueEx()
1259 serv.TableName = table_name
1261 serv.FilterNameList = item_name_list
1262 serv.CnsvOdrAns = is_keep_order
1263 serv.execDataService()
1265 return serv.ResultCode
1267 def fill_cell(self, table_name, item_name, set_string, start_row = 1, row_count = -1, setid = -1):
1279 start_row : int, default 1
1281 row_count : int, default -1
1283 setid : int, default -1
1284 セットID(省略した場合はカレントセット)
1289 結果コード(正:データ数、負:エラーコード)
1295 ==================================================
1296 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
1297 [
'あ',
'い',
'う',
'え',
'お']
1298 >>> dsx.fill_cell(
"practice1",
"項目1",
"あ",1,-1,1)
1299 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
1300 [
'あ',
'あ',
'あ',
'あ',
'あ']
1301 ==================================================
1305 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、入力結果を確認することができます
1306 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1307 3.各行に同じ値を入力したい場合はfill_cell(値を入力)、各行に違う値を入力したい場合はset_cell(値書込み)を利用してください
1311 serv = FillCellEx.FillCellEx()
1312 serv.TableName = table_name
1313 serv.FilterName = item_name
1314 serv.StartRow = start_row
1315 serv.RowCount = row_count
1316 serv.FillStr = set_string
1318 serv.execDataService()
1320 return serv.ResultCode
1336 結果コード(0:成功、負:エラーコード)
1342 =====================================
1343 >>> dsx.get_itemlist("practice1")
1345 >>> dsx.sort_item(
"practice1",
"NAME")
1347 >>> dsx.get_itemlist(
"practice1")
1349 =====================================
1357 serv = SortItemEx.SortItemEx()
1358 serv.TableName = table_name
1359 serv.SortKey = sort_key
1360 serv.execDataService()
1362 return serv.ResultCode
1378 結果コード(正:追加作成された項目ID、負:エラーコード)
1382 テーブルpractice1とpractice2を内部結合(InnerJOIN)した後、項目1を転送する
1384 ==================================================================================================
1385 >>> dsx.join("join1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"Inner",
"No")
1387 >>> dsx.get_tuple(
"practice1",1,2,1)
1388 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
1389 >>> dsx.transfer_item(
"join1",
"項目1")
1391 >>> dsx.get_tuple(
"practice1",1,2,1)
1392 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'ア'], [
'2',
'2',
'い',
'き',
'イ']]
1393 ==================================================================================================
1397 get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、転送した項目を確認することができます
1400 import TransferItemEx
1401 serv = TransferItemEx.TransferItemEx()
1402 serv.TableName = table_name
1403 serv.FilterName = item_name
1404 serv.execDataService()
1406 return serv.ResultCode
1424 結果コード(0:成功、負:エラーコード)
1428 浮動小数型の項目1の小数点以下を1桁にする
1430 ===========================================
1431 >>> dsx.get_cell("practice1",
"項目1",1,3,1)
1432 [
'1.000',
'2.000',
'3.000']
1433 >>> dsx.float_format(
"practice1",
"項目1",1)
1435 >>> dsx.get_cell(
"practice1",
"項目1",1,3,1)
1437 ===========================================
1441 get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、変更後の値を確認することができます
1444 import FloatFormatEx
1445 serv = FloatFormatEx.FloatFormatEx()
1446 serv.TableName = table_name
1447 serv.FilterName = item_name
1449 serv.execDataService()
1451 return serv.ResultCode
1453 def get_cell(self, table_name, item_name, start_row = 1, row_count = 1, setid = -1):
1463 start_row : int, default 1
1465 row_count : int, default 1
1467 setid : int, default -1
1468 セットID(省略した場合はカレントセット)
1477 項目1の先頭から3行分のセルの値を取得する
1479 ===========================================
1480 >>> dsx.get_cell("practice1",
"項目1",1,3,1)
1481 [
'1000',
'2000',
'3000']
1482 ===========================================
1486 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1490 serv = GetCellEx.GetCellEx()
1491 serv.TableName = table_name
1492 serv.FilterName = item_name
1493 serv.StartRow = start_row
1494 serv.RowCount = row_count
1496 serv.execDataService()
1498 return serv.ResultList
1508 start_row : int, default 1
1510 fetch_size : int, default 128
1512 setid : int, default -1
1513 セットID(省略した場合はカレントセット)
1522 テーブルpractice1をJSON形式で取得する
1524 =========================================================================================================
1525 >>> dsx.get_tuple_asjson("practice1",1,2,1)
1526 [{
'SeqNo':
'1',
'RecNo':
'1',
'項目1:'あ
','項目2
':'か
'}, {'SeqNo
':'2
','RecNo
':'2
','項目1
':'い
','項目2
':'き
'}]
1527 =========================================================================================================
1531 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1535 serv = GetTupleEx.GetTupleEx()
1536 serv.TableName = table_name
1537 serv.StartRow = start_row
1538 serv.FetchSize = fetch_size
1541 serv.execDataService()
1543 return serv.ResultList
1545 def get_tuple(self, table_name, start_row = 1, fetch_size = 128, setid = -1):
1553 start_row : int, default 1
1555 fetch_size : int, default 128
1557 setid : int, default -1
1558 セットID(省略した場合はカレントセット)
1563 文字列に変換した行配列データ(先頭行はカラム名配列)
1567 テーブルpractice1のテーブルデータを取得する
1569 =============================================================================
1570 >>> dsx.get_tuple("practice1",1,2,1)
1571 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
1572 =============================================================================
1576 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1580 serv = GetTupleEx.GetTupleEx()
1581 serv.TableName = table_name
1582 serv.StartRow = start_row
1583 serv.FetchSize = fetch_size
1586 serv.execDataService()
1588 return serv.ResultList
1590 def __get_fatalerror(self):
1596 GetFatalError : bool
1599 import DataServiceCtl2
1600 serv = DataServiceCtl2.DataServiceCtl2()
1601 return serv.GetFatalError()
1603 def __get_fatalerror_logname(self):
1609 GetFatalErrorLogName : str
1612 import DataServiceCtl2
1613 serv = DataServiceCtl2.DataServiceCtl2()
1614 return serv.GetFatalErrorLogName()
1632 テーブルpractice1の項目一覧を取得する
1634 =================================
1635 >>> dsx.get_itemlist("practice1")
1637 =================================
1640 import GetItemListEx
1641 serv = GetItemListEx.GetItemListEx()
1642 serv.TableName = table_name
1643 serv.execDataService()
1645 return serv.ResultList
1656 import GetLicenseExpirationEx
1657 serv = GetLicenseExpirationEx.GetLicenseExpirationEx()
1658 serv.execDataService()
1660 return serv.ResultStr
1671 import GetLimitCPUEx
1672 serv = GetLimitCPUEx.GetLimitCPUEx()
1673 serv.execDataService()
1675 return serv.ResultLong
1693 テーブルpractice1の使用メモリサイズを取得する
1695 ===============================
1696 >>> dsx.get_memory("practice1")
1698 ===============================
1702 serv = GetMemoryEx.GetMemoryEx()
1703 serv.TableName = table_name
1704 serv.execDataService()
1706 return serv.ResultLong
1710 使用可能メモリサイズ(ライセンス情報)取得
1717 import GetLimitMemoryEx
1718 serv = GetLimitMemoryEx.GetLimitMemoryEx()
1719 serv.execDataService()
1721 return serv.ResultLong
1732 import GetLimitRowEx
1733 serv = GetLimitRowEx.GetLimitRowEx()
1734 serv.execDataService()
1736 return serv.ResultLong
1749 ResultIntList : list
1750 セットリスト [ID, アトリビュート]
1754 テーブルpractice1のセットID一覧を取得する
1755 ====================================================================================
1756 >>> dsx.get_setid_list(“practice1”)
1757 [[1, ''], [2,
'Search Set:1 [項目1]<>あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
1758 ====================================================================================
1761 import GetSetIDListEx
1762 serv = GetSetIDListEx.GetSetIDListEx()
1763 serv.TableName = table_name
1764 serv.execDataService()
1766 return serv.ResultIntList
1776 setid : int, default -1
1777 セットID(省略した場合はカレントセット)
1782 結果コード(正:セットの行数、負:エラーコード)
1786 テーブルpractice1の行数を取得する
1788 ===================================
1789 >>> dsx.get_rowcount("practice1",1)
1791 ===================================
1795 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1798 import GetRowCountEx
1799 serv = GetRowCountEx.GetRowCountEx()
1800 serv.TableName = table_name
1802 serv.execDataService()
1804 return serv.ResultCode
1817 ワークスペースにあるテーブル一覧を取得する
1819 =======================
1820 >>> dsx.get_tablelist()
1822 =======================
1825 import GetTableListEx
1826 serv = GetTableListEx.GetTableListEx()
1827 serv.execDataService()
1829 return serv.ResultList
1847 テーブルID1~3のテーブル名を取得する
1849 =====================================
1850 >>>dsx.get_tablelist()
1851 ['practice1',
'practice2',
'practice3']
1852 >>> dsx.get_tablename(1)
1854 >>> dsx.get_tablename(2)
1856 >>> dsx.get_tablename(3)
1858 =====================================
1862 テーブルIDは自動的にロードした順でつけられます
1869 import GetTableNameEx
1870 serv = GetTableNameEx.GetTableNameEx()
1871 serv.TableID = tableid
1872 serv.execDataService()
1874 return serv.ResultStr
1892 値リスト(最大5,000行、5,000行を超えた場合は後を切り捨て)
1898 ============================================
1899 >>> dsx.get_valuelist("practice1",1,
"項目1")
1900 [
'',
'あ',
'い',
'う',
'え',
'お']
1901 ============================================
1905 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
1908 import GetValueListEx
1909 serv = GetValueListEx.GetValueListEx()
1910 serv.TableName = table_name
1912 serv.FilterName = item_name
1913 serv.execDataService()
1915 return serv.ResultList
1930 =====================
1931 >>> dsx.get_version()
1933 =====================
1937 serv = GetVersionEx.GetVersionEx()
1938 serv.execDataService()
1940 return serv.ResultStr
1944 JOINテーブルのIN/OUT集合サブテーブル化
1951 Yes:スレーブテーブルより抽出、No:マスターテーブルより抽出
1957 ResultIntList : list
1958 結果配列(セットが追加されたテーブルIDと生成されたセットID)
1962 JOINテーブルjoin1のIN集合をサブテーブル化する
1964 =================================================================================================
1965 ※practice1とpractice2をJOINしたものがテーブルjoin1となっています
1966 >>> dsx.get_tablelist()
1967 ['practice1',
'practice2',
'join1']
1968 >>> dsx.get_setid_list(
"practice1")
1970 >>> dsx.join_inout(
"join1",
"No",
"IN")
1972 >>> dsx.get_tablename(
"2")
1974 >>> dsx.get_setid_list(
"practice1")
1975 [[1,
''], [2,
'JoinIN isSlave No']]
1976 >>> dsx.get_tuple(
"practice1",1,2,2)
1977 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'ア'], [
'2',
'2',
'い',
'き',
'イ']]
1978 ==================================================================================================
1986 serv = JoinInOutEx.JoinInOutEx()
1987 serv.TableName = table_name
1988 serv.IsSlave = is_slave
1989 serv.IsJoinOut = is_in_out
1990 serv.execDataService()
1992 return serv.ResultIntList
2004 start_row : int, default 1
2010 結果コード(正:挿入行数、負:エラーコード)
2014 テーブルpractice1の3行目に1行挿入する
2016 ===========================================
2017 >>> dsx.get_rowcount("practice1",1)
2019 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
2020 [
'あ',
'い',
'う',
'え',
'お']
2021 >>> dsx.insert_row(
"practice1",1,3)
2023 >>> dsx.get_rowcount(
"practice1",1)
2025 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
2026 [
'あ',
'い',
'',
'う',
'え']
2027 ===========================================
2032 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、行の挿入位置を確認することができます
2036 serv = InsertRowEx.InsertRowEx()
2037 serv.TableName = table_name
2038 serv.StartRow = start_row
2039 serv.RowCount = row_count
2040 serv.execDataService()
2042 return serv.ResultCode
2044 def join_realize(self, join_table_name, real_table_name, setid, master_rec_number ='Yes', slave_rec_number ='Yes', item_name_list ='*'):
2046 JOINテーブルをREALテーブルに変換
2050 join_table_name : str
2052 real_table_name : str
2056 master_rec_number : str, default'Yes'
2057 Yes:マスターテーブルのRecNoを出力する、No:出力しない
2058 slave_rec_number : str, default
'Yes'
2059 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
2060 item_name_list : list, default
'*'
2066 結果コード(正:REALテーブルID、負:エラーコード)
2070 JOINテーブルjoin1をREALテーブルに変換する
2072 =======================================================
2073 >>> dsx.get_tablelist()
2074 [
'practice1',
'practice2',
'join1']
2075 >>> dsx.join_realize(
"join1",
"real1",1,
"No",
"No",[
"*"])
2077 >>> dsx.get_tablelist()
2078 [
'practice1',
'practice2',
'join1',
'real1']
2079 >>> dsx.delete_table(
"join1")
2080 =======================================================
2084 1.
get_tablelist(テーブル一覧取得)で、JOINテーブルを変換したREALテーブルが追加されたことを確認することができます
2085 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2088 import JoinRealizeEx
2089 serv = JoinRealizeEx.JoinRealizeEx()
2090 serv.JtableName = join_table_name
2091 serv.RtableName = real_table_name
2093 serv.MRecNo = master_rec_number
2094 serv.SRecNo = slave_rec_number
2095 serv.FilterNameList = item_name_list
2096 serv.execDataService()
2098 return serv.ResultCode
2112 結果コード(正:テーブルID、負:エラーコード)
2116 D5Tファイル"practice1"をロードする
2118 =============================
2119 >>> dsx.load(
"practice1.D5T")
2121 >>> dsx.get_tablelist()
2123 =============================
2127 D5Tファイルは相対パスもしくは絶対パスで指定してください
2135 serv = LoadEx.LoadEx()
2136 serv.TableName = file_name
2137 serv.execDataService()
2139 return serv.ResultCode
2141 def __logrotate(self):
2143 ログ/レシピファイルのローテーション(非公開内部機能)
2148 結果コード(0:成功、負:エラーコード)
2151 serv = LogRotateEx.LogRotateEx()
2152 serv.execDataService()
2154 return serv.ResultCode
2164 item_name_list : list
2172 結果コード(0:成功、負:エラーコード)
2178 ================================================
2179 >>> dsx.get_itemlist("practice1")
2181 >>> dsx.move_item(
"practice1",[
"項目1"],
"項目3")
2183 >>> dsx.get_itemlist(
"practice1")
2185 ================================================
2193 serv = MoveItemEx.MoveItemEx()
2194 serv.TableName = table_name
2195 serv.FilterNameList = item_name_list
2196 serv.FilterName = item_name
2197 serv.execDataService()
2199 return serv.ResultCode
2201 def __numeric_rescale(self, table_name, item_name, num_scale, num_mode):
2203 NUMERIC型データのスケール・丸めモードを設定(サポートなし)
2214 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
2219 結果コード(0:成功、負:エラーコード)
2221 import NumericRescaleEx
2222 serv = NumericRescaleEx.NumericRescaleEx()
2223 serv.TableName = table_name
2224 serv.FilterName = item_name
2225 serv.NumScale = num_scale
2226 serv.NumMode = num_mode
2227 serv.execDataService()
2229 return serv.ResultCode
2231 def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space ='No', setid = -1):
2245 fill_string_list : list
2247 is_ex_space : str, default'No'
2248 Yes:末尾空白を削除する、No:削除しない
2249 setid : int, default -1
2250 セットID(省略した場合はカレントセット)
2255 結果コード(正:データ数、負:エラーコード)
2258 serv = OverwriteEx.OverwriteEx()
2259 serv.TableName = table_name
2260 serv.FilterName = item_name
2261 serv.StartRow = start_row
2262 serv.RowCount = row_count
2263 serv.FillStrList = fill_string_list
2265 serv.ExSpace = is_ex_space
2266 serv.execDataService()
2268 return serv.ResultCode
2270 def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid = -1):
2282 fill_string_list : カラム = [[] for i
in range(len(ヘッダーカラム))]
2283 入力文字列リスト(カラム単位での2次元配列)
2284 setid : int, default -1
2285 セットID(省略した場合はカレントセット)
2290 結果コード(正:データ数、負:エラーコード)
2292 import OverwriteOnBatchEx
2293 serv = OverwriteOnBatchEx.OverwriteOnBatchEx()
2294 serv.TableName = table_name
2295 serv.StartRow = start_row
2296 serv.RowCount = row_count
2297 serv.FillStrList = fill_string_list
2299 serv.execDataService()
2301 return serv.ResultCode
2311 new_table_name : str
2317 結果コード(0:成功、負:エラーコード)
2321 テーブル名をpractice1からpractice2に変更する
2323 =========================================
2324 >>> dsx.get_tablelist()
2326 dsx.rename_table(
"practice1",
"practice2")
2328 >>> dsx.get_tablelist()
2330 =========================================
2336 import RenameTableEx
2337 serv = RenameTableEx.RenameTableEx()
2338 serv.TableName = table_name
2339 serv.NewtableName = new_table_name
2340 serv.execDataService()
2342 return serv.ResultCode
2360 結果コード(0:成功、負:エラーコード)
2366 ================================================
2367 >>> dsx.get_itemlist("practice1")
2369 >>> dsx.rename_item(
"practice1",
"項目1",
"item1")
2371 >>> dsx.get_itemlist(
"practice1")
2373 ================================================
2381 serv = RenameItemEx.RenameItemEx()
2382 serv.TableName = table_name
2383 serv.FilterName = item_name
2384 serv.NewfilterName = new_item_name
2385 serv.execDataService()
2387 return serv.ResultCode
2401 結果コード(0:成功、負:エラーコード)
2407 =============================
2408 >>> dsx.save("practice1.D5T")
2410 =============================
2414 D5Tファイルは、保存先を相対パスもしくは絶対パスで指定してください
2418 D5Dファイル、D5Tファイルについては、クッキングマニュアルをご参照ください
2422 serv = SaveEx.SaveEx()
2423 serv.TableName = file_name
2424 serv.execDataService()
2426 return serv.ResultCode
2428 def search(self, table_name, item_name, setid, search_string):
2441 検索条件式(=、<>、<=、<、>=、>、string*、*string*、*string、IS NULL、IS NOT NULL)
2446 結果コード(正:生成されたセットID、負:エラーコード)
2450 テーブルpractice1の項目1で、"あ"以外の値を検索する
2452 ===================================================
2453 >>> dsx.search(
"practice1",
"項目1",1,
"[項目1]<>あ")
2455 >>> dsx.get_cell(
"practice1",
"項目1",1,5,2)
2456 [
'い',
'う',
'え',
'お',
'か']
2457 ===================================================
2461 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、検索結果を確認することができます
2462 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2466 serv = SearchEx.SearchEx()
2467 serv.TableName = table_name
2468 serv.FilterName = item_name
2470 serv.SearchStr = search_string
2471 serv.execDataService()
2473 return serv.ResultCode
2487 search_string_list : list
2493 結果コード(正:生成されたセットID、負:エラーコード)
2497 項目1の値が"あ",
"い"のデータのみ取得する
2499 ==========================================================================================================
2500 >>> dsx.get_tuple(
"practice1",1,3,1)
2501 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2502 >>> dsx.search_values(
"practice2",
"項目1",1,[
"あ",
"い"])
2504 >>> dsx.get_tuple(
"practice1",1,2,3)
2505 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
2506 ==========================================================================================================
2510 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)でで、検索結果を確認することができます
2511 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2514 import SearchValuesEx
2515 serv = SearchValuesEx.SearchValuesEx()
2516 serv.TableName = table_name
2517 serv.FilterName = item_name
2519 serv.SearchStr = search_string_list
2520 serv.execDataService()
2522 return serv.ResultCode
2542 結果コード(正:生成されたセットID、負:エラーコード)
2544 import SearchValuesByCsvEx
2545 serv = SearchValuesByCsvEx.SearchValuesByCsvEx()
2546 serv.TableName = table_name
2547 serv.FilterName = item_name
2549 serv.FileName = file_name
2550 serv.execDataService()
2552 return serv.ResultCode
2566 list_table_name : str
2568 list_item_name : str
2576 結果コード(正:生成されたセットID、負:エラーコード)
2578 import SearchValuesByTableEx
2579 serv = SearchValuesByTableEx.SearchValuesByTableEx()
2580 serv.TableName = table_name
2581 serv.FilterName = item_name
2583 serv.VtableName = list_table_name
2584 serv.VfilterName = list_item_name
2585 serv.VsetID = list_setid
2586 serv.execDataService()
2588 return serv.ResultCode
2606 結果コード(正:生成されたセットID、負:エラーコード)
2610 性別が男性かつ年齢が20歳を超えている人の苗字を検索する
2612 ==================================================================
2613 >>> dsx.search_string("practice1",1,
"性別 ='男性'AND 年齢 <='20'")
2615 >>> dsx.get_cell(
"practice1",
"苗字",1,5,2)
2616 [
'相澤',
'青木',
'秋元',
'朝倉',
'在原']
2617 ==================================================================
2625 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、検索結果を確認することができます
2626 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2627 3.計算式の種類と構文については、クッキングマニュアルをご参照ください
2630 import SearchStringEx
2631 serv = SearchStringEx.SearchStringEx()
2632 serv.TableName = table_name
2634 serv.Expression = expression
2635 serv.execDataService()
2637 return serv.ResultCode
2639 def setand(self, table_name, src_setid, dst_setid):
2641 2つのサブテーブル(セット)のAND抽出
2655 結果コード(正:生成されたセットID、負:エラーコード)
2659 ルートセットかつ検索リスト(項目1="あ")のサブテーブルを抽出する
2661 ==================================================================================================
2662 >>> dsx.get_tuple(
"practice1",1,3,1)
2663 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2664 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2666 >>> dsx.get_setid_list(
"practice1")
2667 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2668 >>> dsx.setand(
"practice1",1,2)
2670 >>> dsx.get_tuple(
"practice1",1,1,3)
2671 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か']]
2672 ==================================================================================================
2676 1.
get_tuple(テーブルデータ取得)で、抽出結果を確認することができます
2677 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます。
2681 serv = SetAndEx.SetAndEx()
2682 serv.TableName = table_name
2683 serv.SrcsetID = src_setid
2684 serv.DestsetID = dst_setid
2685 serv.execDataService()
2687 return serv.ResultCode
2689 def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid = -1):
2703 fill_string_list : list
2706 セットID(省略した場合はカレントセット)
2711 結果コード(正:データ数、負:エラーコード)
2717 ======================================================================
2718 >>> dsx.get_cell("practice1",
"項目1",1,5,1)
2719 [
'あ',
'あ',
'あ',
'あ',
'あ']
2720 >>> dsx.set_cell(
"practice1",
"項目1",1,5,[
"あ",
"い",
"う",
"え",
"お"],1)
2721 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
2722 [
'あ',
'い',
'う',
'え',
'お']
2723 ======================================================================
2727 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、書込み結果を確認することができます
2728 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2729 3.各行に同じ値を入力したい場合はfill_cell(値を入力)、各行に違う値を入力したい場合はset_cell(値書込み)を利用してください
2733 serv = SetCellEx.SetCellEx()
2734 serv.TableName = table_name
2735 serv.FilterName = item_name
2736 serv.StartRow = start_row
2737 serv.RowCount = row_count
2738 serv.FillStrList = fill_string_list
2740 serv.execDataService()
2742 return serv.ResultCode
2754 comment_string : str
2760 結果コード(0:成功、負:エラーコード)
2764 テーブルpractice1のセット(Search Set)のコメントを編集する
2766 ===============================================
2767 >>> dsx.get_setid_list("practice1")
2768 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2769 >>> dsx.set_comment(
"practice1",2,
"検索リスト")
2771 >>> dsx.get_setid_list(
"practice1")
2772 [[1,
''], [2,
'検索リスト']]
2773 ===============================================
2778 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2782 serv = SetCommentEx.SetCommentEx()
2783 serv.TableName = table_name
2785 serv.CommentStr = comment_string
2786 serv.execDataService()
2788 return serv.ResultCode
2804 結果コード(0:成功、負:エラーコード)
2808 セットIDが2のサブテーブルに移動する(カレントセットを移動する)
2810 ===============================================
2811 >>> dsx.get_setid_list("practice1")
2812 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2813 >>> dsx.move_currentset(
"practice1",2)
2815 ===============================================
2819 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2822 import MoveCurrentSetEx
2823 serv = MoveCurrentSetEx.MoveCurrentSetEx()
2824 serv.TableName = table_name
2826 serv.execDataService()
2828 return serv.ResultCode
2844 結果コード(0:成功、負:エラーコード)
2848 テーブルpractice1のセットIDが3のサブテーブルを削除する
2850 ================================================================================
2851 >>>dsx.get_setid_list("practice1")
2852 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ'..."]]
2853 >>>dsx.delete_set(
"practice1",3)
2855 >>>dsx.get_setid_list(
"practice1")
2856 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
2857 ================================================================================
2862 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2866 serv = DeleteSetEx.DeleteSetEx()
2867 serv.TableName = table_name
2869 serv.execDataService()
2871 return serv.ResultCode
2873 def __set_fatalerror(self, is_fatal_error):
2882 import DataServiceCtl2
2883 serv = DataServiceCtl2.DataServiceCtl2()
2884 serv.IsFatalError = is_fatal_error
2885 serv.execDataService()
2887 def __set_macrostop(self, is_macro_stop):
2889 実行不能エラー発生時のマクロ実行抑止フラグ設定
2896 import DataServiceCtl
2897 serv = DataServiceCtl.DataServiceCtl()
2898 serv.IsMacroStop = is_macro_stop
2899 serv.execDataService()
2915 結果コード(正:生成されたセットID、負:エラーコード)
2919 テーブルpractice1のサブテーブル、検索リスト(項目1="あ")でないものをルートセットから抽出する
2921 ==================================================================================================
2922 >>> dsx.get_tuple(
"practice1",1,3,1)
2923 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2924 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2926 >>> dsx.get_setid_list(
"practice1")
2927 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2928 >>> dsx.setnot(
"practice1",2)
2930 >>> dsx.get_tuple(
"practice3",1,2,4)
2931 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'2',
'い',
'き'], [
'2',
'3',
'う',
'く']]
2932 ===================================================================================================
2936 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、抽出結果確認することができます
2937 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2938 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルをご参照ください
2942 serv = SetNotEx.SetNotEx()
2943 serv.TableName = table_name
2945 serv.execDataService()
2947 return serv.ResultCode
2949 def setor(self, table_name, src_setid, dst_setid):
2965 結果コード(正:生成されたセットID、負:エラーコード)
2969 テーブルpractice1の2つのサブテーブル、検索リスト(項目1="あ")または検索リスト(項目2=
"き")を抽出する
2971 ==================================================================================================
2972 >>>dsx.get_tuple(
"practice1",1,3,1)
2973 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2974 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2976 >>>dsx.search_values(
"practice1",
"項目2",1,[
"き"])
2978 >>>dsx.get_setid_list(
"practice1")
2979 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']] , [3,
'Search Set:1 [項目2] = 値リスト']]
2980 >>> dsx.setor(
"practice1",2,3)
2982 >>> dsx.get_tuple(
"practice1",1,2,4)
2983 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
2984 ==================================================================================================
2988 1.
get_tuple(テーブルデータ取得)で、抽出結果を確認することができます
2989 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
2993 serv = SetOrEx.SetOrEx()
2994 serv.TableName = table_name
2995 serv.SrcsetID = src_setid
2996 serv.DestsetID = dst_setid
2997 serv.execDataService()
2999 return serv.ResultCode
3013 結果コード(0:成功、負:エラーコード)
3019 =====================================
3020 >>> dsx.set_license("ライセンスキー")
3022 =====================================
3026 serv = SetLicenseEx.SetLicenseEx()
3027 serv.LicenseKey = license_key
3028 serv.execDataService()
3030 return serv.ResultCode
3032 def setsub(self, table_name, src_setid, dst_setid):
3034 2つのサブテーブル(セット)のSUB抽出
3048 結果コード(正:生成されたセットID、負:エラーコード)
3052 テーブルpractice1の2つのサブテーブル、検索リスト(項目1="あ")を除いたテーブルから、 検索リスト(項目1=
"い")を除いたものを抽出する
3054 ==================================================================================================
3055 >>>dsx.get_tuple(
"practice1",1,20,1)
3056 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
3057 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
3059 >>> dsx.setnot(
"practice1",2)
3061 >>> dsx.get_tuple(
"practice3",1,20, 3)
3062 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'2',
'い',
'き'], [
'2',
'3',
'う',
'く']]
3063 >>>dsx.search_values(
"practice1",
"項目1",1,[
"い"])
3065 >>> dsx.setsub(
"practice1",3,4)
3067 >>> dsx.get_tuple(
"practice1",1,1,7)
3068 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'う',
'く']]
3069 ===================================================================================================
3073 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、抽出結果を確認することができます
3074 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3075 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルをご参照ください
3079 serv = SetSubEx.SetSubEx()
3080 serv.TableName = table_name
3081 serv.SrcsetID = src_setid
3082 serv.DestsetID = dst_setid
3083 serv.execDataService()
3085 return serv.ResultCode
3087 def sort(self, table_name, item_name, setid, sort_type ='ASC'):
3099 sort_type : str, default'ASC'
3105 結果コード(正:生成されたセットID、負:エラーコード)
3111 ===========================================
3112 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
3113 [
'2',
'3',
'4',
'5',
'1']
3114 >>> dsx.sort(
"practice1",
"項目1",1,
"ASC")
3116 >>> dsx.get_cell(
"practice1",
"項目1",1,5,2)
3117 [
'1',
'2',
'3',
'4',
'5']
3118 ===========================================
3122 1.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、ソート結果を確認することができます
3123 2.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3127 serv = SortEx.SortEx()
3128 serv.TableName = table_name
3129 serv.FilterName = item_name
3131 serv.SortType = sort_type
3132 serv.execDataService()
3134 return serv.ResultCode
3136 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'):
3148 delimiter : str, default'CSV'
3150 write_top : int, default 1
3152 write_bottom : int, default -1
3154 write_left : int, default 1
3155 開始列(先頭列は1、RecNoは指定不可)
3156 write_right : int, default -1
3158 is_header : str, default
'Yes'
3159 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3164 結果コード(正:出力行数、負:エラーコード)
3168 テーブルpractice1の全ての値をカンマ区切りのCSVファイルにエクスポートする
3170 =====================================================================
3171 >>> dsx.write_csv(
"practice1",
"practice.csv",1,
"CSV",1,-1,1,-1,
"Yes")
3173 =====================================================================
3177 CSVファイルは、エクスポート先を相対パスもしくは絶対パスで指定してください
3181 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3185 serv = WriteCsvEx.WriteCsvEx()
3186 serv.TableName = table_name
3187 serv.Delimiter = delimiter
3188 serv.FileName = file_name
3189 serv.WriteTop = write_top
3190 serv.WriteBottom = write_bottom
3191 serv.WriteLeft = write_left
3192 serv.WriteRight = write_right
3193 serv.Header = is_header
3195 serv.TargetOut =
None
3196 serv.execDataService()
3198 return serv.ResultCode
3200 def write_csv_selectitem(self, table_name, file_name, setid, delimiter ='CSV', write_top = 1, write_bottom = -1, item_name_list ='*', is_header ='Yes'):
3214 write_top : int, default 1
3216 write_bottom : int, default -1
3218 item_name_list : list, default'*'
3219 抽出項目名リスト(
"*"は全項目が対象)
3220 is_header : str, default
'Yes'
3221 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3226 結果コード(正:出力行数、負:エラーコード)
3230 テーブルpractice1の項目1のみをカンマ区切りのCSVファイルにエクスポートする
3232 ==========================================================================================================
3233 >>>dsx.write_csv_selectitem(
"practice1",
"practice.csv",1,
"CSV",1,-1,[
"項目1"],
"Yes")
3235 ==============================================================================
3239 CSVファイルは、エクスポート先を相対パスもしくは絶対パスで指定してください
3243 セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3246 import WriteCsvSelectItemEx
3247 serv = WriteCsvSelectItemEx.WriteCsvSelectItemEx()
3248 serv.TableName = table_name
3249 serv.Delimiter = delimiter
3250 serv.FileName = file_name
3251 serv.WriteTop = write_top
3252 serv.WriteBottom = write_bottom
3253 serv.FilterNameList = item_name_list
3254 serv.Header = is_header
3256 serv.TargetOut =
None
3257 serv.execDataService()
3259 return serv.ResultCode
3272 変換するデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
3277 結果コード(正:生成された項目ID、負:エラーコード)
3281 項目1のデータ型を整数から浮動小数に変換する
3283 =================================================
3284 >>>dsx.get_itemlist("practice1")
3286 >>>dsx.get_cell(
"practice1",
"項目1",1,3,1)
3288 >>>dsx.convert_type(
"practice1",
"項目1",
"Double")
3290 >>>dsx.get_itemlist(
"practice1")
3292 >>>dsx.get_cell(
"practice1",
"項目1_#1",1,3,1)
3294 =================================================
3299 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、複製されたデータを確認することができます
3302 import ConvertTypeEx
3303 serv = ConvertTypeEx.ConvertTypeEx()
3304 serv.TableName = table_name
3305 serv.FilterName = item_name
3306 serv.FilterType = data_type
3307 serv.execDataService()
3309 return serv.ResultCode
3311 def __convert_type_numeric(self, table_name, item_name, num_scale, num_mode):
3313 項目のNUMERIC型変換複製(サポートなし)
3324 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
3329 結果コード(正:生成された項目ID、負:エラーコード)
3331 import ConvertTypeNumericEx
3332 serv = ConvertTypeNumericEx.ConvertTypeNumericEx()
3333 serv.TableName = table_name
3334 serv.FilterName = item_name
3335 serv.NumScale = num_scale
3336 serv.NumMode = num_mode
3337 serv.execDataService()
3339 return serv.ResultCode
3341 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'):
3349 master_table_name : str
3351 slave_table_name : str
3357 master_union_key : str
3359 slave_union_key : str
3361 is_master_tableid : str
3362 Yes:マスターテーブルのIDを使用する、No:使用しない
3363 is_slave_rec_number : str
3364 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
3365 is_delete_table : str
3366 Yes:元テーブルを削除する、No:削除しない
3371 結果コード(正:生成されたテーブルID、負:エラーコード)
3375 テーブルpractice1とpractice2の項目1を結合する
3377 =========================================================================================
3378 >>> dsx.get_tablelist()
3379 ['practice1',
'practice2']
3380 >>> dsx.union(
"union1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"No",
"No",
"No")
3382 >>> dsx.get_tablelist()
3383 [
'practice1,'practice2
','union1
']
3384 >>> dsx.get_tuple("union1",1,4,1)
3385 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'い'][
'3',
'3',
'ア'], [
'4',
'4',
'イ']]
3386 =========================================================================================
3391 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、結合結果を確認することができます
3392 3.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3396 serv = UnionEx.UnionEx()
3397 serv.UtableName = table_name
3398 serv.MtableName = master_table_name
3399 serv.StableName = slave_table_name
3400 serv.MsetID = master_setid
3401 serv.SsetID = slave_setid
3402 serv.MUnionKey = master_union_key
3403 serv.SUnionKey = slave_union_key
3404 serv.MtableID = is_master_tableid
3405 serv.RecNo = is_slave_rec_number
3406 serv.DelTable = is_delete_table
3407 serv.execDataService()
3409 return serv.ResultCode
3421 is_visibility : str, default'Yes'
3427 結果コード(0:成功、負:エラーコード)
3429 import VisibleItemEx
3430 serv = VisibleItemEx.VisibleItemEx()
3431 serv.TableName = table_name
3432 serv.FilterName = item_name
3433 serv.Visibility = is_visibility
3434 serv.execDataService()
3436 return serv.ResultCode
3438 def xsum(self, table_name, setid, dimension_item_list, measure_item_list):
3448 dimension_item_list : list
3450 measure_item_list : list
3451 測度の項目リスト {項目名,件数,最大値,最小値,合計値,平均値}(最大32項目)
3452 件数 (Yes:集計する、No:集計しない)
3453 最大値(Yes:集計する、No:集計しない)
3454 最小値(Yes:集計する、No:集計しない)
3455 合計値(Yes:集計する、No:集計しない)
3456 平均値(Yes:集計する、No:集計しない)
3461 結果コード(正:生成された集計テーブルID、負:エラーコード)
3465 項目1の件数、最大値、最小値、合計値、平均値を集計する
3467 ======================================================================================================================================
3468 >>> dsx.xsum("practice1",1,[
"項目1"],[[
"項目1",
"Yes",
"Yes",
"Yes",
"Yes",
"Yes"]])
3470 >>> dsx.get_tablelist()
3471 [
'practice1',
'XTBL_practice1']
3472 >>> dsx.get_tuple(
"XTBL_practice1",1,20,1)
3473 [[
'SeqNo',
'RecNo',
'項目1',
'N<項目1>',
'MAX<項目1>',
'MIN<項目1>',
'SUM<項目1>',
'AVG<項 目1>'], [
'1',
'1',
'1',
'1',
'1',
'1',
'1.000',
'1.000']]
3474 ======================================================================================================================================
3478 引数の、測度の項目リストは二次元配列で記載してください
3483 2.
get_cell(セルの値取得)やget_tuple(テーブルデータ取得)で、集計結果を確認することができます
3484 3.セットIDが分からない時は、get_setid_list(セットID一覧取得)で確認することができます
3488 serv = XSumEx.XSumEx()
3489 serv.TableName = table_name
3491 serv.DItemList = dimension_item_list
3493 for inlist
in measure_item_list:
3494 outlist.append(inlist)
3495 serv.NItemList = outlist
3496 serv.execDataService()
3498 return serv.ResultCode
3502 Apache Arrow(インメモリ)形式のテーブルを読み込む
3504 ※ pyarrow(Python Lib.)のインストールが必要です。
3508 table : pyarrow.Table
3509 Apache Arrow Tableオブジェクト
3510 columns : list, default None
3511 抽出カラム名リスト(省略時は全カラムが対象)
3520 serv = LoadArrow.LoadArrow()
3522 serv.Columns = columns
3523 serv.execDataService()
3525 return serv.ResultStr
3526 except Exception
as e:
3527 raise Exception(
"pyarrowException "+ str(e))
3531 テーブルをApache Arrow(インメモリ)形式で書き出す
3533 ※ pyarrow(Python Lib.)のインストールが必要です。
3539 setid : int, default -1
3540 セットID(省略した場合はカレントセット)
3541 columns : list, default None
3542 抽出項目名リスト(省略時は全項目が対象)
3546 ResultCode : pyarrow.Table
3547 arrow.Tableオブジェクト、None:エラー
3551 serv = SaveArrow.SaveArrow()
3552 serv.TableName = table_name
3554 serv.Columns = columns
3555 serv.execDataService()
3557 return serv.ArrowTable
3558 except Exception
as e:
3559 raise Exception(
"pyarrowException "+ str(e))
3565 ※ pyarrow(Python Lib.)のインストールが必要です。
3573 columns : list, default None
3574 抽出カラム名リスト(省略時は全カラムが対象)
3579 結果コード(正:テーブルID、負:エラーコード)
3583 serv = ReadParquet.ReadParquet()
3584 serv.TableName = table_name
3585 serv.FileName = file_name
3586 serv.Columns = columns
3587 serv.execDataService()
3589 return serv.ResultCode
3590 except Exception
as e:
3591 raise Exception(
"pyarrowException "+ str(e))
3595 テーブルをParquet形式でエクスポート
3597 ※ pyarrow(Python Lib.)のインストールが必要です。
3605 setid : int, default -1
3606 セットID(省略した場合はカレントセット)
3607 columns : list, default None
3608 抽出項目名リスト(省略時は全項目が対象)
3613 結果コード(正:出力行数、負:エラーコード)
3617 serv = WriteParquet.WriteParquet()
3618 serv.TableName = table_name
3619 serv.FileName = file_name
3621 serv.Columns = columns
3622 serv.execDataService()
3624 return serv.ResultCode
3625 except Exception
as e:
3626 raise Exception(
"pyarrowException "+ str(e))
3630 Jupyterから「SDC V3」を起動(限定公開機能)
3631 JupyterとSDC V3でデータ処理エンジンを共用(お互いが処理したテーブルを参照・更新できる)
3634 デスクトップタイプのみ動作可能(Jupyter notebook/labのセル中で使用すること)
3635 PYTHONPATHでserverへのパス指定が必須です。
3639 export PYTHONPATH=$(cd "./server/dataService"&& pwd):$PYTHONPATH
3640 export PYTHONPATH=$(cd
"./server"&& pwd):$PYTHONPATH
3641 export DYLD_LIBRARY_PATH=$(cd
"./server/di5engine/mac"&& pwd) ←←← macOSの場合のみ 必須
3645 1. Jupyter側で作成したテーブル/セットをSDC V3側のワークスペース表示に反映させるには、SDC V3側でワークスペースの変更を伴う操作が必要です。
3646 2. SDC V3側でログアウトするとJupyter側のPythonjカーネルが停止して、以後、操作できなくなります。
3647 3. SDC V3側で参照しているテーブルをJupyter側で削除/変更すると、SDC V3側で予期せぬエラーが発生することがあります。
3659 sdc = StartSDC3.startSDC3()
3676 結果コード(2 ~ 8:成功、負:エラーコード)
3691 import GetDataTypeEx
3692 serv = GetDataTypeEx.GetDataTypeEx()
3693 serv.TableName = table_name
3694 serv.FilterName = item_name
3695 serv.execDataService()
3697 return serv.ResultCode
def output_log(self, is_content='No', is_result='Yes', is_recipe='No', is_document='No')
def search_values_bytable(self, table_name, item_name, setid, list_table_name, list_item_name, list_setid)
def catalog(self, table_name, file_name, catalog_name, mode=None)
def __init__(self, is_macro_stop=False, is_language="ja-JP")
def setsub(self, table_name, src_setid, dst_setid)
def join_inout(self, table_name, is_slave, is_in_out)
def write_parquet(self, table_name, file_name, setid=-1, columns=None)
def fill_cell(self, table_name, item_name, set_string, start_row=1, row_count=-1, setid=-1)
def duplicate_item(self, table_name, item_name)
def transfer_item(self, table_name, item_name)
def get_tablename(self, tableid)
def delete_resultset(self, table_name, setid)
def load_arrow(self, table, columns=None)
def save(self, file_name)
def compression(self, table_name)
def sort(self, table_name, item_name, setid, sort_type='ASC')
def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name)
def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid=-1)
def delete_row(self, table_name, start_row, row_count, setid=-1)
def search_values(self, table_name, item_name, setid, search_string_list)
def db_save(self, file_name)
def duplicate_table(self, table_name)
def visible_item(self, table_name, item_name, is_visibility='Yes')
def get_limit_memory(self)
def get_tuple_asjson(self, table_name, start_row=1, fetch_size=128, setid=-1)
def convert_type(self, table_name, item_name, data_type)
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 read_parquet(self, table_name, file_name, columns=None)
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 setand(self, table_name, src_setid, dst_setid)
def get_valuelist(self, table_name, setid, item_name)
def extract_set(self, table_name, setid, is_view_table_id='Yes', is_record_number='Yes', item_name_list=' *', new_table_name=None)
def rename_item(self, table_name, item_name, new_item_name)
def get_setid_list(self, table_name)
def db_load(self, file_name)
def delete_set(self, table_name, setid)
def get_license_expiration(self)
def db_codeset(self, db_code)
def get_memory(self, table_name)
def setor(self, table_name, src_setid, dst_setid)
def float_format(self, table_name, item_name, digit)
def move_item(self, table_name, item_name_list, item_name)
def get_data_type(self, table_name, item_name)
def move_currentset(self, table_name, setid)
def get_rowcount(self, table_name, setid=-1)
def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space='No', setid=-1)
def get_itemlist(self, table_name)
def search(self, table_name, item_name, setid, search_string)
def delete_allset(self, table_name)
def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, 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_tuple(self, table_name, start_row=1, fetch_size=128, setid=-1)
def categorize(self, table_name, item_name, category_table_name)
def sort_item(self, table_name, sort_key)
def append_row(self, table_name, row_count, start_row=1)
def read_csv(self, table_name, file_name)
def save_arrow(self, table_name, setid=-1, columns=None)
def insert_row(self, table_name, row_count, start_row=1)
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 search_values_bycsv(self, table_name, item_name, setid, file_name)
def create_table(self, row_count, table_name)
def rename_table(self, table_name, new_table_name)
def edit_comma(self, table_name, item_name, is_edit='Yes')
def set_comment(self, table_name, setid, comment_string)
def calc(self, table_name, item_name, calc_string, row_count=-1, start_row=1, setid=-1)
def load(self, file_name)
def setnot(self, table_name, 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 xsum(self, table_name, setid, dimension_item_list, measure_item_list)
def set_license(self, license_key)
def search_string(self, table_name, setid, expression)
def delete_table(self, table_name)
def comment(self, comment)
def extract_unique(self, table_name, setid, item_name_list=' *', is_keep_order='Yes')
def delete_item(self, table_name, item_name)