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,5,1)
236 [‘あ’,’い’,’う’,’え’,’お’]
237 >>>dsx.append_row(“practice1”,1,3)
239 >>> dsx.get_rowcount(“practice1”,1)
241 >>>dsx.get_cell(“practice1”,”項目1”,1,6,1)
242 [‘あ’,’い’,’う’,’’,’え’ ,’お’]
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,5,1)
290 [‘1’,’2’,’3’,’4’,’5’]
291 >>>dsx.calc(“practice1”,”項目1”,’*(@項目1,1000)’,-1,1,1)
293 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
294 [‘1000’,’2000’,’3000’,’4000’,’5000’]
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,50,1)
313 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'ア',
'カ'], [
'2',
'2',
'イ',
'キ'], [
'3',
'3',
'ウ',
'ク']]
314 >>> dsx.calc(
"practice1",
"項目1",
'$&($@項目1,$@項目2)',-1,1,1)
316 >>> dsx.get_tuple(
"practice1",1,50,1)
317 [[
'SeqNo',
'RecNo',
'項目1',
'項目2'], [
'1',
'1',
'アカ',
'カ'], [
'2',
'2',
'イキ',
'キ'], [
'3',
'3',
'ウク',
'ク']]
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):
345 カタログファイル(StructInfo.txt)に従ってインポート
349 CSVファイルとカタログファイル(StructInfo.txt)の文字エンコードは、エンジンのDB文字コードの設定と一致させて下さい。
351 カタログファイルは下記の形式で指定して下さい。
358 文字コード(任意:CSVファイルの文字エンコードがエンジンのDB文字コードと異なる場合に指定)
361 //MS932 MS932 (Windows 日本語)
363 オプション(任意:先頭の項目行を読み飛ばす場合に指定)
366 dataType [tab] dataSize [tab] itemName
374 dataSize はデータの長さを指定(固定長データファイルの場合のみ有効)
393 カタログファイル名(拡張子付き StructInfo.txt)
398 結果コード(正:テーブルID、負:エラーコード)
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
416 1. CSVファイルの文字エンコードは、エンジンのDB文字コードの設定と一致させて下さい。
417 2. CSVファイルの先頭は項目行として、この行の内容で項目名を決定します。
418 3. CSVファイルの先頭数行の内容を調べて、各項目のデータタイプを決定します。
419 4. 期待通りのデータタイプでテーブルが作成されない場合、項目の型変換を行って下さい。または catalog でインポートして下さい。
431 結果コード(正:テーブルID、負:エラーコード)
434 serv = ReadCsvEx.ReadCsvEx()
435 serv.TableName = table_name
436 serv.SrcName = file_name
438 serv.execDataService()
440 return serv.ResultCode
442 def categorize(self, table_name, item_name, category_table_name):
452 category_table_name : str
453 カテゴリテーブル名(カテゴリテーブルの内容はクッキングマニュアルを参照)
458 結果コード(正:作成した項目ID、負:エラーコード)
462 項目1をカテゴリーテーブルcategorize1によってカテゴライズする
464 =====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
465 ※事前に作成したカテゴリーテーブルcategorize1をロードしています
466 >>> dsx.get_tablelist()
467 ['practice1',
'categorize1']
468 >>> dsx.get_tuple(
"practice1",1,50,1)
469 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'1',
'11',
'21'], [
'2',
'2',
'2',
'12',
'22'], [
'3',
'3',
'3',
'13',
'23'], [
'4',
'4',
'4',
'14',
'24'], [
'5',
'5',
'5',
'15',
'25'], [
'6',
'6',
'6',
'16',
'26'], [
'7',
'7',
'7',
'17',
'27'], [
'8',
'8',
'8',
'18',
'28'], [
'9',
'9',
'9',
'19',
'29'], [
'10',
'10',
'10',
'20',
'30']]
470 >>> dsx.categorize(
"practice1",
"項目1",
"categorize1")
472 >>> dsx.get_tuple(
"practice1",1,50,1)
473 [[
'SeqNo',
'RecNo',
'項目1',
'categorize1_項目1_',
'項目2',
'項目3'], [
'1',
'1',
'1',
'奇数A',
'11',
'21'], [
'2',
'2',
'2',
'偶数A',
'12',
'22'], [
'3',
'3',
'3',
'奇 数B',
'13',
'23'], [
'4',
'4',
'4',
'偶数B',
'14',
'24'], [
'5',
'5',
'5',
'奇数C',
'15',
'25'], [
'6',
'6',
'6',
'偶数C',
'16',
'26'], [
'7',
'7',
'7',
'奇数D',
'17',
'27'], [
'8',
'8',
'8',
'偶数D',
'18',
'28'], [
'9',
'9',
'9',
'奇数E',
'19',
'29'], [
'10',
'10',
'10',
'偶数E',
'20',
'30']]
474 =====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
478 1.テーブルデータ取得(get_tuple)で、カテゴライズを確認できます
479 2.数値カテゴライズおよびカテゴリ定義テーブルについては、クッキングマニュアルのp.75をご参照ください
483 serv = CategorizeEx.CategorizeEx()
484 serv.TableName = table_name
485 serv.FilterName = item_name
486 serv.CatableName = category_table_name
487 serv.execDataService()
489 return serv.ResultCode
504 ======================================
505 >>>dsx.get_tablelist()
506 [‘practice1’,’practice2’,’practice3’]
509 >>>dsx.get_tablelist()
511 =======================================
515 テーブル一覧取得(get_tablelist)で、ワークスペースをクリアしたことを確認できます
519 serv = ClearWSEx.ClearWSEx()
520 serv.execDataService()
522 return serv.ResultCode
531 任意の文字列、DATETIMEは日付時刻を表示
539 serv = CommentEx.CommentEx()
540 serv.Commentout = comment
541 serv.execDataService()
543 return serv.ResultCode
545 def edit_comma(self, table_name, item_name, is_edit = 'Yes'):
556 is_edit : str, default 'Yes'
566 テーブルpractice1の項目1に3桁区切りでカンマをつける
568 ==================================================
569 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
570 [‘1000’,’2000’,’3000’,’4000’,’5000’]
571 >>> dsx.edit_comma(“practice1”,”項目1”,”Yes”)
573 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
574 [‘1,000’,’2,000’,’3,000’,’4,000’,’5,000’]
575 ==================================================
579 セルの値取得(get_cell)で、カンマがついていることを確認できます
583 serv = EditCommaEx.EditCommaEx()
584 serv.TableName = table_name
585 serv.FilterName = item_name
587 serv.execDataService()
589 return serv.ResultCode
609 ===================================
610 >>>dsx.get_memory(“practice1”)
612 >>>dsx.compression(“practice1”)
614 >>>dsx.get_memory(“practice1”)
616 ===================================
620 使用メモリサイズ取得(get_memory)で、使用メモリサイズを確認できます
624 serv = CompressionEx.CompressionEx()
625 serv.TableName = table_name
626 serv.execDataService()
628 return serv.ResultCode
630 def join(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_join_key, slave_join_key, is_in_out, is_transfer_item = 'No'):
638 master_table_name : str
640 slave_table_name : str
646 master_join_key : list
648 slave_join_key : list
651 Inner:内部JOIN、Outer:外部JOIN
652 is_transfer_item : str, default 'No'
658 結果コード(正:JOINテーブルID、負:エラーコード)
662 テーブルpractice1とpractice2を内部結合(InnerJOIN)する
664 ===============================================================================================================================================================================================================================================
665 >>> dsx.join(
"join1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"Inner",
"No")
667 >>> dsx.get_tablelist()
668 [
'practice1',
'practice2',
'join1']
669 >>> dsx.get_tuple(
"join1",1,50,1)
670 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3',
'項目1_#1',
'項目2_#1',
'項目3_#1'], [
'1',
'1',
'あ',
'か',
'さ',
'ア',
'カ',
'サ'], [
'2',
'2',
'い',
'き',
'し',
'イ',
'キ',
'シ'], [
'3',
'3',
'う',
'く',
'す',
'ウ',
'ク',
'ス']]
671 ===============================================================================================================================================================================================================================================
675 1.テーブル一覧取得(get_tablelist)で、JOINテーブルが追加されたことを確認できます
676 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
680 serv = JoinEx.JoinEx()
681 serv.JtableName = table_name
682 serv.MtableName = master_table_name
683 serv.StableName = slave_table_name
684 serv.MsetID = master_setid
685 serv.SsetID = slave_setid
686 serv.MJoinKey = master_join_key
687 serv.SJoinKey = slave_join_key
688 serv.IsInOrOut = is_in_out
689 serv.IsStarJoin = is_transfer_item
690 serv.execDataService()
692 return serv.ResultCode
708 結果コード(正:テーブルID、負:エラーコード)
712 5行のテーブル、practice1を作成する
714 ========================================
715 >>>dsx.create_table(5,”practice1”)
717 >>>dsx.get_tablelist()
719 >>>dsx.get_rowcount(“practice1”,1)
721 ========================================
725 1.テーブル一覧取得(get_tablelist)で、テーブルが追加されたことを確認できます
726 2.テーブルの行数取得(get_rowcount)で、追加したテーブルの行数を確認できます
730 serv = CreateTableEx.CreateTableEx()
731 serv.RowCount = row_count
732 serv.TableName = table_name
733 serv.execDataService()
735 return serv.ResultCode
744 DB文字コード(UTF-8 または Shift_JIS)
755 =========================
756 >>>dsx.db_codeset(“UTF8”)
758 =========================
762 ==============================
763 >>>dsx.db_codeset(“Shift_JIS”)
765 ==============================
769 serv = DBCodeSetEx.DBCodeSetEx()
770 serv.DbCode = db_code
771 serv.execDataService()
773 return serv.ResultCode
791 ==================================================================
792 >>>dsx.db_load("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
794 ==================================================================
798 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
802 serv = DBLoadEx.DBLoadEx()
803 serv.WorkSpace = file_name
804 serv.execDataService()
806 return serv.ResultCode
824 =====================================================================
825 >>>dsx.db_save("C:フォルダ\\フォルダ\\フォルダ\\practice99.D5D")
827 =====================================================================
831 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
835 serv = DBSaveEx.DBSaveEx()
836 serv.WorkSpace = file_name
837 serv.execDataService()
839 return serv.ResultCode
857 テーブルpractice1のサブテーブルを全て削除する
859 ================================================================================================
860 >>>dsx.get_setid_list("practice1")
861 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
862 >>>dsx.delete_allset(
"practice1")
864 >>>dsx.get_setid_list(
"practice1")
866 ================================================================================================
870 セットID一覧取得(get_setid_list)で、サブテーブルが削除されたことを確認できます
873 import DeleteAllSetEx
874 serv = DeleteAllSetEx.DeleteAllSetEx()
875 serv.TableName = table_name
876 serv.execDataService()
878 return serv.ResultCode
898 テーブルpractice1の検索リザルトセットを削除する
900 ====================================================================================
901 >>>dsx.get_setid_list("practice1")
902 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
903 >>>dsx.delete_resultset(
"practice1",3)
905 >>>dsx.get_setid_list(
"practice1")
906 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
907 =====================================================================================
911 1.セットID一覧取得(get_setid_list)で、セットが削除されたことを確認できます
912 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
915 import DeleteResultSetEx
916 serv = DeleteResultSetEx.DeleteResultSetEx()
917 serv.TableName = table_name
919 serv.execDataService()
921 return serv.ResultCode
923 def delete_row(self, table_name, start_row, row_count, setid = -1):
935 setid : int, default -1
936 セットID(省略した場合はカレントセット)
941 結果コード(正:削除行数、負:エラーコード)
945 テーブルpractice1の3行目を削除する
947 ==============================================================
948 >>>dsx.get_rowcount(“practice1”,1)
950 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
951 [’あ’,’い’,’う’,’え’,’お’]
952 >>>dsx.delete_row(“practice1”,3,1,1)
954 >>>dsx.get_rowcount(“practice1”,1)
956 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
957 [’あ’,’い’,’え’,’お’,’か’]
958 ==============================================================
962 1.テーブル行数取得(get_rowcount)で、行数の増減を確認できます
963 2.セルの値取得(get_cell)で、行が削除されたことを確認できます
964 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
968 serv = DeleteRowEx.DeleteRowEx()
969 serv.TableName = table_name
970 serv.StartRow = start_row
971 serv.RowCount = row_count
973 serv.execDataService()
975 return serv.ResultCode
997 ===========================================================
998 >>>dsx.get_itemlist(“practice1”)
1000 >>>dsx.delete_item(“practice1”,”項目1”)
1002 >>>dsx.get_itemlist(“practice1”)
1004 ===========================================================
1008 項目一覧取得(get_itemlist)で、項目が削除されたことを確認できます
1012 serv = DeleteItemEx.DeleteItemEx()
1013 serv.TableName = table_name
1014 serv.FilterName = item_name
1015 serv.execDataService()
1017 return serv.ResultCode
1031 結果コード(0:成功、負:エラーコード)
1037 =======================================================
1038 >>> dsx.get_tablelist()
1039 [‘practice1’,’practice2’]
1040 >>> dsx.delete_table(“practice1”)
1042 >>> dsx.get_tablelist()
1044 =======================================================
1048 テーブル一覧取得(get_tablelist)で、テーブルが削除されたことを確認できます
1051 import DeleteTableEx
1052 serv = DeleteTableEx.DeleteTableEx()
1053 serv.TableName = table_name
1054 serv.execDataService()
1056 return serv.ResultCode
1070 結果コード(正:複製されたテーブルID、負:エラーコード)
1076 ==========================================================
1077 >>> dsx.get_tablelist()
1079 >>> dsx.duplicate_table(“practice1”)
1081 >>> dsx.get_tablelist()
1082 [‘practice1’,’practice1_
1083 ==========================================================
1087 テーブル一覧取得(get_tablelist)で、複製されたテーブルを確認できます
1090 import DuplicateTableEx
1091 serv = DuplicateTableEx.DuplicateTableEx()
1092 serv.TableName = table_name
1093 serv.execDataService()
1095 return serv.ResultCode
1111 結果コード(正:複製された項目ID、負:エラーコード)
1117 ===============================================================
1118 >>> dsx.get_itemlist(“practice1”)
1120 >>> dsx.duplicate_item(“practice1”,”項目1”)
1122 >>> dsx.get_itemlist(“practice1”)
1124 ================================================================
1128 項目一覧取得(get_itemlist)で、項目1が複製され項目1_
1131 import DuplicateItemEx
1132 serv = DuplicateItemEx.DuplicateItemEx()
1133 serv.TableName = table_name
1134 serv.FilterName = item_name
1135 serv.execDataService()
1137 return serv.ResultCode
1139 def extract_set(self, table_name, setid, is_view_table_id = 'Yes', is_record_number = 'Yes', item_name_list = '*', new_table_name = None):
1141 サブテーブル(セット)を実テーブルに抽出
1149 is_view_table_id : str, default 'Yes'
1150 Yes:テーブルIDを表示する、No:表示しない
1151 is_record_number : str, default
'Yes'
1152 Yes:RecNoを出力する、N0:出力しない
1153 item_name_list : list, default
'*'
1154 抽出項目名リスト(
"*"は全項目が対象)
1155 new_table_name : str, default
None
1161 結果コード(正:生成されたテーブルID、負:エラーコード)
1165 テーブルpractice1のサブテーブル(値リスト検索結果)を実テーブルに抽出する
1167 ==========================================================================
1168 >>> dsx.get_tablelist()
1170 >>> dsx.get_setid_list(
"practice1")
1171 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
1172 >>> dsx.extract_set(
"practice2",2,
"No",
"Yes",[
"項目1"],
"set1")
1174 >>> dsx.get_tablelist()
1175 [
'practice1',
'set1']
1176 ==========================================================================
1180 1.テーブル一覧取得(get_tablelist)で、実テーブルに抽出したことを確認できます
1181 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1185 serv = ExtractSetEx.ExtractSetEx()
1186 serv.TableName = table_name
1188 serv.TableIDAns = is_view_table_id
1189 serv.RecNoAns = is_record_number
1190 serv.FilterNameList = item_name_list
1191 serv.NewtableName = new_table_name
1192 serv.execDataService()
1194 return serv.ResultCode
1196 def extract_unique(self, table_name, setid, item_name_list = '*', is_keep_order = 'Yes'):
1206 item_name_list : list, default '*'
1207 抽出項目名リスト(
"*"は全項目が対象)
1208 is_keep_order : str, default
'Yes'
1214 結果コード(正:生成されたセットID、負:エラーコード)
1220 ===================================================================================================================================================================================================================================
1221 >>> dsx.get_tuple(
"practice1",1,20,1)
1222 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'あ'], [
'3',
'3',
'い'], [
'4',
'4',
'う'], [
'5',
'5',
'う'], [
'6',
'6',
'え'], [
'7',
'7',
'え'], [
'8',
'8',
'お'], [
'9',
'9',
'お'], [
'10',
'10',
'お']]
1223 >>>dsx.extract_unique(“practice1”,1,[“項目1”],”Yes”)
1225 >>> dsx.get_tuple(
"practice1",1,20,2)
1226 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'3',
'い'], [
'3',
'4',
'う'], [
'4',
'6',
'え'], [
'5',
'8',
'お']]
1227 ===================================================================================================================================================================================================================================
1231 ユニーク行を抽出した際に生成されたセットIDが2なので、結果確認のテーブルデータ取得では引数(セットID)が2となります
1234 1.テーブルデータ取得(get_tuple)で、ユニーク行を抽出したことを確認できます
1235 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1238 import ExtractUniqueEx
1239 serv = ExtractUniqueEx.ExtractUniqueEx()
1240 serv.TableName = table_name
1242 serv.FilterNameList = item_name_list
1243 serv.CnsvOdrAns = is_keep_order
1244 serv.execDataService()
1246 return serv.ResultCode
1248 def fill_cell(self, table_name, item_name, set_string, start_row = 1, row_count = -1, setid = -1):
1260 start_row : int, default 1
1262 row_count : int, default -1
1264 setid : int, default -1
1265 セットID(省略した場合はカレントセット)
1270 結果コード(正:データ数、負:エラーコード)
1276 ===========================================================================
1277 >>> dsx.fill_cell(“practice1”,”項目1”,”あ”,1,-1,1)
1278 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1279 [‘あ’,’あ’,’あ’,’あ’,’あ’]
1280 ===========================================================================
1284 1.セルの値取得(get_cell)で、入力結果を確認できます
1285 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1286 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
1290 serv = FillCellEx.FillCellEx()
1291 serv.TableName = table_name
1292 serv.FilterName = item_name
1293 serv.StartRow = start_row
1294 serv.RowCount = row_count
1295 serv.FillStr = set_string
1297 serv.execDataService()
1299 return serv.ResultCode
1315 結果コード(0:成功、負:エラーコード)
1321 ===========================================================
1322 >>> dsx.get_itemlist(“practice1”)
1324 >>> dsx.sort_item(“practice1”,”NAME”)
1326 >>> dsx.get_itemlist(“practice1”)
1328 ============================================================
1332 項目一覧取得(get_itemlist)で、ソート結果を確認できます
1336 serv = SortItemEx.SortItemEx()
1337 serv.TableName = table_name
1338 serv.SortKey = sort_key
1339 serv.execDataService()
1341 return serv.ResultCode
1357 結果コード(正:追加作成された項目ID、負:エラーコード)
1361 テーブルpractice1とpractice2を内部結合(InnerJOIN)した後、項目1を転送する
1363 =================================================================================================================================================================================================
1364 >>> dsx.join("join1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"Inner",
"No")
1366 >>> dsx.get_tuple(
"practice1",1,20,1)
1367 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
1368 >>> dsx.transfer_item(
"join1",
"項目1")
1370 >>> dsx.get_tuple(
"practice3",1,20,1)
1371 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'さ',
'ア'], [
'2',
'2',
'い',
'き',
'し',
'イ'], [
'3',
'3',
'う',
'く',
'す',
'ウ']]
1372 =================================================================================================================================================================================================
1376 テーブルデータ取得(get_tuple)で、転送した項目を確認できます
1379 import TransferItemEx
1380 serv = TransferItemEx.TransferItemEx()
1381 serv.TableName = table_name
1382 serv.FilterName = item_name
1383 serv.execDataService()
1385 return serv.ResultCode
1403 結果コード(0:成功、負:エラーコード)
1407 浮動小数型の項目1の小数点以下を1桁にする
1409 ========================================================================
1410 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1411 [‘1.000’,’2.000’,’3.000’,’4.000’,’5.000’]
1412 >>> dsx.float_format(“practice1”,”項目1”,1)
1414 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1415 [‘1.0’,’2.0’,’3.0’,’4.0’,’5.0’]
1416 ========================================================================
1420 セルの値取得(get_cell)で、小数点以下の桁数を確認できます
1423 import FloatFormatEx
1424 serv = FloatFormatEx.FloatFormatEx()
1425 serv.TableName = table_name
1426 serv.FilterName = item_name
1428 serv.execDataService()
1430 return serv.ResultCode
1432 def get_cell(self, table_name, item_name, start_row = 1, row_count = 1, setid = -1):
1442 start_row : int, default 1
1444 row_count : int, default 1
1446 setid : int, default -1
1447 セットID(省略した場合はカレントセット)
1456 項目1の先頭から5行分のセルの値を取得する
1458 ======================================================================
1459 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
1460 [‘1000’,’2000’,’3000’,’4000’,’5000’]
1461 ======================================================================
1465 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1469 serv = GetCellEx.GetCellEx()
1470 serv.TableName = table_name
1471 serv.FilterName = item_name
1472 serv.StartRow = start_row
1473 serv.RowCount = row_count
1475 serv.execDataService()
1477 return serv.ResultList
1487 start_row : int, default 1
1489 fetch_size : int, default 128
1491 setid : int, default -1
1492 セットID(省略した場合はカレントセット)
1501 テーブルpractice1をJSON形式で取得する
1503 =============================================================================================================================================================================================================================================================================================================================================================================================================
1504 >>> dsx.get_tuple_asjson("practice1",1,10,1)
1505 [{
'SeqNo':
'1',
'RecNo':
'1',
'項目1: 'あ
', '項目2
': 'か
', '項目3
': 'さ
' }, {'SeqNo
': '2
', 'RecNo
': '2
', ' 項目1
': 'い
', '項目2
': 'き
', '項目3
': 'し
'}, {'SeqNo
': '3
', 'RecNo
': '3
', '項目1
': 'う
', '項目2
': 'く
', '項目3
': 'す
' }, {'SeqNo
': '4
', 'RecNo
': '4
', '項目1
': 'え
', '項目2
': 'け
', '項目3
': 'せ
'}, {'SeqNo
': '5
', 'RecNo
': '5
', '項目1
': 'お
', '項目2
': 'こ
', '項目3
': 'そ
'}]
1506 =============================================================================================================================================================================================================================================================================================================================================================================================================
1510 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1514 serv = GetTupleEx.GetTupleEx()
1515 serv.TableName = table_name
1516 serv.StartRow = start_row
1517 serv.FetchSize = fetch_size
1520 serv.execDataService()
1522 return serv.ResultList
1524 def get_tuple(self, table_name, start_row = 1, fetch_size = 128, setid = -1):
1532 start_row : int, default 1
1534 fetch_size : int, default 128
1536 setid : int, default -1
1537 セットID(省略した場合はカレントセット)
1542 文字列に変換した行配列データ(先頭行はカラム名配列)
1546 テーブルpractice1のテーブルデータを取得する
1548 ===================================================================================================================================================================================================================================
1549 >>> dsx.get_tuple("practice1",1,30,1)
1550 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
' く',
'す'], [
'4',
'4',
'え',
'け',
'せ'], [
'5',
'5',
'お',
'こ',
'そ']]
1551 ===================================================================================================================================================================================================================================
1555 1つ目のリスト[SeqNo, RecNo,項目1,項目2,項目3]は列名(項目名)、2つ目以降のリスト内の値は列(項目)の順になっています
1559 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1563 serv = GetTupleEx.GetTupleEx()
1564 serv.TableName = table_name
1565 serv.StartRow = start_row
1566 serv.FetchSize = fetch_size
1569 serv.execDataService()
1571 return serv.ResultList
1573 def __get_fatalerror(self):
1579 GetFatalError : bool
1582 import DataServiceCtl2
1583 serv = DataServiceCtl2.DataServiceCtl2()
1584 return serv.GetFatalError()
1586 def __get_fatalerror_logname(self):
1592 GetFatalErrorLogName : str
1595 import DataServiceCtl2
1596 serv = DataServiceCtl2.DataServiceCtl2()
1597 return serv.GetFatalErrorLogName()
1615 テーブルpractice1の項目一覧を取得する
1617 ==============================================================
1618 >>> dsx.get_itemlist(“practice1”)
1620 ==============================================================
1623 import GetItemListEx
1624 serv = GetItemListEx.GetItemListEx()
1625 serv.TableName = table_name
1626 serv.execDataService()
1628 return serv.ResultList
1639 import GetLicenseExpirationEx
1640 serv = GetLicenseExpirationEx.GetLicenseExpirationEx()
1641 serv.execDataService()
1643 return serv.ResultStr
1654 import GetLimitCPUEx
1655 serv = GetLimitCPUEx.GetLimitCPUEx()
1656 serv.execDataService()
1658 return serv.ResultLong
1676 テーブルpractice1の使用メモリサイズを取得する
1678 ==============================================================
1679 >>> dsx.get_memory(“practice1”)
1681 ==============================================================
1685 serv = GetMemoryEx.GetMemoryEx()
1686 serv.TableName = table_name
1687 serv.execDataService()
1689 return serv.ResultLong
1693 使用可能メモリサイズ(ライセンス情報)取得
1700 import GetLimitMemoryEx
1701 serv = GetLimitMemoryEx.GetLimitMemoryEx()
1702 serv.execDataService()
1704 return serv.ResultLong
1715 import GetLimitRowEx
1716 serv = GetLimitRowEx.GetLimitRowEx()
1717 serv.execDataService()
1719 return serv.ResultLong
1732 ResultIntList : list
1733 セットリスト [ID, アトリビュート]
1735 import GetSetIDListEx
1736 serv = GetSetIDListEx.GetSetIDListEx()
1737 serv.TableName = table_name
1738 serv.execDataService()
1740 return serv.ResultIntList
1750 setid : int, default -1
1751 セットID(省略した場合はカレントセット)
1756 結果コード(正:セットの行数、負:エラーコード)
1760 テーブルpractice1の行数を取得する
1762 ================================================================
1763 >>> dsx.get_rowcount(“practice1”,1)
1765 ================================================================
1769 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1772 import GetRowCountEx
1773 serv = GetRowCountEx.GetRowCountEx()
1774 serv.TableName = table_name
1776 serv.execDataService()
1778 return serv.ResultCode
1793 ======================================================
1794 >>> dsx.get_tablelist()
1796 ======================================================
1799 import GetTableListEx
1800 serv = GetTableListEx.GetTableListEx()
1801 serv.execDataService()
1803 return serv.ResultList
1821 テーブルID1~3のテーブル名を取得する
1823 ==============================================================
1824 >>>dsx.get_tablelist()
1825 ['practice1',
'practice2',
'practice3']
1826 >>> dsx.get_tablename(1)
1828 >>> dsx.get_tablename(2)
1830 >>> dsx.get_tablename(3)
1832 ===============================================================
1836 テーブルIDは自動的にロードした順でつけられます
1840 テーブル一覧取得(get_tablelist)で全てのテーブルを確認できます
1843 import GetTableNameEx
1844 serv = GetTableNameEx.GetTableNameEx()
1845 serv.TableID = tableid
1846 serv.execDataService()
1848 return serv.ResultStr
1866 値リスト(最大5,000行、5,000行を超えた場合は後を切り捨て)
1872 ===============================================================
1873 >>> dsx.get_valuelist("practice1",1,
"項目1")
1874 [
'',
'あ',
'い',
'う',
'え',
'お']
1875 ===============================================================
1879 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
1882 import GetValueListEx
1883 serv = GetValueListEx.GetValueListEx()
1884 serv.TableName = table_name
1886 serv.FilterName = item_name
1887 serv.execDataService()
1889 return serv.ResultList
1904 =================================================
1905 >>> dsx.get_version()
1907 =================================================
1911 serv = GetVersionEx.GetVersionEx()
1912 serv.execDataService()
1914 return serv.ResultStr
1918 JOINテーブルのIN/OUT集合サブテーブル化
1925 Yes:スレーブテーブルより抽出、No:マスターテーブルより抽出
1931 ResultIntList : list
1932 結果配列(セットが追加されたテーブルIDと生成されたセットID)
1936 JOINテーブルjoin1のIN集合をサブテーブル化する
1938 ===================================================================================================================================================================================================================================
1939 ※practice1とpractice2をJOINしたものがjoin1となっています
1940 >>> dsx.get_tablelist()
1941 ['practice1',
'practice2',
'join1']
1942 >>> dsx.get_setid_list(
"practice1")
1944 >>> dsx.join_inout(
"join1",
"No",
"IN")
1946 >>> dsx.get_tablename(
"2")
1948 >>> dsx.get_setid_list(
"practice1")
1949 [[1,
''], [2,
'JoinIN isSlave No']]
1950 >>> dsx.get_tuple(
"practice1",1,20,2)
1951 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3',
'項目1_#1'], [
'1',
'1',
'あ',
'か',
'さ',
'ア'], [
'2',
'2',
'い',
'き',
'し',
'イ'], [
'3',
'3',
'う',
'く',
'す',
'ウ']]
1952 ===================================================================================================================================================================================================================================
1956 セットID一覧取得(get_setid_list)で、JOINテーブルがサブテーブル化したことを確認できます
1960 serv = JoinInOutEx.JoinInOutEx()
1961 serv.TableName = table_name
1962 serv.IsSlave = is_slave
1963 serv.IsJoinOut = is_in_out
1964 serv.execDataService()
1966 return serv.ResultIntList
1978 start_row : int, default 1
1984 結果コード(正:挿入行数、負:エラーコード)
1988 テーブルpractice1の3行目に1行挿入する
1990 =======================================================================
1991 >>> dsx.get_rowcount(“practice1”,1)
1993 >>> dsx.get_cell("practice1",
"項目1",1,5,1)
1994 [
'あ',
'い',
'う',
'え',
'お']
1995 >>> dsx.insert_row(
"practice1",1,3)
1997 >>> dsx.get_rowcount(“practice1”,1)
1999 >>> dsx.get_cell(
"practice1",
"項目1",1,6,1)
2000 [
'あ',
'い',
'',
'う',
'え',
'お']
2001 =======================================================================
2005 1.テーブルの行数取得(get_rowcount)で、行数の増減を確認できます
2006 2.セルの値取得(get_cell)で、行の挿入位置を確認できます
2010 serv = InsertRowEx.InsertRowEx()
2011 serv.TableName = table_name
2012 serv.StartRow = start_row
2013 serv.RowCount = row_count
2014 serv.execDataService()
2016 return serv.ResultCode
2018 def join_realize(self, join_table_name, real_table_name, setid, master_rec_number = 'Yes', slave_rec_number = 'Yes', item_name_list = '*'):
2020 JOINテーブルをREALテーブルに変換
2024 join_table_name : str
2026 real_table_name : str
2030 master_rec_number : str, default 'Yes'
2031 Yes:マスターテーブルのRecNoを出力する、No:出力しない
2032 slave_rec_number : str, default
'Yes'
2033 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
2034 item_name_list : list, default
'*'
2040 結果コード(正:REALテーブルID、負:エラーコード)
2044 JOINテーブルjoin1をREALテーブルに変換する
2046 ===========================================================================================
2047 >>> dsx.join_realize(
"join1",
"real1",1,
"No",
"No",[
"*"])
2049 >>> dsx.get_tablelist()
2050 [
'practice1',
'practice2',
'join1',
'real1']
2051 ===========================================================================================
2055 1.テーブル一覧取得(get_tablelist)で、JOINテーブルを変換したREALテーブルが追加されたことを確認できます
2056 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2059 import JoinRealizeEx
2060 serv = JoinRealizeEx.JoinRealizeEx()
2061 serv.JtableName = join_table_name
2062 serv.RtableName = real_table_name
2064 serv.MRecNo = master_rec_number
2065 serv.SRecNo = slave_rec_number
2066 serv.FilterNameList = item_name_list
2067 serv.execDataService()
2069 return serv.ResultCode
2083 結果コード(正:テーブルID、負:エラーコード)
2087 D5Tファイル”practice1”をロードする
2089 ==========================================================================
2090 >>> dsx.load(フォルダ\\フォルダ\\フォルダ\\practice1.D5T)
2092 >>> dsx.get_tablelist()
2094 ==========================================================================
2098 テーブル一覧取得(get_tablelist)で、チューボーにテーブルをロードしたことを確認できます
2102 serv = LoadEx.LoadEx()
2103 serv.TableName = file_name
2104 serv.execDataService()
2106 return serv.ResultCode
2108 def __logrotate(self):
2110 ログ/レシピファイルのローテーション(非公開内部機能)
2115 結果コード(0:成功、負:エラーコード)
2118 serv = LogRotateEx.LogRotateEx()
2119 serv.execDataService()
2121 return serv.ResultCode
2131 item_name_list : list
2139 結果コード(0:成功、負:エラーコード)
2145 =========================================================
2146 >>> dsx.get_itemlist("practice1")
2147 [
'項目1',
'項目2',
'項目3']
2148 >>> dsx.move_item(
"practice1",[
"項目1"],
"項目3")
2150 >>> dsx.get_itemlist(
"practice1")
2151 [
'項目2',
'項目3',
'項目1']
2152 =========================================================
2156 項目一覧取得(get_itemlist)で、項目が移動したことを確認できます
2160 serv = MoveItemEx.MoveItemEx()
2161 serv.TableName = table_name
2162 serv.FilterNameList = item_name_list
2163 serv.FilterName = item_name
2164 serv.execDataService()
2166 return serv.ResultCode
2168 def __numeric_rescale(self, table_name, item_name, num_scale, num_mode):
2170 NUMERIC型データのスケール・丸めモードを設定(サポートなし)
2181 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
2186 結果コード(0:成功、負:エラーコード)
2188 import NumericRescaleEx
2189 serv = NumericRescaleEx.NumericRescaleEx()
2190 serv.TableName = table_name
2191 serv.FilterName = item_name
2192 serv.NumScale = num_scale
2193 serv.NumMode = num_mode
2194 serv.execDataService()
2196 return serv.ResultCode
2198 def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space = 'No', setid = -1):
2212 fill_string_list : list
2214 is_ex_space : str, default 'No'
2215 Yes:末尾空白を削除する、No:削除しない
2216 setid : int, default -1
2217 セットID(省略した場合はカレントセット)
2222 結果コード(正:データ数、負:エラーコード)
2225 serv = OverwriteEx.OverwriteEx()
2226 serv.TableName = table_name
2227 serv.FilterName = item_name
2228 serv.StartRow = start_row
2229 serv.RowCount = row_count
2230 serv.FillStrList = fill_string_list
2232 serv.ExSpace = is_ex_space
2233 serv.execDataService()
2235 return serv.ResultCode
2237 def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid = -1):
2249 fill_string_list : カラム = [[] for i
in range(len(ヘッダーカラム))]
2250 入力文字列リスト(カラム単位での2次元配列)
2251 setid : int, default -1
2252 セットID(省略した場合はカレントセット)
2257 結果コード(正:データ数、負:エラーコード)
2259 import OverwriteOnBatchEx
2260 serv = OverwriteOnBatchEx.OverwriteOnBatchEx()
2261 serv.TableName = table_name
2262 serv.StartRow = start_row
2263 serv.RowCount = row_count
2264 serv.FillStrList = fill_string_list
2266 serv.execDataService()
2268 return serv.ResultCode
2278 new_table_name : str
2284 結果コード(0:成功、負:エラーコード)
2288 テーブル名をpractice1からpractice2に変更する
2290 ============================================================
2291 >>> dsx.get_tablelist()
2293 dsx.rename_table(“practice1”,”practice2”)
2295 >>> dsx.get_tablelist()
2297 ============================================================
2301 テーブル一覧取得(get_tablelist)でテーブル名が変更したことを確認できます
2304 import RenameTableEx
2305 serv = RenameTableEx.RenameTableEx()
2306 serv.TableName = table_name
2307 serv.NewtableName = new_table_name
2308 serv.execDataService()
2310 return serv.ResultCode
2328 結果コード(0:成功、負:エラーコード)
2334 ===================================================================
2335 >>> dsx.get_itemlist(“practice1”)
2337 >>> dsx.rename_item(“practice1”,”項目1”,”item1”)
2339 >>> dsx.get_itemlist(“practice1”)
2341 ====================================================================
2345 項目一覧取得(get_itemlist)で項目名が変更したことを確認できます
2349 serv = RenameItemEx.RenameItemEx()
2350 serv.TableName = table_name
2351 serv.FilterName = item_name
2352 serv.NewfilterName = new_item_name
2353 serv.execDataService()
2355 return serv.ResultCode
2369 結果コード(0:成功、負:エラーコード)
2374 ===========================================================================
2375 >>> dsx.save(“フォルダ\\フォルダ\\フォルダ\\practice1.D5T”)
2377 ===========================================================================
2381 D5Dファイル、D5Tファイルについてはクッキングマニュアルのp.2をご参照ください
2385 serv = SaveEx.SaveEx()
2386 serv.TableName = file_name
2387 serv.execDataService()
2389 return serv.ResultCode
2391 def search(self, table_name, item_name, setid, search_string):
2404 検索条件式(=、<>、<=、<、>=、>、string*、*string*、*string、IS NULL、IS NOT NULL)
2409 結果コード(正:生成されたセットID、負:エラーコード)
2413 テーブルpractice1の項目1で、”あ”以外の値を検索する
2415 =====================================================================
2416 >>> dsx.search(“practice1”,”項目1”,1,”[項目1]<>あ”)
2418 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
2419 [‘い’,’う’,’え’,’お’,’か’]
2420 =====================================================================
2424 検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2428 1.セルの値取得(get_cell)で検索結果を確認できます
2429 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2433 serv = SearchEx.SearchEx()
2434 serv.TableName = table_name
2435 serv.FilterName = item_name
2437 serv.SearchStr = search_string
2438 serv.execDataService()
2440 return serv.ResultCode
2454 search_string_list : list
2460 結果コード(正:生成されたセットID、負:エラーコード)
2464 項目1の値が”あ”,“い”,”う”のデータのみ取得する
2466 ===================================================================================================================================================================================================================================
2467 >>> dsx.get_tuple("practice1",1,20,1)
2468 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す'], [
'4',
'4',
'え',
'け',
'せ'], [
'5',
'5',
'お',
'こ',
'そ']]
2469 >>> dsx.search_values(
"practice2",
"項目1",1,[
" あ",
"い",
"う"])
2471 >>> dsx.get_tuple(
"practice1",1,20,3)
2472 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
2473 ===================================================================================================================================================================================================================================
2477 値リスト検索で生成されたセットIDが3なので、検索結果確認のテーブルデータ取得では引数(セットID)が3となります
2481 1.テーブルデータ取得で、検索結果を確認できます
2482 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2485 import SearchValuesEx
2486 serv = SearchValuesEx.SearchValuesEx()
2487 serv.TableName = table_name
2488 serv.FilterName = item_name
2490 serv.SearchStr = search_string_list
2491 serv.execDataService()
2493 return serv.ResultCode
2513 結果コード(正:生成されたセットID、負:エラーコード)
2515 import SearchValuesByCsvEx
2516 serv = SearchValuesByCsvEx.SearchValuesByCsvEx()
2517 serv.TableName = table_name
2518 serv.FilterName = item_name
2520 serv.FileName = file_name
2521 serv.execDataService()
2523 return serv.ResultCode
2537 list_table_name : str
2539 list_item_name : str
2547 結果コード(正:生成されたセットID、負:エラーコード)
2549 import SearchValuesByTableEx
2550 serv = SearchValuesByTableEx.SearchValuesByTableEx()
2551 serv.TableName = table_name
2552 serv.FilterName = item_name
2554 serv.VtableName = list_table_name
2555 serv.VfilterName = list_item_name
2556 serv.VsetID = list_setid
2557 serv.execDataService()
2559 return serv.ResultCode
2572 文字列検索式(検索式の種類と構文はクッキングマニュアルを参照)
2577 結果コード(正:生成されたセットID、負:エラーコード)
2581 性別が男性かつ年齢が20歳を超えている人の苗字を検索する
2583 ================================================================================
2584 >>> dsx.search_string(“practice1”,1,”性別 = ’男性’ AND 年齢 <= ’20’”)
2586 >>> dsx.get_cell(“practice1”,”苗字”,1,5,2)
2587 [‘相澤’,’青木’,’秋元’,’朝倉’,’在原’]
2588 ================================================================================
2592 1.検索した際に生成されたセットIDが2なので、セルの値取得での引数(セットID)は2となります
2593 2.文字列検索では、検索の機能に加えAND、ORの指定が可能です
2597 1.セルの値取得(get_cell)で検索結果を確認できます
2598 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2601 import SearchStringEx
2602 serv = SearchStringEx.SearchStringEx()
2603 serv.TableName = table_name
2605 serv.Expression = expression
2606 serv.execDataService()
2608 return serv.ResultCode
2610 def setand(self, table_name, src_setid, dst_setid):
2612 2つのサブテーブル(セット)のAND抽出
2626 結果コード(正:生成されたセットID、負:エラーコード)
2630 ルートセットかつ検索リスト(項目1=”あ”)のサブテーブルを抽出する
2632 ===============================================================================================================================================================
2633 >>> dsx.get_tuple("practice1",1,20,1)
2634 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
2635 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2637 >>> dsx.get_setid_list(
"practice1")
2638 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2639 >>> dsx.setand(
"practice1",1,2)
2641 >>> dsx.get_tuple(
"practice1",1,50,3)
2642 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ']]
2643 ===============================================================================================================================================================
2647 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2648 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます。
2652 serv = SetAndEx.SetAndEx()
2653 serv.TableName = table_name
2654 serv.SrcsetID = src_setid
2655 serv.DestsetID = dst_setid
2656 serv.execDataService()
2658 return serv.ResultCode
2660 def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid = -1):
2674 fill_string_list : list
2677 セットID(省略した場合はカレントセット)
2682 結果コード(正:データ数、負:エラーコード)
2688 ==============================================================================
2689 >>> dsx.set_cell(“practice1”,”項目1”,1,5,[”あ”,”い”,”う”,”え”,”お”],1)
2690 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
2691 [‘あ’,’い’,’う’,’え’,’お’]
2692 ==============================================================================
2696 1.セルの値取得(get_cell)で、書込み結果を確認できます
2697 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2698 3.同じ値を複数入力したい場合は値を入力(fill_cell)、違う値を複数入力したい場合は値書込み(set_cell)がおすすめです
2702 serv = SetCellEx.SetCellEx()
2703 serv.TableName = table_name
2704 serv.FilterName = item_name
2705 serv.StartRow = start_row
2706 serv.RowCount = row_count
2707 serv.FillStrList = fill_string_list
2709 serv.execDataService()
2711 return serv.ResultCode
2723 comment_string : str
2729 結果コード(0:成功、負:エラーコード)
2733 テーブルpractice1のセット(Search Set)のコメントを編集する
2735 ==================================================================
2736 >>> dsx.get_setid_list("practice1")
2737 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2738 >>> dsx.set_comment(
"practice1",2,
"検索リスト")
2740 >>> dsx.get_setid_list(
"practice1")
2741 [[1,
''], [2,
'検索リスト']]
2742 ==================================================================
2746 1.セットID一覧取得(get_setid_list)でセットのコメントが変更したことを確認できます
2747 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2751 serv = SetCommentEx.SetCommentEx()
2752 serv.TableName = table_name
2754 serv.CommentStr = comment_string
2755 serv.execDataService()
2757 return serv.ResultCode
2773 結果コード(0:成功、負:エラーコード)
2777 セットIDが2のサブテーブルに移動する(カレントセットを移動する)
2779 ================================================================
2780 >>> dsx.get_setid_list("practice1")
2781 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2782 >>> dsx.move_currentset(
"practice1",2)
2784 =================================================================
2788 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2791 import MoveCurrentSetEx
2792 serv = MoveCurrentSetEx.MoveCurrentSetEx()
2793 serv.TableName = table_name
2795 serv.execDataService()
2797 return serv.ResultCode
2813 結果コード(0:成功、負:エラーコード)
2817 テーブルpractice1のセットIDが3のサブテーブルを削除する
2819 ======================================================================================================================
2820 >>>dsx.get_setid_list("practice1")
2821 [[1,
''], [2,
'Search Set:1 [項目1]=あ'], [3,
"SearchStrExp Set:1 項目1='あ' ..."]]
2822 >>>dsx.delete_set(“practice1”,3)
2824 >>>dsx.get_setid_list(
"practice1")
2825 [[1,
''], [2,
'Search Set:1 [項目1]=あ']]
2826 ======================================================================================================================
2830 1.セットID一覧取得(get_setid_list)で、セットIDが削除されたことを確認できます
2831 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2835 serv = DeleteSetEx.DeleteSetEx()
2836 serv.TableName = table_name
2838 serv.execDataService()
2840 return serv.ResultCode
2842 def __set_fatalerror(self, is_fatal_error):
2851 import DataServiceCtl2
2852 serv = DataServiceCtl2.DataServiceCtl2()
2853 serv.IsFatalError = is_fatal_error
2854 serv.execDataService()
2856 def __set_macrostop(self, is_macro_stop):
2858 実行不能エラー発生時のマクロ実行抑止フラグ設定
2865 import DataServiceCtl
2866 serv = DataServiceCtl.DataServiceCtl()
2867 serv.IsMacroStop = is_macro_stop
2868 serv.execDataService()
2884 結果コード(正:生成されたセットID、負:エラーコード)
2888 テーブルpractice1のサブテーブル、検索リスト(項目1=”あ”)でないものをルートセットから抽出する
2890 ===============================================================================================================================================================
2891 >>> dsx.get_tuple("practice1",1,20,1)
2892 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
2893 >>> dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2895 >>> dsx.get_setid_list(
"practice1")
2896 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']]
2897 >>> dsx.setnot(
"practice1",2)
2899 >>> dsx.get_tuple(
"practice3",1,20,4)
2900 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'2',
'い',
'き',
'し'], [
'2',
'3',
'う',
'く',
'す']]
2901 ===============================================================================================================================================================
2905 1.テーブルデータ取得で、抽出結果確認できます
2906 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2907 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
2911 serv = SetNotEx.SetNotEx()
2912 serv.TableName = table_name
2914 serv.execDataService()
2916 return serv.ResultCode
2918 def setor(self, table_name, src_setid, dst_setid):
2934 結果コード(正:生成されたセットID、負:エラーコード)
2938 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)または検索リスト(項目2=”き”)を抽出する
2940 ===============================================================================================================================================================
2941 >>>dsx.get_tuple("practice1",1,20,1)
2942 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
2943 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
2945 >>>dsx.search_values(
"practice1",
"項目2",1,[
"き"])
2947 >>>dsx.get_setid_list(
"practice1")
2948 [[1,
''], [2,
'Search Set:1 [項目1] = 値リスト']] , [3,
'Search Set:1 [項目2] = 値リスト']]
2949 >>> dsx.setor(
"practice1",2,3)
2951 >>> dsx.get_tuple(
"practice1",1,20,4)
2952 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し']]
2953 ===============================================================================================================================================================
2957 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
2958 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
2962 serv = SetOrEx.SetOrEx()
2963 serv.TableName = table_name
2964 serv.SrcsetID = src_setid
2965 serv.DestsetID = dst_setid
2966 serv.execDataService()
2968 return serv.ResultCode
2982 結果コード(0:成功、負:エラーコード)
2988 ===========================================================
2989 >>> dsx.set_license("ライセンスキー")
2991 ===========================================================
2995 serv = SetLicenseEx.SetLicenseEx()
2996 serv.LicenseKey = license_key
2997 serv.execDataService()
2999 return serv.ResultCode
3001 def setsub(self, table_name, src_setid, dst_setid):
3003 2つのサブテーブル(セット)のSUB抽出
3017 結果コード(正:生成されたセットID、負:エラーコード)
3021 テーブルpractice1の2つのサブテーブル、検索リスト(項目1=”あ”)を除いたテーブルから、 検索リスト(項目1=”い”)を除いたものを抽出する
3023 ===============================================================================================================================================================
3024 >>>dsx.get_tuple("practice1",1,20,1)
3025 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'あ',
'か',
'さ'], [
'2',
'2',
'い',
'き',
'し'], [
'3',
'3',
'う',
'く',
'す']]
3026 >>>dsx.search_values(
"practice1",
"項目1",1,[
"あ"])
3028 >>> dsx.setnot(
"practice1",2)
3030 >>> dsx.get_tuple(
"practice3",1,20, 3)
3031 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'2',
'い',
'き',
'し'], [
'2',
'3',
'う',
'く',
'す']]
3032 >>>dsx.search_values(
"practice1",
"項目1",1,[
"い"])
3034 >>> dsx.setsub(
"practice1",3,4)
3036 >>> dsx.get_tuple(
"practice1",1,20,7)
3037 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'う',
'く',
'す']]
3038 ===============================================================================================================================================================
3042 1.テーブルデータ取得(get_tuple)で、抽出結果を確認できます
3043 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3044 3.NOT抽出とSUB抽出の違いについては、クッキングマニュアルのp.63をご参照ください
3048 serv = SetSubEx.SetSubEx()
3049 serv.TableName = table_name
3050 serv.SrcsetID = src_setid
3051 serv.DestsetID = dst_setid
3052 serv.execDataService()
3054 return serv.ResultCode
3056 def sort(self, table_name, item_name, setid, sort_type = 'ASC'):
3068 sort_type : str, default 'ASC'
3074 結果コード(正:生成されたセットID、負:エラーコード)
3080 ==============================================================
3081 >>> dsx.get_cell(“practice1”,”項目1”,1,5,1)
3082 [‘2’,’3’,’4’,’5’,’1’]
3083 >>> dsx.sort(“practice1”,”項目1”,1,”ASC”)
3085 >>> dsx.get_cell(“practice1”,”項目1”,1,5,2)
3086 [‘1’,’2’,’3’,’4’,’5’]
3087 ==============================================================
3091 ソートした際に生成されたセットIDが2なので、ソート結果確認のセルの値取得では引数(セットID)が2となります
3095 1.セルの値取得(get_cell)で、ソート結果を確認できます
3096 2.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3100 serv = SortEx.SortEx()
3101 serv.TableName = table_name
3102 serv.FilterName = item_name
3104 serv.SortType = sort_type
3105 serv.execDataService()
3107 return serv.ResultCode
3109 def write_csv(self, table_name, file_name, setid, delimiter = 'CSV', write_top = 1, write_bottom = -1, write_left = 1, write_right = -1, is_header = 'Yes'):
3121 delimiter : str, default 'CSV'
3123 write_top : int, default 1
3125 write_bottom : int, default -1
3127 write_left : int, default 1
3128 開始列(先頭列は1、RecNoは指定不可)
3129 write_right : int, default -1
3131 is_header : str, default
'Yes'
3132 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3137 結果コード(正:出力行数、負:エラーコード)
3141 テーブルpractice1の全ての値をカンマ区切りのCSVファイルにエクスポートする
3143 =============================================================================================================================
3144 >>> dsx.write_csv(“practice1”,”フォルダ\\フォルダ\\フォルダ\\practice.csv”,1,”CSV”,1,-1,1,-1,”Yes”)
3146 =============================================================================================================================
3150 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3154 serv = WriteCsvEx.WriteCsvEx()
3155 serv.TableName = table_name
3156 serv.Delimiter = delimiter
3157 serv.FileName = file_name
3158 serv.WriteTop = write_top
3159 serv.WriteBottom = write_bottom
3160 serv.WriteLeft = write_left
3161 serv.WriteRight = write_right
3162 serv.Header = is_header
3164 serv.TargetOut =
None
3165 serv.execDataService()
3167 return serv.ResultCode
3169 def write_csv_selectitem(self, table_name, file_name, setid, delimiter = 'CSV', write_top = 1, write_bottom = -1, item_name_list = '*', is_header = 'Yes'):
3183 write_top : int, default 1
3185 write_bottom : int, default -1
3187 item_name_list : list, default '*'
3188 抽出項目名リスト(
"*"は全項目が対象)
3189 is_header : str, default
'Yes'
3190 Yes:項目ヘッダー出力あり、No:項目ヘッダー出力なし
3195 結果コード(正:出力行数、負:エラーコード)
3199 テーブルpractice1の項目1のみをカンマ区切りのCSVファイルにエクスポートする
3201 ===============================================================================================================================================================
3202 >>>dsx.write_csv_selectitem(
"practice1”,”フォルダ\\フォルダ\\フォルダ\\practice.csv",1,
"CSV",1,-1,[
"項目1"],
"Yes")
3204 ===============================================================================================================================================================
3208 セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3211 import WriteCsvSelectItemEx
3212 serv = WriteCsvSelectItemEx.WriteCsvSelectItemEx()
3213 serv.TableName = table_name
3214 serv.Delimiter = delimiter
3215 serv.FileName = file_name
3216 serv.WriteTop = write_top
3217 serv.WriteBottom = write_bottom
3218 serv.FilterNameList = item_name_list
3219 serv.Header = is_header
3221 serv.TargetOut =
None
3222 serv.execDataService()
3224 return serv.ResultCode
3237 変換するデータ型(String:文字列、Integer:整数、Double:浮動小数、Time:時刻、Date:日付、DateTime:日付時刻)
3242 結果コード(正:生成された項目ID、負:エラーコード)
3246 項目1のデータ型を整数から浮動小数に変換する
3248 ====================================================================
3249 >>>dsx.get_itemlist(“practice1”)
3251 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
3252 [‘1’,’2’,’3’,’4’,’5’]
3253 >>>dsx.convert_type(“practice1”,”項目1”,”Double”)
3255 >>>dsx.get_itemlist(“practice1”)
3257 >>>dsx.get_cell(“practice1”,”項目1”,1,5,1)
3258 [‘1.0’,’2.0’,’3.0’,’4.0’,’5.0’]
3259 ====================================================================
3263 1.項目一覧取得(get_itemlist)で、項目が追加されたことを確認できます
3264 2.セルの値取得(get_cell)で、値が型変換されたことを確認できます
3267 import ConvertTypeEx
3268 serv = ConvertTypeEx.ConvertTypeEx()
3269 serv.TableName = table_name
3270 serv.FilterName = item_name
3271 serv.FilterType = data_type
3272 serv.execDataService()
3274 return serv.ResultCode
3276 def __convert_type_numeric(self, table_name, item_name, num_scale, num_mode):
3278 項目のNUMERIC型変換複製(サポートなし)
3289 丸めモード(ROUND_UP、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR、ROUND_HALF_UP、ROUND_HALF_DOWN、ROUND_HALF_EVEN)
3294 結果コード(正:生成された項目ID、負:エラーコード)
3296 import ConvertTypeNumericEx
3297 serv = ConvertTypeNumericEx.ConvertTypeNumericEx()
3298 serv.TableName = table_name
3299 serv.FilterName = item_name
3300 serv.NumScale = num_scale
3301 serv.NumMode = num_mode
3302 serv.execDataService()
3304 return serv.ResultCode
3306 def union(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_union_key, slave_union_key, is_master_tableid = 'Yes', is_slave_rec_number = 'Yes', is_delete_table = 'No'):
3314 master_table_name : str
3316 slave_table_name : str
3322 master_union_key : str
3324 slave_union_key : str
3326 is_master_tableid : str
3327 Yes:マスターテーブルのIDを使用する、No:使用しない
3328 is_slave_rec_number : str
3329 Yes:スレーブテーブルのRecNoを出力する、No:出力しない
3330 is_delete_table : str
3331 Yes:元テーブルを削除する、No:削除しない
3336 結果コード(正:生成されたテーブルID、負:エラーコード)
3340 テーブルpractice1とpractice2の項目1を結合する
3342 =====================================================================================================================================================================================================================================================================
3343 >>> dsx.get_tablelist()
3344 ['practice1',
'practice2']
3345 >>> dsx.union(
"union1",
"practice1",
"practice2",1,1,[
"項目1"],[
"項目1"],
"No",
"No",
"No")
3347 >>> dsx.get_tablelist()
3348 [
'practice1, 'practice2
','union1
']
3349 >>> dsx.get_tuple("union1",1,50,1)
3350 [[
'SeqNo',
'RecNo',
'項目1'], [
'1',
'1',
'あ'], [
'2',
'2',
'い'], [
'3',
'3',
'う'], [
'4',
'4',
'え'], [
'5',
'5',
'お'], [
'6',
'6',
'ア'], [
'7',
'7',
'イ'], [
'8',
'8',
'ウ'], [
'9',
'9',
'エ'], [
'10',
'10',
'オ']]
3351 =====================================================================================================================================================================================================================================================================
3355 1.テーブル一覧取得(get_tablelist)で、UNIONテーブルが追加されたことを確認できます
3356 2.テーブルデータ取得(get_tuple)で、結合結果を確認できます
3357 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3361 serv = UnionEx.UnionEx()
3362 serv.UtableName = table_name
3363 serv.MtableName = master_table_name
3364 serv.StableName = slave_table_name
3365 serv.MsetID = master_setid
3366 serv.SsetID = slave_setid
3367 serv.MUnionKey = master_union_key
3368 serv.SUnionKey = slave_union_key
3369 serv.MtableID = is_master_tableid
3370 serv.RecNo = is_slave_rec_number
3371 serv.DelTable = is_delete_table
3372 serv.execDataService()
3374 return serv.ResultCode
3386 is_visibility : str, default 'Yes'
3392 結果コード(0:成功、負:エラーコード)
3394 import VisibleItemEx
3395 serv = VisibleItemEx.VisibleItemEx()
3396 serv.TableName = table_name
3397 serv.FilterName = item_name
3398 serv.Visibility = is_visibility
3399 serv.execDataService()
3401 return serv.ResultCode
3403 def xsum(self, table_name, setid, dimension_item_list, measure_item_list):
3413 dimension_item_list : list
3415 measure_item_list : list
3416 測度の項目リスト {項目名,件数,最大値,最小値,合計値,平均値}(最大32項目)
3417 件数 (Yes:集計する、No:集計しない)
3418 最大値(Yes:集計する、No:集計しない)
3419 最小値(Yes:集計する、No:集計しない)
3420 合計値(Yes:集計する、No:集計しない)
3421 平均値(Yes:集計する、No:集計しない)
3426 結果コード(正:生成された集計テーブルID、負:エラーコード)
3430 項目1の件数、最大値、最小値、合計値、平均値を集計する
3432 =============================================================================================================================================================================================================================================================================================================================================================================================================
3433 >>> dsx.get_tuple("practice1",1,50,2)
3434 [[
'SeqNo',
'RecNo',
'項目1',
'項目2',
'項目3'], [
'1',
'1',
'10',
'20',
'30'], [
'2',
'2',
'9',
'19',
'29'], [
'3',
'3',
'8',
'18',
'28'], [
'4',
'4',
'7',
'17',
'27'], [
'5',
'5',
'6',
'16',
'26']]
3435 >>> dsx.xsum(
"practice1",1,[
"項目1"],[[
"項目1",
"Yes",
"Yes",
"Yes",
"Yes",
"Yes"]])
3437 >>> dsx.get_tablelist()
3438 [
'practice1',
'XTBL_practice1']
3439 >>> dsx.get_tuple(
"XTBL_practice1",1,50,1)
3440 [[
'SeqNo',
'RecNo',
'項目1',
'N<項目1>',
'MAX<項目1>',
'MIN<項目1>',
'SUM<項目1>',
'AVG<項 目1>'], [
'1',
'1',
'1',
'1',
'1',
'1',
'1.000',
'1.000'], [
'2',
'2',
'2',
'1',
'2',
'2',
'2.000',
'2.000'], [
'3',
'3',
'3',
'1',
'3',
'3',
'3.000',
'3.000'], [
'4',
'4',
'4',
'1',
'4',
'4',
'4.000',
'4.000'], [
'5',
'5',
'5',
'1',
'5',
'5',
'5.000',
'5.000']]
3441 =============================================================================================================================================================================================================================================================================================================================================================================================================
3445 引数の、測度の項目リストの角カッコ[ ]は二重である点に注意してください
3449 1.テーブル一覧取得(get_tablelist)で、集計テーブルが追加されたことを確認できます
3450 2.テーブルデータ取得(get_tuple)で、集計結果を確認できます
3451 3.セットIDが分からない時は、セットID一覧取得(get_setid_list)で確認できます
3455 serv = XSumEx.XSumEx()
3456 serv.TableName = table_name
3458 serv.DItemList = dimension_item_list
3460 for inlist
in measure_item_list:
3461 outlist.append(inlist)
3462 serv.NItemList = outlist
3463 serv.execDataService()
3465 return serv.ResultCode
3469 Apache Arrow(インメモリ)形式のテーブルを読み込む
3471 ※ pyarrow(Python Lib.)のインストールが必要です。
3475 table : pyarrow.Table
3476 Apache Arrow Tableオブジェクト
3477 columns : list, default None
3478 抽出カラム名リスト(省略時は全カラムが対象)
3487 serv = LoadArrow.LoadArrow()
3489 serv.Columns = columns
3490 serv.execDataService()
3492 return serv.ResultStr
3493 except Exception
as e:
3494 raise Exception(
"pyarrowException " + str(e))
3498 テーブルをApache Arrow(インメモリ)形式で書き出す
3500 ※ pyarrow(Python Lib.)のインストールが必要です。
3506 setid : int, default -1
3507 セットID(省略した場合はカレントセット)
3508 columns : list, default None
3509 抽出項目名リスト(省略時は全項目が対象)
3513 ResultCode : pyarrow.Table
3514 arrow.Tableオブジェクト、None:エラー
3518 serv = SaveArrow.SaveArrow()
3519 serv.TableName = table_name
3521 serv.Columns = columns
3522 serv.execDataService()
3524 return serv.ArrowTable
3525 except Exception
as e:
3526 raise Exception(
"pyarrowException " + str(e))
3532 ※ pyarrow(Python Lib.)のインストールが必要です。
3540 columns : list, default None
3541 抽出カラム名リスト(省略時は全カラムが対象)
3546 結果コード(正:テーブルID、負:エラーコード)
3550 serv = ReadParquet.ReadParquet()
3551 serv.TableName = table_name
3552 serv.FileName = file_name
3553 serv.Columns = columns
3554 serv.execDataService()
3556 return serv.ResultCode
3557 except Exception
as e:
3558 raise Exception(
"pyarrowException " + str(e))
3562 テーブルをParquet形式でエクスポート
3564 ※ pyarrow(Python Lib.)のインストールが必要です。
3572 setid : int, default -1
3573 セットID(省略した場合はカレントセット)
3574 columns : list, default None
3575 抽出項目名リスト(省略時は全項目が対象)
3580 結果コード(正:出力行数、負:エラーコード)
3584 serv = WriteParquet.WriteParquet()
3585 serv.TableName = table_name
3586 serv.FileName = file_name
3588 serv.Columns = columns
3589 serv.execDataService()
3591 return serv.ResultCode
3592 except Exception
as e:
3593 raise Exception(
"pyarrowException " + str(e))
3597 Jupyterから「SDC V3」を起動(限定公開機能)
3598 JupyterとSDC V3でデータ処理エンジンを共用(お互いが処理したテーブルを参照・更新できる)
3601 デスクトップタイプのみ動作可能(Jupyter notebook/labのセル中で使用すること)
3602 PYTHONPATHでserverへのパス指定が必須です。
3606 export PYTHONPATH=$(cd "./server/dataService" && pwd):$PYTHONPATH
3607 export PYTHONPATH=$(cd
"./server" && pwd):$PYTHONPATH
3608 export DYLD_LIBRARY_PATH=$(cd
"./server/di5engine/mac" && pwd) ←←← macOSの場合のみ 必須
3612 1. Jupyter側で作成したテーブル/セットをSDC V3側のワークスペース表示に反映させるには、SDC V3側でワークスペースの変更を伴う操作が必要です。
3613 2. SDC V3側でログアウトするとJupyter側のPythonjカーネルが停止して、以後、操作できなくなります。
3614 3. SDC V3側で参照しているテーブルをJupyter側で削除/変更すると、SDC V3側で予期せぬエラーが発生することがあります。
3626 sdc = StartSDC3.startSDC3()
3653 結果コード(2 ~ 8:成功、負:エラーコード)
3655 import GetDataTypeEx
3656 serv = GetDataTypeEx.GetDataTypeEx()
3657 serv.TableName = table_name
3658 serv.FilterName = item_name
3659 serv.execDataService()
3661 return serv.ResultCode
def join_realize(self, join_table_name, real_table_name, setid, master_rec_number='Yes', slave_rec_number='Yes', item_name_list=' *')
def get_cell(self, table_name, item_name, start_row=1, row_count=1, setid=-1)
def edit_comma(self, table_name, item_name, is_edit='Yes')
def get_license_expiration(self)
def fill_cell(self, table_name, item_name, set_string, start_row=1, row_count=-1, setid=-1)
def write_csv(self, table_name, file_name, setid, delimiter='CSV', write_top=1, write_bottom=-1, write_left=1, write_right=-1, is_header='Yes')
def delete_row(self, table_name, start_row, row_count, setid=-1)
def db_save(self, file_name)
def sort_item(self, table_name, sort_key)
def search_values(self, table_name, item_name, setid, search_string_list)
def delete_set(self, table_name, setid)
def set_cell(self, table_name, item_name, start_row, row_count, fill_string_list, setid=-1)
def get_valuelist(self, table_name, setid, item_name)
def duplicate_table(self, table_name)
def compression(self, table_name)
def sort(self, table_name, item_name, setid, sort_type='ASC')
def setand(self, table_name, src_setid, dst_setid)
def write_csv_selectitem(self, table_name, file_name, setid, delimiter='CSV', write_top=1, write_bottom=-1, item_name_list=' *', is_header='Yes')
def get_itemlist(self, table_name)
def insert_row(self, table_name, row_count, start_row=1)
def duplicate_item(self, table_name, item_name)
def db_load(self, file_name)
def setnot(self, table_name, setid)
def delete_resultset(self, table_name, setid)
def search_values_bytable(self, table_name, item_name, setid, list_table_name, list_item_name, list_setid)
def overwrite_batch(self, table_name, start_row, row_count, fill_string_list, setid=-1)
def comment(self, comment)
def get_memory(self, table_name)
def get_tuple_asjson(self, table_name, start_row=1, fetch_size=128, setid=-1)
def join(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_join_key, slave_join_key, is_in_out, is_transfer_item='No')
def move_item(self, table_name, item_name_list, item_name)
def create_table(self, row_count, table_name)
def __init__(self, is_macro_stop=False, is_language="ja-JP")
def get_data_type(self, table_name, item_name)
def load(self, file_name)
def get_setid_list(self, table_name)
def load_arrow(self, table, columns=None)
def calc(self, table_name, item_name, calc_string, row_count=-1, start_row=1, setid=-1)
def add_realitem(self, table_name, add_position, new_item_name, item_type, file_name)
def delete_item(self, table_name, item_name)
def search(self, table_name, item_name, setid, search_string)
def append_row(self, table_name, row_count, start_row=1)
def db_codeset(self, db_codeset)
def read_parquet(self, table_name, file_name, columns=None)
def extract_unique(self, table_name, setid, item_name_list=' *', is_keep_order='Yes')
def get_rowcount(self, table_name, setid=-1)
def visible_item(self, table_name, item_name, is_visibility='Yes')
def delete_table(self, table_name)
def overwrite(self, table_name, item_name, start_row, row_count, fill_string_list, is_ex_space='No', setid=-1)
def categorize(self, table_name, item_name, category_table_name)
def transfer_item(self, table_name, item_name)
def catalog(self, table_name, file_name, catalog_name, mode=None)
def extract_set(self, table_name, setid, is_view_table_id='Yes', is_record_number='Yes', item_name_list=' *', new_table_name=None)
def set_license(self, license_key)
def union(self, table_name, master_table_name, slave_table_name, master_setid, slave_setid, master_union_key, slave_union_key, is_master_tableid='Yes', is_slave_rec_number='Yes', is_delete_table='No')
def get_tablename(self, tableid)
def convert_type(self, table_name, item_name, data_type)
def search_string(self, table_name, setid, expression)
def delete_allset(self, table_name)
def get_tuple(self, table_name, start_row=1, fetch_size=128, setid=-1)
def move_currentset(self, table_name, setid)
def get_limit_memory(self)
def search_values_bycsv(self, table_name, item_name, setid, file_name)
def rename_item(self, table_name, item_name, new_item_name)
def set_comment(self, table_name, setid, comment_string)
def setsub(self, table_name, src_setid, dst_setid)
def join_inout(self, table_name, is_slave, is_in_out)
def read_csv(self, table_name, file_name)
def save_arrow(self, table_name, setid=-1, columns=None)
def save(self, file_name)
def write_parquet(self, table_name, file_name, setid=-1, columns=None)
def output_log(self, is_content='No', is_result='Yes', is_recipe='No', is_document='No')
def float_format(self, table_name, item_name, digit)
def rename_table(self, table_name, new_table_name)
def xsum(self, table_name, setid, dimension_item_list, measure_item_list)
def setor(self, table_name, src_setid, dst_setid)