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.add_realitem(“practice1”,”RecNo”,”項目1”,”Integer”,””)
143 >>>dsx.get_itemlist(“practice1”)
145 =======================================================================
149 1.項目一覧取得(get_itemlist)で、項目が追加されたことを確認できます
150 2.テーブルデータ取得(get_tuple)で追加位置を確認できます
152 ====================================
153 >>>dsx.get_tuple("practice1",1,10,1)
154 [[
'SeqNo',
'RecNo'], [
'1',
'1']]
155 ====================================
157 SeqNoとRecNoはテーブル作成時から既にある項目です
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()
169 return serv.ResultCode
171 def __add_realitem_numeric(self, table_name, add_position, new_item_name, item_type, num_scale, num_mode, file_name):
184 追加項目のデータ型(Numeric:NUMERIC)
188 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
190 項目ファイル名(拡張子付き)空項目を追加する場合は空白
195 結果コード(正:追加項目ID、負:エラーコード)
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()
208 return serv.ResultCode
220 start_row : int, default 1
226 結果コード(正:追加行数、負:エラーコード)
232 ==============================================
233 >>> dsx.get_rowcount(“practice1”,1)
235 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
237 >>>dsx.append_row(“practice1”,1,1)
239 >>> dsx.get_rowcount(“practice1”,1)
241 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
243 ==============================================
247 1.テーブルの行数取得(get_rowcount)で、行数が増えたことを確認できます
248 2.セルの値取得(get_cell)で、追加された行の位置を確認できます
252 serv = AppendRowEx.AppendRowEx()
253 serv.TableName = table_name
254 serv.StartRow = start_row
255 serv.RowCount = row_count
256 serv.execDataService()
258 return serv.ResultCode
260 def calc(self, table_name, item_name, calc_string, row_count = -1, start_row = 1, setid = -1):
272 row_count : int, default -1
274 start_row : int, default 1
276 setid : int, default -1
277 セットID(省略した場合はカレントセット)
288 ==============================================================
289 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
291 >>>dsx.calc(“practice1”,”項目1”,’*(@項目1,1000)’,-1,1,1)
293 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
294 [‘1000’,’2000’,’3000’]
295 ==============================================================
299 計算式のみシングルクォーテーションで括ります
303 1.セルの値取得(get_cell)で、計算結果を確認できます
304 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
305 3.計算の構文についてはクッキングマニュアルのp.35,36をご参照ください
311 ==========================================================================================
312 >>> dsx.get_tuple(
"practice1",1,20,1)
313 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'ア',
'カ'], [
'2',
'2',
'イ',
'キ']]
314 >>> dsx.calc(
"practice1",
"項目1",
'$&($@項目1,$@項目2)',-1,1,1)
316 >>> dsx.get_tuple(
"practice1",1,20,1)
317 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'アカ',
'カ'], [
'2',
'2',
'イキ',
'キ']]
318 ==========================================================================================
322 計算式のみシングルクォーテーションで括ります
326 1.テーブルデータ取得(get_tuple)で、文字列結合の結果を確認できます
327 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
328 3.計算の構文についてはクッキングマニュアルのp.35,36をご参照ください
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
339 serv.execDataService()
341 return serv.ResultCode
343 def catalog(self, table_name, file_name, catalog_name, mode = None):
352 カタログファイル名(拡張子付き StructInfo.txt)
357 結果コード(正:テーブルID、負:エラーコード)
361 カタログファイル(StructInfo.txt)に従ってpractice1.csvをインポートする
363 =====================================================================================================
364 >>> dsx.catalog("practice1",
"フォルダ\\フォルダ\\practice1.csv",
"フォルダ\\フォルダ\\StructInfo.txt")
366 =====================================================================================================
370 1.インポートできない時は、DBとインポートするCSVファイル、カタログファイルの文字コードが一致していることをご確認ください
378 2-2.文字コード(任意:CSVファイルの文字エンコードがエンジンのDB文字コードと異なる場合に指定)
381 //MS932 MS932 (Windows 日本語)
383 2-3.オプション(任意:先頭の項目行を読み飛ばす場合に指定)
396 データの長さを指定(固定長データファイルの場合のみ有効)
403 カタログファイルの指定(dataType [tab] dataSize [tab] itemName)
415 文字コード指定(db_codeset)で、エンジンのDB文字コードの設定ができます
419 serv = CatalogEx.CatalogEx()
420 serv.TableName = table_name
421 serv.CatName = catalog_name
422 serv.SrcName = file_name
424 serv.execDataService()
426 return serv.ResultCode
434 1. CSVファイルの文字エンコードは、エンジンのDB文字コードの設定と一致させて下さい。
435 2. CSVファイルの先頭は項目行として、この行の内容で項目名を決定します。
436 3. CSVファイルの先頭数行の内容を調べて、各項目のデータタイプを決定します。
437 4. 期待通りのデータタイプでテーブルが作成されない場合、項目の型変換を行って下さい。または catalog でインポートして下さい。
449 結果コード(正:テーブルID、負:エラーコード)
452 serv = ReadCsvEx.ReadCsvEx()
453 serv.TableName = table_name
454 serv.SrcName = file_name
456 serv.execDataService()
458 return serv.ResultCode
460 def categorize(self, table_name, item_name, category_table_name):
470 category_table_name : str
471 カテゴリテーブル名(カテゴリテーブルの内容はクッキングマニュアルを参照)
476 結果コード(正:作成した項目ID、負:エラーコード)
480 項目1をカテゴリーテーブルcategorize1によってカテゴライズする
482 ============================================================================================================================
483 ※事前に作成したカテゴリーテーブルcategorize1をロードしています
484 >>> dsx.get_tablelist()
485 ['practice1',
'categorize1']
486 >>> dsx.get_tuple(
"practice1",1,20,1)
487 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'1',
'11'], [
'2',
'2',
'2',
'12']]
488 >>> dsx.categorize(
"practice1",
"項目1",
"categorize1")
490 >>> dsx.get_tuple(
"practice1",1,20,1)
491 [[
'SeqNo',
'RecNo',
'項目1',
'categorize1_項目1_',
'項目2'], [
'1',
'1',
'1',
'奇数A',
'11'], [
'2',
'2',
'2',
'偶数A',
'12']]
492 =============================================================================================================================
496 1.テーブルデータ取得(get_tuple)で、カテゴライズを確認できます
497 2.数値カテゴライズおよびカテゴリ定義テーブルについては、クッキングマニュアルのp.75をご参照ください
501 serv = CategorizeEx.CategorizeEx()
502 serv.TableName = table_name
503 serv.FilterName = item_name
504 serv.CatableName = category_table_name
505 serv.execDataService()
507 return serv.ResultCode
522 ============================================
523 >>>dsx.get_tablelist()
524 [‘practice1’,’practice2’,’practice3’]
527 >>>dsx.get_tablelist()
529 ============================================
533 テーブル一覧取得(get_tablelist)で、ワークスペースをクリアしたことを確認できます
537 serv = ClearWSEx.ClearWSEx()
538 serv.execDataService()
540 return serv.ResultCode
549 任意の文字列、DATETIMEは日付時刻を表示
557 serv = CommentEx.CommentEx()
558 serv.Commentout = comment
559 serv.execDataService()
561 return serv.ResultCode
563 def edit_comma(self, table_name, item_name, is_edit = 'Yes'):
574 is_edit : str, default 'Yes'
584 テーブルpractice1の項目1に3桁区切りでカンマをつける
586 ====================================================
587 >>> dsx.get_cell(“practice1”,”項目1”,1,3,1)
588 [‘1000’,’2000’,’3000’]
589 >>> dsx.edit_comma(“practice1”,”項目1”,”Yes”)
591 >>> dsx.get_cell(“practice1”,”項目1”,1,3,1)
592 [‘1,000’,’2,000’,’3,000’]
593 ====================================================
597 セルの値取得(get_cell)で、カンマがついていることを確認できます
601 serv = EditCommaEx.EditCommaEx()
602 serv.TableName = table_name
603 serv.FilterName = item_name
605 serv.execDataService()
607 return serv.ResultCode
627 =================================
628 >>>dsx.get_memory(“practice1”)
630 >>>dsx.compression(“practice1”)
632 >>>dsx.get_memory(“practice1”)
634 =================================
638 使用メモリサイズ取得(get_memory)で、使用メモリサイズを確認できます
642 serv = CompressionEx.CompressionEx()
643 serv.TableName = table_name
644 serv.execDataService()
646 return serv.ResultCode
648 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'):
656 master_table_name : str
658 slave_table_name : str
664 master_join_key : list
666 slave_join_key : list
669 Inner:内部JOIN、Outer:外部JOIN
670 is_transfer_item : str, default 'No'
676 結果コード(正:JOINテーブルID、負:エラーコード)
680 テーブルpractice1とpractice2を内部結合(InnerJOIN)する
682 ======================================================================================
684 >>> dsx.get_tablelist()
685 [
'practice1',
'practice2',
'join1']
686 >>> dsx.get_tuple(
"join1",1,20,1)
687 [[
'SeqNo',
'RecNo',
'項目1',
'項目1_#1'], [
'1',
'1',
'あ',
'ア'], [
'2',
'2',
'い',
'イ']]
688 ======================================================================================
692 1.テーブル一覧取得(get_tablelist)で、JOINテーブルが追加されたことを確認できます
693 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
697 serv = JoinEx.JoinEx()
698 serv.JtableName = table_name
699 serv.MtableName = master_table_name
700 serv.StableName = slave_table_name
701 serv.MsetID = master_setid
702 serv.SsetID = slave_setid
703 serv.MJoinKey = master_join_key
704 serv.SJoinKey = slave_join_key
705 serv.IsInOrOut = is_in_out
706 serv.IsStarJoin = is_transfer_item
707 serv.execDataService()
709 return serv.ResultCode
725 結果コード(正:テーブルID、負:エラーコード)
729 5行のテーブル、practice1を作成する
731 ====================================
732 >>>dsx.create_table(5,”practice1”)
734 >>>dsx.get_tablelist()
736 >>>dsx.get_rowcount(“practice1”,1)
738 ====================================
742 1.テーブル一覧取得(get_tablelist)で、テーブルが追加されたことを確認できます
743 2.テーブルの行数取得(get_rowcount)で、追加したテーブルの行数を確認できます
747 serv = CreateTableEx.CreateTableEx()
748 serv.RowCount = row_count
749 serv.TableName = table_name
750 serv.execDataService()
752 return serv.ResultCode
761 DB文字コード(UTF-8 または Shift_JIS)
772 ===========================
773 >>>dsx.db_codeset(“UTF8”)
775 ===========================
779 ================================
780 >>>dsx.db_codeset(“Shift_JIS”)
782 ================================
786 serv = DBCodeSetEx.DBCodeSetEx()
787 serv.DbCode = db_code
788 serv.execDataService()
790 return serv.ResultCode
808 ================================================================
809 >>>dsx.db_load("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
811 ================================================================
815 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
819 serv = DBLoadEx.DBLoadEx()
820 serv.WorkSpace = file_name
821 serv.execDataService()
823 return serv.ResultCode
841 ================================================================
842 >>>dsx.db_save("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
844 ================================================================
848 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
852 serv = DBSaveEx.DBSaveEx()
853 serv.WorkSpace = file_name
854 serv.execDataService()
856 return serv.ResultCode
874 テーブルpractice1のサブテーブルを全て削除する
876 ====================================================================================
877 >>>dsx.get_setid_list("practice1")
878 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
879 >>>dsx.delete_allset(
"practice1")
881 >>>dsx.get_setid_list(
"practice1")
883 ====================================================================================
887 セットID一覧取得(get_setid_list)で、サブテーブルが削除されたことを確認できます
890 import DeleteAllSetEx
891 serv = DeleteAllSetEx.DeleteAllSetEx()
892 serv.TableName = table_name
893 serv.execDataService()
895 return serv.ResultCode
915 テーブルpractice1の検索リザルトセットを削除する
917 ====================================================================================
918 >>>dsx.get_setid_list("practice1")
919 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
920 >>>dsx.delete_resultset(
"practice1",3)
922 >>>dsx.get_setid_list(
"practice1")
923 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
924 ====================================================================================
928 1.セットID一覧取得(get_setid_list)で、セットが削除されたことを確認できます
929 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
932 import DeleteResultSetEx
933 serv = DeleteResultSetEx.DeleteResultSetEx()
934 serv.TableName = table_name
936 serv.execDataService()
938 return serv.ResultCode
940 def delete_row(self, table_name, start_row, row_count, setid = -1):
952 setid : int, default -1
953 セットID(省略した場合はカレントセット)
958 結果コード(正:削除行数、負:エラーコード)
962 テーブルpractice1の2行目を削除する
964 ==============================================
965 >>>dsx.get_rowcount(“practice1”,1)
967 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
969 >>>dsx.delete_row(“practice1”,2,1,1)
971 >>>dsx.get_rowcount(“practice1”,1)
973 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
975 ==============================================
979 1.テーブル行数取得(get_rowcount)で、行数の増減を確認できます
980 2.セルの値取得(get_cell)で、行が削除されたことを確認できます
981 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
985 serv = DeleteRowEx.DeleteRowEx()
986 serv.TableName = table_name
987 serv.StartRow = start_row
988 serv.RowCount = row_count
990 serv.execDataService()
992 return serv.ResultCode
1008 結果コード(0:成功、負:エラーコード)
1014 ============================================
1015 >>>dsx.get_itemlist(“practice1”)
1017 >>>dsx.delete_item(“practice1”,”項目1”)
1019 >>>dsx.get_itemlist(“practice1”)
1021 ============================================
1025 項目一覧取得(get_itemlist)で、項目が削除されたことを確認できます
1029 serv = DeleteItemEx.DeleteItemEx()
1030 serv.TableName = table_name
1031 serv.FilterName = item_name
1032 serv.execDataService()
1034 return serv.ResultCode
1048 結果コード(0:成功、負:エラーコード)
1054 ====================================
1055 >>> dsx.get_tablelist()
1056 [‘practice1’,’practice2’]
1057 >>> dsx.delete_table(“practice1”)
1059 >>> dsx.get_tablelist()
1061 ====================================
1065 テーブル一覧取得(get_tablelist)で、テーブルが削除されたことを確認できます
1068 import DeleteTableEx
1069 serv = DeleteTableEx.DeleteTableEx()
1070 serv.TableName = table_name
1071 serv.execDataService()
1073 return serv.ResultCode
1087 結果コード(正:複製されたテーブルID、負:エラーコード)
1093 ======================================
1094 >>> dsx.get_tablelist()
1096 >>> dsx.duplicate_table(“practice1”)
1098 >>> dsx.get_tablelist()
1099 [‘practice1’,’practice1_
1100 ======================================
1103 テーブル一覧取得(get_tablelist)で、複製されたテーブルを確認できます
1106 import DuplicateTableEx
1107 serv = DuplicateTableEx.DuplicateTableEx()
1108 serv.TableName = table_name
1109 serv.execDataService()
1111 return serv.ResultCode
1127 結果コード(正:複製された項目ID、負:エラーコード)
1133 ================================================
1134 >>> dsx.get_itemlist(“practice1”)
1136 >>> dsx.duplicate_item(“practice1”,”項目1”)
1138 >>> dsx.get_itemlist(“practice1”)
1140 ================================================
1144 項目一覧取得(get_itemlist)で、項目1が複製され項目1_
1147 import DuplicateItemEx
1148 serv = DuplicateItemEx.DuplicateItemEx()
1149 serv.TableName = table_name
1150 serv.FilterName = item_name
1151 serv.execDataService()
1153 return serv.ResultCode
1155 def extract_set(self, table_name, setid, is_view_table_id = 'Yes', is_record_number = 'Yes', item_name_list = '*', new_table_name = None):
1157 サブテーブル(セット)を実テーブルに抽出
1165 is_view_table_id : str, default 'Yes'
1166 Yes:テーブルIDを表示する、No:表示しない
1167 is_record_number : str, default
'Yes'
1168 Yes:RecNoを出力する、N0:出力しない
1169 item_name_list : list, default
'*'
1170 抽出項目名リスト(
"*"は全項目が対象)
1171 new_table_name : str, default
None
1177 結果コード(正:生成されたテーブルID、負:エラーコード)
1181 テーブルpractice1のサブテーブル(値リスト検索結果)を実テーブルに抽出する
1183 ===============================================================
1184 >>> dsx.get_tablelist()
1186 >>> dsx.get_setid_list(
"practice1")
1187 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
1188 >>> dsx.extract_set(
"practice2",2,
"No",
"Yes",[
"項目1"],
"set1")
1190 >>> dsx.get_tablelist()
1191 [
'practice1',
'set1']
1192 ===============================================================
1196 1.テーブル一覧取得(get_tablelist)で、実テーブルに抽出したことを確認できます
1197 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1201 serv = ExtractSetEx.ExtractSetEx()
1202 serv.TableName = table_name
1204 serv.TableIDAns = is_view_table_id
1205 serv.RecNoAns = is_record_number
1206 serv.FilterNameList = item_name_list
1207 serv.NewtableName = new_table_name
1208 serv.execDataService()
1210 return serv.ResultCode
1212 def extract_unique(self, table_name, setid, item_name_list = '*', is_keep_order = 'Yes'):
1222 item_name_list : list, default '*'
1223 抽出項目名リスト(
"*"は全項目が対象)
1224 is_keep_order : str, default
'Yes'
1230 結果コード(正:生成されたセットID、負:エラーコード)
1236 ========================================================================================================================
1237 >>> dsx.get_tuple(
"practice1",1,20,1)
1238 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'あ'], [
'3',
'3',
'い'], [
'4',
'4',
'う'], [
'5',
'5',
'う']]
1239 >>>dsx.extract_unique(“practice1”,1,[“項目1”],”Yes”)
1241 >>> dsx.get_tuple(
"practice1",1,20,2)
1242 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'3',
'い'], [
'3',
'4',
'う']]
1243 ========================================================================================================================
1247 ユニーク行を抽出した際に生成されたセットIDが2なので、結果確認のテーブルデータ取得では引数(セットID)が2となります
1250 1.テーブルデータ取得(get_tuple)で、ユニーク行を抽出したことを確認できます
1251 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1254 import ExtractUniqueEx
1255 serv = ExtractUniqueEx.ExtractUniqueEx()
1256 serv.TableName = table_name
1258 serv.FilterNameList = item_name_list
1259 serv.CnsvOdrAns = is_keep_order
1260 serv.execDataService()
1262 return serv.ResultCode
1264 def fill_cell(self, table_name, item_name, set_string, start_row = 1, row_count = -1, setid = -1):
1276 start_row : int, default 1
1278 row_count : int, default -1
1280 setid : int, default -1
1281 セットID(省略した場合はカレントセット)
1286 結果コード(正:データ数、負:エラーコード)
1292 =========================================================
1293 >>> dsx.fill_cell(“practice1”,”項目1”,”あ”,1,-1,1)
1294 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1295 [‘あ’,’あ’,’あ’,’あ’,’あ’]
1296 =========================================================
1300 1.セルの値取得(get_cell)で、入力結果を確認できます
1301 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1302 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
1306 serv = FillCellEx.FillCellEx()
1307 serv.TableName = table_name
1308 serv.FilterName = item_name
1309 serv.StartRow = start_row
1310 serv.RowCount = row_count
1311 serv.FillStr = set_string
1313 serv.execDataService()
1315 return serv.ResultCode
1331 結果コード(0:成功、負:エラーコード)
1337 =========================================
1338 >>> dsx.get_itemlist(“practice1”)
1340 >>> dsx.sort_item(“practice1”,”NAME”)
1342 >>> dsx.get_itemlist(“practice1”)
1344 =========================================
1348 項目一覧取得(get_itemlist)で、ソート結果を確認できます
1352 serv = SortItemEx.SortItemEx()
1353 serv.TableName = table_name
1354 serv.SortKey = sort_key
1355 serv.execDataService()
1357 return serv.ResultCode
1373 結果コード(正:追加作成された項目ID、負:エラーコード)
1377 テーブルpractice1とpractice2を内部結合(InnerJOIN)した後、項目1を転送する
1379 ===========================================================================================================
1380 >>> dsx.join("join1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"Inner",
"No")
1382 >>> dsx.get_tuple(
"practice1",1,20,1)
1383 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
1384 >>> dsx.transfer_item(
"join1",
"項目1")
1386 >>> dsx.get_tuple(
"practice3",1,20,1)
1387 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'ア'], [
'2',
'2',
'い',
'き',
'イ']]
1388 ===========================================================================================================
1392 テーブルデータ取得(get_tuple)で、転送した項目を確認できます
1395 import TransferItemEx
1396 serv = TransferItemEx.TransferItemEx()
1397 serv.TableName = table_name
1398 serv.FilterName = item_name
1399 serv.execDataService()
1401 return serv.ResultCode
1419 結果コード(0:成功、負:エラーコード)
1423 浮動小数型の項目1の小数点以下を1桁にする
1425 ===============================================
1426 >>> dsx.get_cell(“practice1”,”項目1”,1,3,1)
1427 [‘1.000’,’2.000’,’3.000’]
1428 >>> dsx.float_format(“practice1”,”項目1”,1)
1430 >>> dsx.get_cell(“practice1”,”項目1”,1,3,1)
1432 ===============================================
1436 セルの値取得(get_cell)で、小数点以下の桁数を確認できます
1439 import FloatFormatEx
1440 serv = FloatFormatEx.FloatFormatEx()
1441 serv.TableName = table_name
1442 serv.FilterName = item_name
1444 serv.execDataService()
1446 return serv.ResultCode
1448 def get_cell(self, table_name, item_name, start_row = 1, row_count = 1, setid = -1):
1458 start_row : int, default 1
1460 row_count : int, default 1
1462 setid : int, default -1
1463 セットID(省略した場合はカレントセット)
1472 項目1の先頭から3行分のセルの値を取得する
1474 ===============================================
1475 >>> dsx.get_cell(“practice1”,”項目1”,1,3,1)
1476 [‘1000’,’2000’,’3000’]
1477 ===============================================
1481 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1485 serv = GetCellEx.GetCellEx()
1486 serv.TableName = table_name
1487 serv.FilterName = item_name
1488 serv.StartRow = start_row
1489 serv.RowCount = row_count
1491 serv.execDataService()
1493 return serv.ResultList
1503 start_row : int, default 1
1505 fetch_size : int, default 128
1507 setid : int, default -1
1508 セットID(省略した場合はカレントセット)
1517 テーブルpractice1をJSON形式で取得する
1519 ========================================================================================================================
1520 >>> dsx.get_tuple_asjson("practice1",1,10,1)
1521 [{
'SeqNo':
'1',
'RecNo':
'1',
'項目1: 'あ
', '項目2
': 'か
'}, {'SeqNo
': '2
', 'RecNo
': '2
', ' 項目1
': 'い
', '項目2
': 'き
'}]
1522 ========================================================================================================================
1526 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1530 serv = GetTupleEx.GetTupleEx()
1531 serv.TableName = table_name
1532 serv.StartRow = start_row
1533 serv.FetchSize = fetch_size
1536 serv.execDataService()
1538 return serv.ResultList
1540 def get_tuple(self, table_name, start_row = 1, fetch_size = 128, setid = -1):
1548 start_row : int, default 1
1550 fetch_size : int, default 128
1552 setid : int, default -1
1553 セットID(省略した場合はカレントセット)
1558 文字列に変換した行配列データ(先頭行はカラム名配列)
1562 テーブルpractice1のテーブルデータを取得する
1564 ======================================================================================
1565 >>> dsx.get_tuple("practice1",1,30,1)
1566 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
1567 ======================================================================================
1570 1つ目のリスト[SeqNo, RecNo,項目1,項目2]は列名(項目名)、2つ目以降のリスト内の値は列(項目)の順になっています
1574 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1578 serv = GetTupleEx.GetTupleEx()
1579 serv.TableName = table_name
1580 serv.StartRow = start_row
1581 serv.FetchSize = fetch_size
1584 serv.execDataService()
1586 return serv.ResultList
1588 def __get_fatalerror(self):
1594 GetFatalError : bool
1597 import DataServiceCtl2
1598 serv = DataServiceCtl2.DataServiceCtl2()
1599 return serv.GetFatalError()
1601 def __get_fatalerror_logname(self):
1607 GetFatalErrorLogName : str
1610 import DataServiceCtl2
1611 serv = DataServiceCtl2.DataServiceCtl2()
1612 return serv.GetFatalErrorLogName()
1630 テーブルpractice1の項目一覧を取得する
1632 ===================================
1633 >>> dsx.get_itemlist(“practice1”)
1635 ===================================
1638 import GetItemListEx
1639 serv = GetItemListEx.GetItemListEx()
1640 serv.TableName = table_name
1641 serv.execDataService()
1643 return serv.ResultList
1654 import GetLicenseExpirationEx
1655 serv = GetLicenseExpirationEx.GetLicenseExpirationEx()
1656 serv.execDataService()
1658 return serv.ResultStr
1669 import GetLimitCPUEx
1670 serv = GetLimitCPUEx.GetLimitCPUEx()
1671 serv.execDataService()
1673 return serv.ResultLong
1691 テーブルpractice1の使用メモリサイズを取得する
1693 =================================
1694 >>> dsx.get_memory(“practice1”)
1696 =================================
1700 serv = GetMemoryEx.GetMemoryEx()
1701 serv.TableName = table_name
1702 serv.execDataService()
1704 return serv.ResultLong
1708 使用可能メモリサイズ(ライセンス情報)取得
1715 import GetLimitMemoryEx
1716 serv = GetLimitMemoryEx.GetLimitMemoryEx()
1717 serv.execDataService()
1719 return serv.ResultLong
1730 import GetLimitRowEx
1731 serv = GetLimitRowEx.GetLimitRowEx()
1732 serv.execDataService()
1734 return serv.ResultLong
1747 ResultIntList : list
1748 セットリスト [ID, アトリビュート]
1750 import GetSetIDListEx
1751 serv = GetSetIDListEx.GetSetIDListEx()
1752 serv.TableName = table_name
1753 serv.execDataService()
1755 return serv.ResultIntList
1765 setid : int, default -1
1766 セットID(省略した場合はカレントセット)
1771 結果コード(正:セットの行数、負:エラーコード)
1775 テーブルpractice1の行数を取得する
1777 =====================================
1778 >>> dsx.get_rowcount(“practice1”,1)
1780 =====================================
1784 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1787 import GetRowCountEx
1788 serv = GetRowCountEx.GetRowCountEx()
1789 serv.TableName = table_name
1791 serv.execDataService()
1793 return serv.ResultCode
1808 ========================
1809 >>> dsx.get_tablelist()
1811 ========================
1814 import GetTableListEx
1815 serv = GetTableListEx.GetTableListEx()
1816 serv.execDataService()
1818 return serv.ResultList
1836 テーブルID1~3のテーブル名を取得する
1838 ========================================
1839 >>>dsx.get_tablelist()
1840 ['practice1',
'practice2',
'practice3']
1841 >>> dsx.get_tablename(1)
1843 >>> dsx.get_tablename(2)
1845 >>> dsx.get_tablename(3)
1847 ========================================
1851 テーブルIDは自動的にロードした順でつけられます
1855 テーブル一覧取得(get_tablelist)で全てのテーブルを確認できます
1858 import GetTableNameEx
1859 serv = GetTableNameEx.GetTableNameEx()
1860 serv.TableID = tableid
1861 serv.execDataService()
1863 return serv.ResultStr
1881 値リスト(最大5,000行、5,000行を超えた場合は後を切り捨て)
1887 ============================================
1888 >>> dsx.get_valuelist("practice1",1,
"項目1")
1889 [
'',
'あ',
'い',
'う',
'え',
'お']
1890 ============================================
1894 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1897 import GetValueListEx
1898 serv = GetValueListEx.GetValueListEx()
1899 serv.TableName = table_name
1901 serv.FilterName = item_name
1902 serv.execDataService()
1904 return serv.ResultList
1919 =====================
1920 >>> dsx.get_version()
1922 =====================
1926 serv = GetVersionEx.GetVersionEx()
1927 serv.execDataService()
1929 return serv.ResultStr
1933 JOINテーブルのIN/OUT集合サブテーブル化
1940 Yes:スレーブテーブルより抽出、No:マスターテーブルより抽出
1946 ResultIntList : list
1947 結果配列(セットが追加されたテーブルIDと生成されたセットID)
1951 JOINテーブルjoin1のIN集合をサブテーブル化する
1952 ============================================================================================================
1953 ※practice1とpractice2をJOINしたものがjoin1となっています
1954 >>> dsx.get_tablelist()
1955 ['practice1',
'practice2',
'join1']
1956 >>> dsx.get_setid_list(
"practice1")
1958 >>> dsx.join_inout(
"join1",
"No",
"IN")
1960 >>> dsx.get_tablename(
"2")
1962 >>> dsx.get_setid_list(
"practice1")
1963 [[1,
''], [2,
'JoinIN isSlave No']]
1964 >>> dsx.get_tuple(
"practice1",1,20,2)
1965 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'ア'], [
'2',
'2',
'い',
'き',
'イ']]
1966 =============================================================================================================
1970 セットID一覧取得(get_setid_list)で、JOINテーブルがサブテーブル化したことを確認できます
1974 serv = JoinInOutEx.JoinInOutEx()
1975 serv.TableName = table_name
1976 serv.IsSlave = is_slave
1977 serv.IsJoinOut = is_in_out
1978 serv.execDataService()
1980 return serv.ResultIntList
1992 start_row : int, default 1
1998 結果コード(正:挿入行数、負:エラーコード)
2002 テーブルpractice1の3行目に1行挿入する
2004 ===========================================
2005 >>> dsx.get_rowcount(“practice1”,1)
2007 >>> dsx.get_cell("practice1",
"項目1",1,5,1)
2008 [
'あ',
'い',
'う',
'え',
'お']
2009 >>> dsx.insert_row(
"practice1",1,3)
2011 >>> dsx.get_rowcount(“practice1”,1)
2013 >>> dsx.get_cell(
"practice1",
"項目1",1,5,1)
2014 [
'あ',
'い',
'',
'う',
'え']
2015 ===========================================
2019 1.テーブルの行数取得(get_rowcount)で、行数の増減を確認できます
2020 2.セルの値取得(get_cell)で、行の挿入位置を確認できます
2024 serv = InsertRowEx.InsertRowEx()
2025 serv.TableName = table_name
2026 serv.StartRow = start_row
2027 serv.RowCount = row_count
2028 serv.execDataService()
2030 return serv.ResultCode
2032 def join_realize(self, join_table_name, real_table_name, setid, master_rec_number = 'Yes', slave_rec_number = 'Yes', item_name_list = '*'):
2034 JOINテーブルをREALテーブルに変換
2038 join_table_name : str
2040 real_table_name : str
2044 master_rec_number : str, default 'Yes'
2045 Yes:マスターテーブルのRecNoを出力する、No:出力しない
2046 slave_rec_number : str, default
'Yes'
2047 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
2048 item_name_list : list, default
'*'
2054 結果コード(正:REALテーブルID、負:エラーコード)
2058 JOINテーブルjoin1をREALテーブルに変換する
2060 =======================================================
2061 >>> dsx.join_realize(
"join1",
"real1",1,
"No",
"No",[
"*"])
2063 >>> dsx.get_tablelist()
2064 [
'practice1',
'practice2',
'join1',
'real1']
2065 =======================================================
2069 1.テーブル一覧取得(get_tablelist)で、JOINテーブルを変換したREALテーブルが追加されたことを確認できます
2070 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2073 import JoinRealizeEx
2074 serv = JoinRealizeEx.JoinRealizeEx()
2075 serv.JtableName = join_table_name
2076 serv.RtableName = real_table_name
2078 serv.MRecNo = master_rec_number
2079 serv.SRecNo = slave_rec_number
2080 serv.FilterNameList = item_name_list
2081 serv.execDataService()
2083 return serv.ResultCode
2097 結果コード(正:テーブルID、負:エラーコード)
2101 D5Tファイル”practice1”をロードする
2103 ===============================================
2104 >>> dsx.load(フォルダ\\フォルダ\\practice1.D5T)
2106 >>> dsx.get_tablelist()
2108 ===============================================
2112 テーブル一覧取得(get_tablelist)で、チューボーにテーブルをロードしたことを確認できます
2116 serv = LoadEx.LoadEx()
2117 serv.TableName = file_name
2118 serv.execDataService()
2120 return serv.ResultCode
2122 def __logrotate(self):
2124 ログ/レシピファイルのローテーション(非公開内部機能)
2129 結果コード(0:成功、負:エラーコード)
2132 serv = LogRotateEx.LogRotateEx()
2133 serv.execDataService()
2135 return serv.ResultCode
2145 item_name_list : list
2153 結果コード(0:成功、負:エラーコード)
2159 ================================================
2160 >>> dsx.get_itemlist("practice1")
2161 [
'項目1',
'項目2',
'項目3']
2162 >>> dsx.move_item(
"practice1",[
"項目1"],
"項目3")
2164 >>> dsx.get_itemlist(
"practice1")
2165 [
'項目2',
'項目3',
'項目1']
2166 ================================================
2170 項目一覧取得(get_itemlist)で、項目が移動したことを確認できます
2174 serv = MoveItemEx.MoveItemEx()
2175 serv.TableName = table_name
2176 serv.FilterNameList = item_name_list
2177 serv.FilterName = item_name
2178 serv.execDataService()
2180 return serv.ResultCode
2182 def __numeric_rescale(self, table_name, item_name, num_scale, num_mode):
2184 NUMERIC型データのスケール・丸めモードを設定(サポートなし)
2195 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
2200 結果コード(0:成功、負:エラーコード)
2202 import NumericRescaleEx
2203 serv = NumericRescaleEx.NumericRescaleEx()
2204 serv.TableName = table_name
2205 serv.FilterName = item_name
2206 serv.NumScale = num_scale
2207 serv.NumMode = num_mode
2208 serv.execDataService()
2210 return serv.ResultCode
2212 def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space = 'No', setid = -1):
2226 fill_string_list : list
2228 is_ex_space : str, default 'No'
2229 Yes:末尾空白を削除する、No:削除しない
2230 setid : int, default -1
2231 セットID(省略した場合はカレントセット)
2236 結果コード(正:データ数、負:エラーコード)
2239 serv = OverwriteEx.OverwriteEx()
2240 serv.TableName = table_name
2241 serv.FilterName = item_name
2242 serv.StartRow = start_row
2243 serv.RowCount = row_count
2244 serv.FillStrList = fill_string_list
2246 serv.ExSpace = is_ex_space
2247 serv.execDataService()
2249 return serv.ResultCode
2251 def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid = -1):
2263 fill_string_list : カラム = [[] for i
in range(len(ヘッダーカラム))]
2264 入力文字列リスト(カラム単位での2次元配列)
2265 setid : int, default -1
2266 セットID(省略した場合はカレントセット)
2271 結果コード(正:データ数、負:エラーコード)
2273 import OverwriteOnBatchEx
2274 serv = OverwriteOnBatchEx.OverwriteOnBatchEx()
2275 serv.TableName = table_name
2276 serv.StartRow = start_row
2277 serv.RowCount = row_count
2278 serv.FillStrList = fill_string_list
2280 serv.execDataService()
2282 return serv.ResultCode
2292 new_table_name : str
2298 結果コード(0:成功、負:エラーコード)
2302 テーブル名をpractice1からpractice2に変更する
2304 =============================================
2305 >>> dsx.get_tablelist()
2307 dsx.rename_table(“practice1”,”practice2”)
2309 >>> dsx.get_tablelist()
2311 =============================================
2314 テーブル一覧取得(get_tablelist)でテーブル名が変更したことを確認できます
2317 import RenameTableEx
2318 serv = RenameTableEx.RenameTableEx()
2319 serv.TableName = table_name
2320 serv.NewtableName = new_table_name
2321 serv.execDataService()
2323 return serv.ResultCode
2341 結果コード(0:成功、負:エラーコード)
2347 ======================================================
2348 >>> dsx.get_itemlist(“practice1”)
2350 >>> dsx.rename_item(“practice1”,”項目1”,”item1”)
2352 >>> dsx.get_itemlist(“practice1”)
2354 ======================================================
2358 項目一覧取得(get_itemlist)で項目名が変更したことを確認できます
2362 serv = RenameItemEx.RenameItemEx()
2363 serv.TableName = table_name
2364 serv.FilterName = item_name
2365 serv.NewfilterName = new_item_name
2366 serv.execDataService()
2368 return serv.ResultCode
2382 結果コード(0:成功、負:エラーコード)
2388 =============================================================
2389 >>> dsx.save(“フォルダ\\フォルダ\\フォルダ\\practice1.D5T”)
2391 =============================================================
2395 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
2399 serv = SaveEx.SaveEx()
2400 serv.TableName = file_name
2401 serv.execDataService()
2403 return serv.ResultCode
2405 def search(self, table_name, item_name, setid, search_string):
2418 検索条件式(=、<>、<=、<、>=、>、string*、*string*、*string、IS NULL、IS NOT NULL)
2423 結果コード(正:生成されたセットID、負:エラーコード)
2427 テーブルpractice1の項目1で、”あ”以外の値を検索する
2429 =========================================================
2430 >>> dsx.search(“practice1”,”項目1”,1,”[項目1]<>あ”)
2432 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
2433 [‘い’,’う’,’え’,’お’,’か’]
2434 =========================================================
2438 検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2442 1.セルの値取得(get_cell)で検索結果を確認できます
2443 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2447 serv = SearchEx.SearchEx()
2448 serv.TableName = table_name
2449 serv.FilterName = item_name
2451 serv.SearchStr = search_string
2452 serv.execDataService()
2454 return serv.ResultCode
2468 search_string_list : list
2474 結果コード(正:生成されたセットID、負:エラーコード)
2478 項目1の値が”あ”,“い”のデータのみ取得する
2480 =======================================================================================================================
2481 >>> dsx.get_tuple("practice1",1,20,1)
2482 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2483 >>> dsx.search_values(
"practice2",
"項目1",1,[
" あ",
"い"])
2485 >>> dsx.get_tuple(
"practice1",1,20,3)
2486 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
2487 =======================================================================================================================
2491 値リスト検索で生成されたセットIDが3なので、検索結果確認のテーブルデータ取得では引数(セットID)が3となります
2495 1.テーブルデータ取得で、検索結果を確認できます
2496 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2499 import SearchValuesEx
2500 serv = SearchValuesEx.SearchValuesEx()
2501 serv.TableName = table_name
2502 serv.FilterName = item_name
2504 serv.SearchStr = search_string_list
2505 serv.execDataService()
2507 return serv.ResultCode
2527 結果コード(正:生成されたセットID、負:エラーコード)
2529 import SearchValuesByCsvEx
2530 serv = SearchValuesByCsvEx.SearchValuesByCsvEx()
2531 serv.TableName = table_name
2532 serv.FilterName = item_name
2534 serv.FileName = file_name
2535 serv.execDataService()
2537 return serv.ResultCode
2551 list_table_name : str
2553 list_item_name : str
2561 結果コード(正:生成されたセットID、負:エラーコード)
2563 import SearchValuesByTableEx
2564 serv = SearchValuesByTableEx.SearchValuesByTableEx()
2565 serv.TableName = table_name
2566 serv.FilterName = item_name
2568 serv.VtableName = list_table_name
2569 serv.VfilterName = list_item_name
2570 serv.VsetID = list_setid
2571 serv.execDataService()
2573 return serv.ResultCode
2586 文字列検索式(検索式の種類と構文はクッキングマニュアルを参照)
2591 結果コード(正:生成されたセットID、負:エラーコード)
2595 性別が男性かつ年齢が20歳を超えている人の苗字を検索する
2597 =============================================================================
2598 >>> dsx.search_string(“practice1”,1,”性別 = ’男性’ AND 年齢 <= ’20’”)
2600 >>> dsx.get_cell(“practice1”,”苗字”,1,5,2)
2601 [‘相澤’,’青木’,’秋元’,’朝倉’,’在原’]
2602 =============================================================================
2606 1.検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2607 2.文字列検索では、検索の機能に加えAND、ORの指定が可能です
2611 1.セルの値取得(get_cell)で検索結果を確認できます
2612 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2615 import SearchStringEx
2616 serv = SearchStringEx.SearchStringEx()
2617 serv.TableName = table_name
2619 serv.Expression = expression
2620 serv.execDataService()
2622 return serv.ResultCode
2624 def setand(self, table_name, src_setid, dst_setid):
2626 2つのサブテーブル(セット)のAND抽出
2640 結果コード(正:生成されたセットID、負:エラーコード)
2644 ルートセットかつ検索リスト(項目1=”あ”)のサブテーブルを抽出する
2646 ==============================================================================================================
2647 >>> dsx.get_tuple("practice1",1,20,1)
2648 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2649 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2651 >>> dsx.get_setid_list(
"practice1")
2652 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2653 >>> dsx.setand(
"practice1",1,2)
2655 >>> dsx.get_tuple(
"practice1",1,50,3)
2656 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か']]
2657 ==============================================================================================================
2661 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2662 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます。
2666 serv = SetAndEx.SetAndEx()
2667 serv.TableName = table_name
2668 serv.SrcsetID = src_setid
2669 serv.DestsetID = dst_setid
2670 serv.execDataService()
2672 return serv.ResultCode
2674 def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid = -1):
2688 fill_string_list : list
2691 セットID(省略した場合はカレントセット)
2696 結果コード(正:データ数、負:エラーコード)
2702 ====================================================================================
2703 >>> dsx.set_cell(“practice1”,”項目1”,1,5,[”あ”,”い”,”う”,”え”,”お”],1)
2704 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
2705 [‘あ’,’い’,’う’,’え’,’お’]
2706 ====================================================================================
2710 1.セルの値取得(get_cell)で、書込み結果を確認できます
2711 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2712 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
2716 serv = SetCellEx.SetCellEx()
2717 serv.TableName = table_name
2718 serv.FilterName = item_name
2719 serv.StartRow = start_row
2720 serv.RowCount = row_count
2721 serv.FillStrList = fill_string_list
2723 serv.execDataService()
2725 return serv.ResultCode
2737 comment_string : str
2743 結果コード(0:成功、負:エラーコード)
2747 テーブルpractice1のセット(Search Set)のコメントを編集する
2749 =================================================
2750 >>> dsx.get_setid_list("practice1")
2751 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2752 >>> dsx.set_comment(
"practice1",2,
"検索リスト")
2754 >>> dsx.get_setid_list(
"practice1")
2755 [[1,
''], [2,
'検索リスト']]
2756 =================================================
2760 1.セットID一覧取得(get_setid_list)でセットのコメントが変更したことを確認できます
2761 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2765 serv = SetCommentEx.SetCommentEx()
2766 serv.TableName = table_name
2768 serv.CommentStr = comment_string
2769 serv.execDataService()
2771 return serv.ResultCode
2787 結果コード(0:成功、負:エラーコード)
2791 セットIDが2のサブテーブルに移動する(カレントセットを移動する)
2793 =================================================
2794 >>> dsx.get_setid_list("practice1")
2795 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2796 >>> dsx.move_currentset(
"practice1",2)
2798 =================================================
2802 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2805 import MoveCurrentSetEx
2806 serv = MoveCurrentSetEx.MoveCurrentSetEx()
2807 serv.TableName = table_name
2809 serv.execDataService()
2811 return serv.ResultCode
2827 結果コード(0:成功、負:エラーコード)
2831 テーブルpractice1のセットIDが3のサブテーブルを削除する
2833 ====================================================================================
2834 >>>dsx.get_setid_list("practice1")
2835 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
2836 >>>dsx.delete_set(“practice1”,3)
2838 >>>dsx.get_setid_list(
"practice1")
2839 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
2840 ====================================================================================
2844 1.セットID一覧取得(get_setid_list)で、セットIDが削除されたことを確認できます
2845 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2849 serv = DeleteSetEx.DeleteSetEx()
2850 serv.TableName = table_name
2852 serv.execDataService()
2854 return serv.ResultCode
2856 def __set_fatalerror(self, is_fatal_error):
2865 import DataServiceCtl2
2866 serv = DataServiceCtl2.DataServiceCtl2()
2867 serv.IsFatalError = is_fatal_error
2868 serv.execDataService()
2870 def __set_macrostop(self, is_macro_stop):
2872 実行不能エラー発生時のマクロ実行抑止フラグ設定
2879 import DataServiceCtl
2880 serv = DataServiceCtl.DataServiceCtl()
2881 serv.IsMacroStop = is_macro_stop
2882 serv.execDataService()
2898 結果コード(正:生成されたセットID、負:エラーコード)
2902 テーブルpractice1のサブテーブル、検索リスト(項目1=”あ”)でないものをルートセットから抽出する
2904 ==============================================================================================================
2905 >>> dsx.get_tuple("practice1",1,20,1)
2906 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2907 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2909 >>> dsx.get_setid_list(
"practice1")
2910 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2911 >>> dsx.setnot(
"practice1",2)
2913 >>> dsx.get_tuple(
"practice3",1,20,4)
2914 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'2',
'い',
'き'], [
'2',
'3',
'う',
'く']]
2915 ===============================================================================================================
2919 1.テーブルデータ取得で、抽出結果確認できます
2920 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2921 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
2925 serv = SetNotEx.SetNotEx()
2926 serv.TableName = table_name
2928 serv.execDataService()
2930 return serv.ResultCode
2932 def setor(self, table_name, src_setid, dst_setid):
2948 結果コード(正:生成されたセットID、負:エラーコード)
2952 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)または検索リスト(項目2=”き”)を抽出する
2954 ==============================================================================================================
2955 >>>dsx.get_tuple("practice1",1,20,1)
2956 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
2957 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2959 >>>dsx.search_values(
"practice1",
"項目2",1,[
"き"])
2961 >>>dsx.get_setid_list(
"practice1")
2962 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']] , [3,
'Search Set:1 [項目2] = 値リスト']]
2963 >>> dsx.setor(
"practice1",2,3)
2965 >>> dsx.get_tuple(
"practice1",1,20,4)
2966 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き']]
2967 ==============================================================================================================
2971 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2972 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2976 serv = SetOrEx.SetOrEx()
2977 serv.TableName = table_name
2978 serv.SrcsetID = src_setid
2979 serv.DestsetID = dst_setid
2980 serv.execDataService()
2982 return serv.ResultCode
2996 結果コード(0:成功、負:エラーコード)
3002 =====================================
3003 >>> dsx.set_license("ライセンスキー")
3005 =====================================
3009 serv = SetLicenseEx.SetLicenseEx()
3010 serv.LicenseKey = license_key
3011 serv.execDataService()
3013 return serv.ResultCode
3015 def setsub(self, table_name, src_setid, dst_setid):
3017 2つのサブテーブル(セット)のSUB抽出
3031 結果コード(正:生成されたセットID、負:エラーコード)
3035 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)を除いたテーブルから、 検索リスト(項目1=”い”)を除いたものを抽出する
3037 ==============================================================================================================
3038 >>>dsx.get_tuple("practice1",1,20,1)
3039 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'あ',
'か'], [
'2',
'2',
'い',
'き'], [
'3',
'3',
'う',
'く']]
3040 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
3042 >>> dsx.setnot(
"practice1",2)
3044 >>> dsx.get_tuple(
"practice3",1,20, 3)
3045 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'2',
'い',
'き'], [
'2',
'3',
'う',
'く']]
3046 >>>dsx.search_values(
"practice1",
"項目1",1,[
"い"])
3048 >>> dsx.setsub(
"practice1",3,4)
3050 >>> dsx.get_tuple(
"practice1",1,20,7)
3051 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'う',
'く']]
3052 ===============================================================================================================
3056 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
3057 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3058 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
3062 serv = SetSubEx.SetSubEx()
3063 serv.TableName = table_name
3064 serv.SrcsetID = src_setid
3065 serv.DestsetID = dst_setid
3066 serv.execDataService()
3068 return serv.ResultCode
3070 def sort(self, table_name, item_name, setid, sort_type = 'ASC'):
3082 sort_type : str, default 'ASC'
3088 結果コード(正:生成されたセットID、負:エラーコード)
3094 ===============================================
3095 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
3096 [‘2’,’3’,’4’,’5’,’1’]
3097 >>> dsx.sort(“practice1”,”項目1”,1,”ASC”)
3099 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
3100 [‘1’,’2’,’3’,’4’,’5’]
3101 ===============================================
3105 ソートした際に生成されたセットIDが2なので、ソート結果確認のセルの値取得では引数(セットID)が2となります
3109 1.セルの値取得(get_cell)で、ソート結果を確認できます
3110 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3114 serv = SortEx.SortEx()
3115 serv.TableName = table_name
3116 serv.FilterName = item_name
3118 serv.SortType = sort_type
3119 serv.execDataService()
3121 return serv.ResultCode
3123 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'):
3135 delimiter : str, default 'CSV'
3137 write_top : int, default 1
3139 write_bottom : int, default -1
3141 write_left : int, default 1
3142 開始列(先頭列は1、RecNoは指定不可)
3143 write_right : int, default -1
3145 is_header : str, default
'Yes'
3146 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3151 結果コード(正:出力行数、負:エラーコード)
3155 テーブルpractice1の全ての値をカンマ区切りのCSVファイルにエクスポートする
3157 =================================================================================================
3158 >>> dsx.write_csv(“practice1”,”フォルダ\\フォルダ\\practice.csv”,1,”CSV”,1,-1,1,-1,”Yes”)
3160 =================================================================================================
3164 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3168 serv = WriteCsvEx.WriteCsvEx()
3169 serv.TableName = table_name
3170 serv.Delimiter = delimiter
3171 serv.FileName = file_name
3172 serv.WriteTop = write_top
3173 serv.WriteBottom = write_bottom
3174 serv.WriteLeft = write_left
3175 serv.WriteRight = write_right
3176 serv.Header = is_header
3178 serv.TargetOut =
None
3179 serv.execDataService()
3181 return serv.ResultCode
3183 def write_csv_selectitem(self, table_name, file_name, setid, delimiter = 'CSV', write_top = 1, write_bottom = -1, item_name_list = '*', is_header = 'Yes'):
3197 write_top : int, default 1
3199 write_bottom : int, default -1
3201 item_name_list : list, default '*'
3202 抽出項目名リスト(
"*"は全項目が対象)
3203 is_header : str, default
'Yes'
3204 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3209 結果コード(正:出力行数、負:エラーコード)
3213 テーブルpractice1の項目1のみをカンマ区切りのCSVファイルにエクスポートする
3215 ==========================================================================================================
3216 >>>dsx.write_csv_selectitem(
"practice1”,”フォルダ\\フォルダ\\practice.csv",1,
"CSV",1,-1,[
"項目1"],
"Yes")
3218 ==========================================================================================================
3222 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3225 import WriteCsvSelectItemEx
3226 serv = WriteCsvSelectItemEx.WriteCsvSelectItemEx()
3227 serv.TableName = table_name
3228 serv.Delimiter = delimiter
3229 serv.FileName = file_name
3230 serv.WriteTop = write_top
3231 serv.WriteBottom = write_bottom
3232 serv.FilterNameList = item_name_list
3233 serv.Header = is_header
3235 serv.TargetOut =
None
3236 serv.execDataService()
3238 return serv.ResultCode
3251 変換するデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
3256 結果コード(正:生成された項目ID、負:エラーコード)
3260 項目1のデータ型を整数から浮動小数に変換する
3262 ========================================================
3263 >>>dsx.get_itemlist(“practice1”)
3265 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
3267 >>>dsx.convert_type(“practice1”,”項目1”,”Double”)
3269 >>>dsx.get_itemlist(“practice1”)
3271 >>>dsx.get_cell(“practice1”,”項目1”,1,3,1)
3273 ========================================================
3277 1.項目一覧取得(get_itemlist)で、項目が追加されたことを確認できます
3278 2.セルの値取得(get_cell)で、値が型変換されたことを確認できます
3281 import ConvertTypeEx
3282 serv = ConvertTypeEx.ConvertTypeEx()
3283 serv.TableName = table_name
3284 serv.FilterName = item_name
3285 serv.FilterType = data_type
3286 serv.execDataService()
3288 return serv.ResultCode
3290 def __convert_type_numeric(self, table_name, item_name, num_scale, num_mode):
3292 項目のNUMERIC型変換複製(サポートなし)
3303 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
3308 結果コード(正:生成された項目ID、負:エラーコード)
3310 import ConvertTypeNumericEx
3311 serv = ConvertTypeNumericEx.ConvertTypeNumericEx()
3312 serv.TableName = table_name
3313 serv.FilterName = item_name
3314 serv.NumScale = num_scale
3315 serv.NumMode = num_mode
3316 serv.execDataService()
3318 return serv.ResultCode
3320 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'):
3328 master_table_name : str
3330 slave_table_name : str
3336 master_union_key : str
3338 slave_union_key : str
3340 is_master_tableid : str
3341 Yes:マスターテーブルのIDを使用する、No:使用しない
3342 is_slave_rec_number : str
3343 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
3344 is_delete_table : str
3345 Yes:元テーブルを削除する、No:削除しない
3350 結果コード(正:生成されたテーブルID、負:エラーコード)
3354 テーブルpractice1とpractice2の項目1を結合する
3356 ==================================================================================================
3357 >>> dsx.get_tablelist()
3358 ['practice1',
'practice2']
3359 >>> dsx.union(
"union1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"No",
"No",
"No")
3361 >>> dsx.get_tablelist()
3362 [
'practice1, 'practice2
','union1
']
3363 >>> dsx.get_tuple("union1",1,50,1)
3364 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'い'][
'3',
'3',
'ア'], [
'4',
'4',
'イ']]
3365 ===================================================================================================
3369 1.テーブル一覧取得(get_tablelist)で、UNIONテーブルが追加されたことを確認できます
3370 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
3371 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3375 serv = UnionEx.UnionEx()
3376 serv.UtableName = table_name
3377 serv.MtableName = master_table_name
3378 serv.StableName = slave_table_name
3379 serv.MsetID = master_setid
3380 serv.SsetID = slave_setid
3381 serv.MUnionKey = master_union_key
3382 serv.SUnionKey = slave_union_key
3383 serv.MtableID = is_master_tableid
3384 serv.RecNo = is_slave_rec_number
3385 serv.DelTable = is_delete_table
3386 serv.execDataService()
3388 return serv.ResultCode
3400 is_visibility : str, default 'Yes'
3406 結果コード(0:成功、負:エラーコード)
3408 import VisibleItemEx
3409 serv = VisibleItemEx.VisibleItemEx()
3410 serv.TableName = table_name
3411 serv.FilterName = item_name
3412 serv.Visibility = is_visibility
3413 serv.execDataService()
3415 return serv.ResultCode
3417 def xsum(self, table_name, setid, dimension_item_list, measure_item_list):
3427 dimension_item_list : list
3429 measure_item_list : list
3430 測度の項目リスト {項目名,件数,最大値,最小値,合計値,平均値}(最大32項目)
3431 件数 (Yes:集計する、No:集計しない)
3432 最大値(Yes:集計する、No:集計しない)
3433 最小値(Yes:集計する、No:集計しない)
3434 合計値(Yes:集計する、No:集計しない)
3435 平均値(Yes:集計する、No:集計しない)
3440 結果コード(正:生成された集計テーブルID、負:エラーコード)
3444 項目1の件数、最大値、最小値、合計値、平均値を集計する
3446 ====================================================================================================================================================
3447 >>> dsx.xsum("practice1",1,[
"項目1"],[[
"項目1",
"Yes",
"Yes",
"Yes",
"Yes",
"Yes"]])
3449 >>> dsx.get_tablelist()
3450 [
'practice1',
'XTBL_practice1']
3451 >>> dsx.get_tuple(
"XTBL_practice1",1,20,1)
3452 [[
'SeqNo',
'RecNo',
'項目1',
'N<項目1>',
'MAX<項目1>',
'MIN<項目1>',
'SUM<項目1>',
'AVG<項 目1>'], [
'1',
'1',
'1',
'1',
'1',
'1',
'1.000',
'1.000']]
3453 ====================================================================================================================================================
3457 引数の、測度の項目リストの角カッコ[ ]は二重である点に注意してください
3461 1.テーブル一覧取得(get_tablelist)で、集計テーブルが追加されたことを確認できます
3462 2.テーブルデータ取得(get_tuple)で、集計結果を確認できます
3463 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3467 serv = XSumEx.XSumEx()
3468 serv.TableName = table_name
3470 serv.DItemList = dimension_item_list
3472 for inlist
in measure_item_list:
3473 outlist.append(inlist)
3474 serv.NItemList = outlist
3475 serv.execDataService()
3477 return serv.ResultCode
3481 Apache Arrow(インメモリ)形式のテーブルを読み込む
3483 ※ pyarrow(Python Lib.)のインストールが必要です。
3487 table : pyarrow.Table
3488 Apache Arrow Tableオブジェクト
3489 columns : list, default None
3490 抽出カラム名リスト(省略時は全カラムが対象)
3499 serv = LoadArrow.LoadArrow()
3501 serv.Columns = columns
3502 serv.execDataService()
3504 return serv.ResultStr
3505 except Exception
as e:
3506 raise Exception(
"pyarrowException " + str(e))
3510 テーブルをApache Arrow(インメモリ)形式で書き出す
3512 ※ pyarrow(Python Lib.)のインストールが必要です。
3518 setid : int, default -1
3519 セットID(省略した場合はカレントセット)
3520 columns : list, default None
3521 抽出項目名リスト(省略時は全項目が対象)
3525 ResultCode : pyarrow.Table
3526 arrow.Tableオブジェクト、None:エラー
3530 serv = SaveArrow.SaveArrow()
3531 serv.TableName = table_name
3533 serv.Columns = columns
3534 serv.execDataService()
3536 return serv.ArrowTable
3537 except Exception
as e:
3538 raise Exception(
"pyarrowException " + str(e))
3544 ※ pyarrow(Python Lib.)のインストールが必要です。
3552 columns : list, default None
3553 抽出カラム名リスト(省略時は全カラムが対象)
3558 結果コード(正:テーブルID、負:エラーコード)
3562 serv = ReadParquet.ReadParquet()
3563 serv.TableName = table_name
3564 serv.FileName = file_name
3565 serv.Columns = columns
3566 serv.execDataService()
3568 return serv.ResultCode
3569 except Exception
as e:
3570 raise Exception(
"pyarrowException " + str(e))
3574 テーブルをParquet形式でエクスポート
3576 ※ pyarrow(Python Lib.)のインストールが必要です。
3584 setid : int, default -1
3585 セットID(省略した場合はカレントセット)
3586 columns : list, default None
3587 抽出項目名リスト(省略時は全項目が対象)
3592 結果コード(正:出力行数、負:エラーコード)
3596 serv = WriteParquet.WriteParquet()
3597 serv.TableName = table_name
3598 serv.FileName = file_name
3600 serv.Columns = columns
3601 serv.execDataService()
3603 return serv.ResultCode
3604 except Exception
as e:
3605 raise Exception(
"pyarrowException " + str(e))
3609 Jupyterから「SDC V3」を起動(限定公開機能)
3610 JupyterとSDC V3でデータ処理エンジンを共用(お互いが処理したテーブルを参照・更新できる)
3613 デスクトップタイプのみ動作可能(Jupyter notebook/labのセル中で使用すること)
3614 PYTHONPATHでserverへのパス指定が必須です。
3618 export PYTHONPATH=$(cd "./server/dataService" && pwd):$PYTHONPATH
3619 export PYTHONPATH=$(cd
"./server" && pwd):$PYTHONPATH
3620 export DYLD_LIBRARY_PATH=$(cd
"./server/di5engine/mac" && pwd) ←←← macOSの場合のみ 必須
3624 1. Jupyter側で作成したテーブル/セットをSDC V3側のワークスペース表示に反映させるには、SDC V3側でワークスペースの変更を伴う操作が必要です。
3625 2. SDC V3側でログアウトするとJupyter側のPythonjカーネルが停止して、以後、操作できなくなります。
3626 3. SDC V3側で参照しているテーブルをJupyter側で削除/変更すると、SDC V3側で予期せぬエラーが発生することがあります。
3638 sdc = StartSDC3.startSDC3()
3665 結果コード(2 ~ 8:成功、負:エラーコード)
3667 import GetDataTypeEx
3668 serv = GetDataTypeEx.GetDataTypeEx()
3669 serv.TableName = table_name
3670 serv.FilterName = item_name
3671 serv.execDataService()
3673 return serv.ResultCode
def duplicate_item(self, table_name, item_name)
def setsub(self, table_name, src_setid, dst_setid)
def comment(self, comment)
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_itemlist(self, table_name)
def output_log(self, is_content='No', is_result='Yes', is_recipe='No', is_document='No')
def get_tuple(self, table_name, start_row=1, fetch_size=128, setid=-1)
def db_save(self, file_name)
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 calc(self, table_name, item_name, calc_string, row_count=-1, start_row=1, setid=-1)
def get_valuelist(self, table_name, setid, item_name)
def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid=-1)
def db_codeset(self, db_codeset)
def sort_item(self, table_name, sort_key)
def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name)
def delete_allset(self, table_name)
def compression(self, table_name)
def read_csv(self, table_name, file_name)
def save_arrow(self, table_name, setid=-1, columns=None)
def set_comment(self, table_name, setid, comment_string)
def set_license(self, license_key)
def get_setid_list(self, table_name)
def delete_resultset(self, table_name, setid)
def read_parquet(self, table_name, file_name, columns=None)
def append_row(self, table_name, row_count, start_row=1)
def get_tablename(self, tableid)
def visible_item(self, table_name, item_name, is_visibility='Yes')
def sort(self, table_name, item_name, setid, sort_type='ASC')
def search_values_bycsv(self, table_name, item_name, setid, file_name)
def get_limit_memory(self)
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_cell(self, table_name, item_name, start_row=1, row_count=1, setid=-1)
def rename_item(self, table_name, item_name, new_item_name)
def get_memory(self, table_name)
def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space='No', setid=-1)
def get_data_type(self, table_name, item_name)
def edit_comma(self, table_name, item_name, is_edit='Yes')
def search(self, table_name, item_name, setid, search_string)
def extract_unique(self, table_name, setid, item_name_list=' *', is_keep_order='Yes')
def categorize(self, table_name, item_name, category_table_name)
def delete_table(self, table_name)
def search_values_bytable(self, table_name, item_name, setid, list_table_name, list_item_name, list_setid)
def load(self, file_name)
def get_rowcount(self, table_name, setid=-1)
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 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 move_currentset(self, table_name, setid)
def extract_set(self, table_name, setid, is_view_table_id='Yes', is_record_number='Yes', item_name_list=' *', new_table_name=None)
def setor(self, table_name, src_setid, dst_setid)
def duplicate_table(self, table_name)
def setand(self, table_name, src_setid, dst_setid)
def join_inout(self, table_name, is_slave, is_in_out)
def get_tuple_asjson(self, table_name, start_row=1, fetch_size=128, setid=-1)
def rename_table(self, table_name, new_table_name)
def float_format(self, table_name, item_name, digit)
def search_string(self, table_name, setid, expression)
def insert_row(self, table_name, row_count, start_row=1)
def convert_type(self, table_name, item_name, data_type)
def catalog(self, table_name, file_name, catalog_name, mode=None)
def setnot(self, table_name, setid)
def __init__(self, is_macro_stop=False, is_language="ja-JP")
def db_load(self, file_name)
def create_table(self, row_count, table_name)
def save(self, file_name)
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 search_values(self, table_name, item_name, setid, search_string_list)
def delete_set(self, table_name, setid)
def delete_item(self, table_name, item_name)
def join_realize(self, join_table_name, real_table_name, setid, master_rec_number='Yes', slave_rec_number='Yes', item_name_list=' *')
def transfer_item(self, table_name, item_name)
def move_item(self, table_name, item_name_list, item_name)
def load_arrow(self, table, columns=None)
def get_license_expiration(self)
def xsum(self, table_name, setid, dimension_item_list, measure_item_list)