KR102499832B1 - An online report creation system with query binding function - Google Patents

An online report creation system with query binding function Download PDF

Info

Publication number
KR102499832B1
KR102499832B1 KR1020200178176A KR20200178176A KR102499832B1 KR 102499832 B1 KR102499832 B1 KR 102499832B1 KR 1020200178176 A KR1020200178176 A KR 1020200178176A KR 20200178176 A KR20200178176 A KR 20200178176A KR 102499832 B1 KR102499832 B1 KR 102499832B1
Authority
KR
South Korea
Prior art keywords
query
variable
grid
unit
query statement
Prior art date
Application number
KR1020200178176A
Other languages
Korean (ko)
Other versions
KR20220087789A (en
Inventor
황선민
이영균
조정수
이승철
김민규
최한나
Original Assignee
(주)비아이매트릭스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)비아이매트릭스 filed Critical (주)비아이매트릭스
Priority to KR1020200178176A priority Critical patent/KR102499832B1/en
Priority to JP2021093534A priority patent/JP7216377B2/en
Publication of KR20220087789A publication Critical patent/KR20220087789A/en
Application granted granted Critical
Publication of KR102499832B1 publication Critical patent/KR102499832B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Artificial Intelligence (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

쿼리문을 통해 데이터베이스에서 기초 데이터셋을 가져와서 웹 상의 보고서를 작성하고 제공할 때, 가공 변수를 설정하여 쿼리문을 작성하도록 지원하고, 쿼리문에서 가공 변수를 변수값으로 바인딩하여 기초 데이터셋을 가져오는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 관한 것으로서, 웹 상의 보고서 화면에서 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하게 하는 그리드 편집부; 웹 상의 보고서 화면에서 컨트롤 객체를 생성하고 편집하는 컨트롤 편집부; 상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑되는 엑셀 문서를 생성하되, 그리드의 형태를 나타내는 뷰 영역 시트, 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 설정하는 파라미터 영역 시트로 구성되는 엑셀 문서를 생성하는, 워크시트 초기화부; 상기 엑셀 문서의 파라미터 영역 시트 상에서 가공변수를 설정하는, 가공변수 설정부; 상기 워크시트 상의 가공 변수를 쿼리 변수로 매핑하여 쿼리문을 작성하는 쿼리문 작성부; 상기 확장모듈에 구비되고, 상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하는 제2 쿼리 바인딩부; 상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하되, 상기 제2 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 로드하는, 데이터셋 로드부; 상기 서버에 구비되고, 상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하는 제1 쿼리 바인딩부; 그리드 객체에 매핑되는 엑셀 문서의 내용에 따라 해당 그리드 객체의 내용을 웹 상에 표시하되, 상기 제1 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 기초 데이터셋을 로드하고, 로드된 기초 데이터셋로부터 가공된 데이터셋으로 그리드 객체의 내용을 표시하는 그리드 표시부; 및, 그리드 객체와 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하면, 가공 변수를 이용하여 쿼리문을 작성하게 하고 실행시 쿼리문의 가공 변수에 변수값을 바인딩함으로써, 사용자가 데이터베이스에서 기초 데이터셋을 보다 다양한 조건으로 불러올 수 있고, 이를 통해, 데이터셋의 조건에 대한 인터랙티브 기능을 보다 쉽게 구현할 수 있다.
When creating and providing a report on the web by bringing a basic dataset from a database through a query statement, it supports writing a query statement by setting a processing variable, and binding the processing variable to a variable value in the query statement to create a basic dataset. It relates to an online report creation system having a query binding function, which edits a grid object on a report screen on the web, saves information about one grid object in one Excel document, and uses an extended Excel tool a grid editing unit for editing a grid object through editing of an Excel document; a control editing unit that creates and edits a control object on a report screen on the web; When the Excel tool is called, an Excel document that is mapped to the grid object is created, and an Excel document composed of a view area sheet representing the shape of the grid, a data area sheet for storing basic data sets, and a parameter area sheet for setting processing variables. a worksheet initialization unit that creates a document; a processing variable setting unit that sets processing variables on a parameter area sheet of the Excel document; a query statement creation unit that creates a query statement by mapping processing variables on the worksheet to query variables; a second query binding unit provided in the extension module and binding a query variable of the query statement to a variable value of a processing variable; a data set loading unit for loading a basic data set on a worksheet of the Excel document, binding the query statement through the second query binding unit, and loading the bound query statement; a first query binding unit provided in the server and binding a query variable of the query statement to a variable value of a processing variable; Display the contents of the corresponding grid object on the web according to the contents of the Excel document mapped to the grid object, bind the query statement through the first query binding unit, load the basic dataset with the bound query statement, and load a grid display unit for displaying contents of a grid object from a processed basic data set to a processed data set; and a report viewer unit displaying a report composed of a grid object and a control object on the web and displaying the grid object through the grid display unit.
According to the system as described above, by making a query statement using a processing variable and binding the variable value to the processing variable of the query statement during execution, the user can call the basic data set from the database under various conditions, and through this, It is easier to implement interactive functions for the condition of the dataset.

Description

쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템 { An online report creation system with query binding function }Online report creation system with query binding function { An online report creation system with query binding function }

본 발명은 쿼리문을 통해 데이터베이스에서 기초 데이터셋을 가져와서 웹 상의 보고서를 작성하고 제공할 때, 가공 변수를 설정하여 쿼리문을 작성하도록 지원하고, 쿼리문에서 가공 변수를 변수값으로 바인딩하여 기초 데이터셋을 가져오는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 관한 것이다.In the present invention, when a basic data set is imported from a database through a query statement, and a report on the web is created and provided, the query statement is supported by setting a processing variable, and the processing variable is bound to a variable value in the query statement. It relates to an online reporting system with query binding capabilities for importing datasets.

또한, 본 발명은 웹 상의 보고서 내에 각 그리드를 작성할 때 엑셀 도구에서 작성하도록 지원하고 엑셀 도구의 확장 모듈에서 쿼리문을 작성하도록 지원하고, 엑셀 도구 상에서는 가공 변수를 시트 상에 설정하고 웹 상에는 해당 가공 변수를 컨트롤 객체에 매핑시키도록 지원하는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 관한 것이다.In addition, the present invention supports writing in an Excel tool when creating each grid in a report on the web, supports writing a query statement in an extension module of the Excel tool, sets processing variables on a sheet in the Excel tool, and sets the corresponding processing on the web An online reporting system with query binding functionality supporting mapping of variables to control objects.

일반적으로, 직장인들의 업무시간 중 문서작성에 소요되는 시간이 전체 업무에서 차지하는 비중이 높다. 이러한 문서작성에 소요되는 시간 및 인력에 따른 비용의 절감은 기업의 생산성 측면에서는 필수적으로 요구되는 부분이다. 이를 위해, 업무를 통합적으로 관리하고 자동화 하는 시스템이 도입되고 있다.In general, among office workers' working hours, the time required for document preparation occupies a high proportion of the total work. Reduction of costs due to the time and manpower required to prepare these documents is an essential part in terms of corporate productivity. To this end, a system that manages and automates tasks in an integrated manner is being introduced.

일례로서, 웹 환경에서 데이터베이스를 조회하여 분석하는 레포팅 기술이 제시되고 있다[특허문헌 1]. 상기 선행기술에 의하면, 개발자가 데이터베이스 서버의 데이터를 이용하여 위지윅(WYSIWYG) 방식 및 드래그 앤 드롭(Drag & Drop) 방식으로 보고서를 설계하고, 웹서버는 설계된 보고서를 등록받고, 보고서의 설정내용에 따라 데이터베이스 서버에서 필요한 데이터를 가져와서 보고서를 생성하고, 사용자는 웹브라우저 상에서 보고서를 요청하여 본다.As an example, a reporting technology for querying and analyzing a database in a web environment has been proposed [Patent Document 1]. According to the prior art, a developer designs a report using a WYSIWYG method and a drag & drop method using data of a database server, the web server registers the designed report, and the report settings Accordingly, necessary data is imported from the database server and a report is created, and the user requests and views the report on a web browser.

또한, 웹 서비스를 이용하여, 여러 곳에 분산된 데이터를 접근하고 통합하여 보고서를 실시간으로 출력하는 기술도 제시되고 있다[특허문헌 2]. 또한, 관리자가 데이터베이스에서 수신한 테이블 정보를 웹 상에서 선택하여 맵핑 테이블을 생성하고, 이를 이용하여 다양한 양식의 레포트를 생성하고, 이를 웹 상에서 선택하여 확인하는 기술도 제시되고 있다[특허문헌 3].In addition, a technique for outputting a report in real time by accessing and integrating data distributed in several places using a web service has also been proposed [Patent Document 2]. In addition, a technique in which an administrator selects table information received from a database on the web to create a mapping table, uses it to generate reports in various formats, and selects and confirms the table information on the web has also been proposed [Patent Document 3].

또한, 웹 상에서 엑셀 형태로 레포트를 작성하는 기술도 제시되고 있다[특허문헌 4]. 상기 선행기술은 엑셀 형태의 그리드를 웹 상에서 직접 작성해야 하며, 웹 상에서의 그리드 작업의 인터페이스를 엑셀의 인터페이스와 유사하게 제공하고 있다.In addition, a technique for creating a report in the form of Excel on the web has also been proposed [Patent Document 4]. In the prior art, an Excel-type grid must be directly created on the web, and an interface of grid work on the web is provided similarly to that of Excel.

그러나 웹 상에서 엑셀과 같은 다양한 인터페이스를 제공하기 어렵고, 각 서비스 마다 인터페이스 방식이 다르기 때문에, 사용자는 웹 상의 인터페이스에 불편할 수 있다. 즉, 온라인 상의 인터페이스가 오프라인 상의 엑셀 프로그램의 인터페이스와 동일하지 않다.However, since it is difficult to provide various interfaces such as Excel on the web, and interface methods are different for each service, users may be uncomfortable with the interface on the web. That is, the interface on-line is not the same as the interface of the Excel program on-line.

그런데 사용자들은 자신의 컴퓨터 단말에 설치되어 이용하는 (오프라인 상의) 엑셀 도구의 인터페이스에 더 친숙하다. 따라서 사용자가 웹 상에서 보고서를 작성할 때, 데이터 가공 작업을 상용 엑셀과 같은 오프라인 상의 어플리케이션으로 수행할 수 있도록 지원하는 기술이 필요하다.However, users are more familiar with the interface of the (offline) Excel tool installed and used on their computer terminals. Therefore, when a user creates a report on the web, a technology that supports data processing with an offline application such as commercial Excel is required.

한국등록특허 제10-0497811호 (2005.07.01.공고)Korean Patent Registration No. 10-0497811 (Announced on July 1, 2005) 한국등록특허 제10-0697155호 (2007.03.21.공고)Korean Patent Registration No. 10-0697155 (Announced on March 21, 2007) 한국공개특허 제10-2013-0126012호 (2013.11.20.공개)Korean Patent Publication No. 10-2013-0126012 (published on November 20, 2013) 한국등록특허 제10-1951719호 (2019.02.25.공고)Korean Patent Registration No. 10-1951719 (2019.02.25. Notice)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 쿼리문을 통해 데이터베이스에서 기초 데이터셋을 가져와서 웹 상의 보고서를 작성하고 제공할 때, 가공 변수를 설정하여 쿼리문을 작성하도록 지원하고, 쿼리문에서 가공 변수를 변수값으로 바인딩하여 기초 데이터셋을 가져오는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템을 제공하는 것이다.An object of the present invention is to solve the above-described problems, and when a basic data set is imported from a database through a query statement and a report on the web is created and provided, processing variables are set to support the creation of the query statement , To provide an online report writing system equipped with a query binding function that binds processing variables to variable values in a query statement and brings in a basic data set.

또한, 본 발명의 목적은 본 발명은 웹 상의 보고서 내에 각 그리드를 작성할 때 엑셀 도구에서 작성하도록 지원하고 엑셀 도구의 확장 모듈에서 쿼리문을 작성하도록 지원하고, 엑셀 도구 상에서는 가공 변수를 시트 상에 설정하고 웹 상에는 해당 가공 변수를 컨트롤 객체에 매핑시키도록 지원하는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템을 제공하는 것이다.In addition, an object of the present invention is to support writing in an Excel tool when creating each grid in a report on the web, support writing a query statement in an extension module of the Excel tool, and setting processing variables on a sheet in the Excel tool. To provide an online report writing system equipped with a query binding function that supports mapping of processing variables to control objects on the web.

상기 목적을 달성하기 위해 본 발명은 사용자 단말의 엑셀 도구에 설치되는 확장모듈과 서버에 의해 수행되는, 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 관한 것으로서, 웹 상의 보고서 화면에서 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하게 하는 그리드 편집부; 웹 상의 보고서 화면에서 컨트롤 객체를 생성하고 편집하는 컨트롤 편집부; 상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑되는 엑셀 문서를 생성하되, 그리드의 형태를 나타내는 뷰 영역 시트, 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 설정하는 파라미터 영역 시트로 구성되는 엑셀 문서를 생성하는, 워크시트 초기화부; 상기 엑셀 문서의 파라미터 영역 시트 상에서 가공변수를 설정하는, 가공변수 설정부; 상기 워크시트 상의 가공 변수를 쿼리 변수로 매핑하여 쿼리문을 작성하는 쿼리문 작성부; 상기 확장모듈에 구비되고, 상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하는 제2 쿼리 바인딩부; 상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하되, 상기 제2 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 로드하는, 데이터셋 로드부; 상기 서버에 구비되고, 상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하는 제1 쿼리 바인딩부; 그리드 객체에 매핑되는 엑셀 문서의 내용에 따라 해당 그리드 객체의 내용을 웹 상에 표시하되, 상기 제1 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 기초 데이터셋을 로드하고, 로드된 기초 데이터셋로부터 가공된 데이터셋으로 그리드 객체의 내용을 표시하는 그리드 표시부; 및, 그리드 객체와 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하고, 상기 컨트롤 편집부는 상기 컨트롤 객체에 상기 가공 변수를 매핑시키고, 상기 제1 쿼리 바인딩부는 상기 변수 값을 상기 가공 변수에 매핑되는 컨트롤 객체의 입력값으로 설정하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to an online report creation system having a query binding function performed by an extension module installed in an Excel tool of a user terminal and a server, and editing a grid object on a report screen on the web , a grid editing unit that stores information about one grid object in one Excel document and edits the grid object through editing of the Excel document by an extended Excel tool; a control editing unit that creates and edits a control object on a report screen on the web; When the Excel tool is called, an Excel document that is mapped to the grid object is created, and an Excel document composed of a view area sheet representing the shape of the grid, a data area sheet for storing basic data sets, and a parameter area sheet for setting processing variables. a worksheet initialization unit that creates a document; a processing variable setting unit that sets processing variables on a parameter area sheet of the Excel document; a query statement creation unit that creates a query statement by mapping processing variables on the worksheet to query variables; a second query binding unit provided in the extension module and binding a query variable of the query statement to a variable value of a processing variable; a data set loading unit for loading a basic data set on a worksheet of the Excel document, binding the query statement through the second query binding unit, and loading the bound query statement; a first query binding unit provided in the server and binding a query variable of the query statement to a variable value of a processing variable; Display the contents of the corresponding grid object on the web according to the contents of the Excel document mapped to the grid object, bind the query statement through the first query binding unit, load the basic dataset with the bound query statement, and load a grid display unit for displaying contents of a grid object from a processed basic data set to a processed data set; and a report viewer unit displaying a report composed of a grid object and a control object on the web, and displaying the grid object through the grid display unit, wherein the control editing unit maps the processing variable to the control object, and One query binding unit is characterized in that the variable value is set as an input value of a control object mapped to the processing variable.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 쿼리문에서의 쿼리 변수는 변수 식별자, 및, 가공 변수의 이름을 결합하여 구성되어 표기되고, 상기 제1 또는 제2 쿼리 바인딩부는, 쿼리문에서 변수 식별자를 인식하면, 해당 변수 식별자에 연결된 문자열을 가공 변수로 인식하는 것을 특징으로 한다.In addition, according to the present invention, in an online report creation system having a query binding function, a query variable in the query statement is formed by combining a variable identifier and a name of a processed variable, and the first or second query When the binding unit recognizes a variable identifier in the query statement, it is characterized in that it recognizes a string connected to the variable identifier as a processing variable.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 쿼리문에서 쿼리 변수를 사용할 때, 라인 삭제 기능을 구비하고, 해당 쿼리 변수에 동적 라인 삭제 기능을 나타내는 기호 또는 문자를 추가하여 구분하고, 상기 제1 또는 제2 쿼리 바인딩부는, 쿼리 변수가 라인 삭제 기능을 가지는 경우, 해당 가공 변수의 변수 값이 없거나 빈 값이면, 해당 쿼리문에서 해당 라인을 삭제하여 바인딩하는 것을 특징으로 한다.In addition, the present invention is an online report creation system having a query binding function, when a query variable is used in the query statement, a line deletion function is provided, and a symbol or a character indicating a dynamic line deletion function is added to the query variable. and the first or second query binding unit deletes and binds the line in the corresponding query statement when the query variable has a line deletion function, if the variable value of the corresponding processing variable is not present or is an empty value. do.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 쿼리문에서 조건에 따라 수행되는 행이 다른 경우, 해당 행에 주석문을 삽입하고, 삽입된 주석문에 라인 삭제 기능을 가진 쿼리 변수를 삽입하고, 조건에 따라 쿼리 변수의 변수 값이 빈 값으로 입력하게 하거나 임의의 값을 입력하게 하여, 빈 값이면 해당 행이 삭제되게 하고, 임의의 값이면 해당 행이 수행되도록 제공하는 것을 특징으로 한다.In addition, according to the present invention, in an online report writing system having a query binding function, when a row executed according to a condition in the query statement is different, a comment statement is inserted in the corresponding row, and a query having a line deletion function in the inserted comment statement. Inserting a variable and having the variable value of the query variable be entered as an empty value or an arbitrary value according to the condition, if it is an empty value, the corresponding row is deleted, and if it is an arbitrary value, the corresponding row is provided to be executed. to be characterized

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 가공변수 설정부는 변수정의 셀의 이름을 가공변수의 이름으로 설정하고, 상기 가공 변수는 상기 엑셀 문서 상에서 그리드에 표시할 테이블의 셀 내의 수식에 사용되는 것을 특징으로 한다.In addition, in the present invention, in the online report writing system having a query binding function, the processing variable setting unit sets the name of the variable definition cell to the name of the processing variable, and the processing variable is a table to be displayed in a grid on the Excel document. Characterized in that it is used in formulas in the cells of.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 뷰 영역 시트 상의 테이블은 상기 데이터 영역 시트 상에 입력된 기초 데이터셋을 참조하되, 상기 뷰 영역 시트 상의 테이블 내의 셀의 수식에서 상기 데이터 영역 시트의 셀을 참조하고, 상기 그리드 표시부는 기초 데이터셋을 데이터베이스에서 가져와서 가상 시트 상에 저장하고, 상기 그리드 객체의 테이블의 각 셀을 수식에 따라 반영할 때, 참조하는 데이터 영역 시트의 셀의 내용 대신, 가상 시트 상의 해당 셀의 내용으로 반영하는 것을 특징으로 한다.In addition, according to the present invention, in an online report creation system having a query binding function, a table on the view area sheet refers to a basic data set input on the data area sheet, and formulas of cells in the table on the view area sheet are referred to. refers to the cell of the data area sheet, and the grid display unit retrieves the basic data set from the database and stores it on the virtual sheet, and when each cell of the table of the grid object is reflected according to a formula, the referenced data area It is characterized in that the content of a corresponding cell on a virtual sheet is reflected instead of the content of a cell of a sheet.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 편집결과 저장부는 상기 뷰 영역 시트 상에서의 테이블에 대하여, 테이블의 헤더 행 구조, 및, 테이블의 데이터 행 구조를 템플릿 정보를 저장하되, 테이블의 데이터 행 구조를 1번째 데이터 행의 서식과 수식을 포함하는 속성 정보로 저장하고, 해당 테이블의 데이터 행이 교차 행이면, 해당 테이블의 1번째 데이터 행과 2번째 데이터 행의 서식을 모두 저장하는 것을 특징으로 한다.In addition, in the present invention, in an online report creation system having a query binding function, the editing result storage unit stores template information for a table on the view area sheet, a header row structure of the table, and a data row structure of the table. However, the structure of the data row of the table is saved as attribute information including the format and formula of the first data row, and if the data row of the table is a cross row, the format of the first data row and the second data row of the table Characterized in that all of them are stored.

또, 본 발명은 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 있어서, 상기 그리드 편집부, 컨트롤 편집부, 보고서 뷰어부, 그리드 표시부, 제1 쿼리 바인딩부는 상기 서버에서 구비되고, 워크시트 초기화부, 가공변수 설정부, 데이터셋 로드부, 편집결과 저장부, 제2 쿼리 바인딩부, 쿼리문 작성부는 상기 확장 모듈에서 구비되는 것을 특징으로 한다.In addition, in the present invention, in an online report creation system having a query binding function, the grid editing unit, control editing unit, report viewer unit, grid display unit, and first query binding unit are provided in the server, and the worksheet initialization unit and processing variables are provided in the server. A setting unit, a dataset loading unit, an editing result storage unit, a second query binding unit, and a query statement creation unit are provided in the extension module.

상술한 바와 같이, 본 발명에 따른 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 의하면, 가공 변수를 이용하여 쿼리문을 작성하게 하고 실행시 쿼리문의 가공 변수에 변수값을 바인딩함으로써, 사용자가 데이터베이스에서 기초 데이터셋을 보다 다양한 조건으로 불러올 수 있고, 이를 통해, 데이터셋의 조건에 대한 인터랙티브 기능을 보다 쉽게 구현할 수 있는 효과가 얻어진다.As described above, according to the online report writing system having a query binding function according to the present invention, a query statement is created using a processing variable and the variable value is bound to the processing variable of the query statement during execution, so that the user can access the data in the database. The basic data set can be loaded under more diverse conditions, and through this, an effect of more easily implementing interactive functions for the conditions of the data set is obtained.

또한, 본 발명에 따른 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템에 의하면, 쿼리문의 가공 변수를 웹 상의 컨트롤 객체에 매핑시킴으로써, 기초 데이터셋의 쿼리 조건을 보다 쉽게 설정하는 인터페이스를 제공할 수 있는 효과가 얻어진다.In addition, according to the online report writing system having a query binding function according to the present invention, by mapping processing variables of a query statement to control objects on the web, an effect that can provide an interface that more easily sets query conditions of an underlying dataset. is obtained

도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 웹 상에서 보고서 편집을 위한 인터페이스 화면을 예시한 도면.
도 4는 본 발명의 일실시예에 따른 웹 상에서 편집된 보고서를 예시한 도면이다.
도 5는 본 발명의 일실시예에 따른 초기화된 엑셀 문서를 예시한 도면이다.
도 6은 본 발명의 일실시예에 따른 파라미터 영역 시트 상에서 가공 변수를 정의하는 화면을 예시한 도면.
도 7은 본 발명의 일실시예에 따른 데이터셋을 로드하는 화면을 예시한 도면.
도 8은 본 발명의 일실시예에 따른 기초 데이터셋이 로드된 데이터 영역 시트의 화면을 예시한 도면.
도 9는 본 발명의 일실시예에 따른 엑셀 문서의 뷰 영역 시트의 편집 결과 화면을 예시한 도면.
도 10은 본 발명의 일실시예에 따른 피벗테이블의 템플릿 정보를 나타낸 예시도로서, (a) 피벗 테이블, (b) 템플릿 정보에 대한 예시도.
도 11은 본 발명의 일실시예에 따른 작성된 일반 쿼리문에 대한 예시도.
도 12는 본 발명의 일실시예에 따른 쿼리문의 가공 변수의 종류를 나타낸 표.
도 13은 본 발명의 일실시예에 따른 가공 변수를 사용한 쿼리문에 대한 예시도.
도 14는 본 발명의 일실시예에 따른 동적 라인 삭제 기능의 쿼리문과 바인딩된 쿼리문을 예시한 도면.
도 15는 본 발명의 일실시예에 따른 일부 내용만 다른 2개의 쿼리문에 대한 예시 코드.
도 16은 종래기술에 따른 프로그래밍 작업에 의해 2개의 쿼리문을 조건문으로 작성한 예시 코드.
도 17은 본 발명의 제1 실시예에 따른 동적 라인 삭제 기능에 의한 쿼리문의 조건문을 예시한 코드.
도 18 및 도 19는 본 발명의 제2 실시예에 따른 쿼리문의 조건문을 예시한 코드.
도 20은 본 발명의 일실시예에 따른 수식 자동 연산에 대한 예시도.
1 is a configuration diagram of the entire system for implementing the present invention.
2 is a block diagram of the configuration of an online report creation system having a query binding function according to an embodiment of the present invention.
3 is a diagram illustrating an interface screen for editing a report on the web according to an embodiment of the present invention.
4 is a diagram illustrating a report edited on the web according to an embodiment of the present invention.
5 is a diagram illustrating an initialized Excel document according to an embodiment of the present invention.
6 illustrates a screen for defining processing variables on a parameter area sheet according to an embodiment of the present invention.
7 is a diagram illustrating a screen for loading a dataset according to an embodiment of the present invention.
8 is a diagram illustrating a screen of a data area sheet loaded with a basic data set according to an embodiment of the present invention;
9 is a diagram illustrating an editing result screen of a view area sheet of an Excel document according to an embodiment of the present invention.
10 is an exemplary diagram illustrating template information of a pivot table according to an embodiment of the present invention, and is an exemplary diagram for (a) a pivot table and (b) template information.
11 is an exemplary view of a general query statement prepared according to an embodiment of the present invention.
12 is a table showing types of processing variables of a query statement according to an embodiment of the present invention.
13 is an exemplary view of a query statement using processing variables according to an embodiment of the present invention.
14 is a diagram illustrating a query statement and a bound query statement of a dynamic line deletion function according to an embodiment of the present invention.
15 is an example code for two query statements that differ only in part in content according to an embodiment of the present invention.
16 is an example code in which two query statements are created as conditional statements by programming work according to the prior art.
17 is a code illustrating a conditional statement of a query statement by a dynamic line deletion function according to the first embodiment of the present invention.
18 and 19 are codes illustrating conditional statements of a query statement according to a second embodiment of the present invention.
20 is an exemplary view of formula automatic calculation according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific details for the implementation of the present invention will be described according to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in explaining the present invention, the same reference numerals are assigned to the same parts, and the repeated explanation thereof is omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 1을 참조하여 설명한다.First, the configuration of the entire system for implementing the present invention will be described with reference to FIG.

도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10)에 설치되는 엑셀 도구(20) 및 확장모듈(60), 웹 상에서 데이터셋에 의한 보고서 작성을 지원하는 작성 서버(30), 및, 데이터셋을 저장하는 데이터베이스 또는 DB 서버(40)로 구성된다. 사용자 단말(10)과 작성 서버(30)는 인터넷 등 네트워크(80)를 통해 데이터 통신을 수행한다.As shown in FIG. 1, the entire system for implementing the present invention includes an Excel tool 20 and an extension module 60 installed in the user terminal 10, and a creation server that supports report creation by dataset on the web ( 30), and a database or DB server 40 for storing data sets. The user terminal 10 and the creation server 30 perform data communication through a network 80 such as the Internet.

먼저, 사용자 단말(10)은 개인용 컴퓨터(PC), 노트북, 태블릿PC, 패블릿, PDA, 스마트폰 등 컴퓨팅 기능을 가지는 컴퓨팅 단말이다. 사용자 단말(10)은 통신 기능을 구비하여, 네트워크(80)를 통해 작성 서버(30)와 데이터를 송수신할 수 있다.First, the user terminal 10 is a computing terminal having a computing function, such as a personal computer (PC), a laptop computer, a tablet PC, a phablet, a PDA, and a smart phone. The user terminal 10 may have a communication function and transmit/receive data with the creation server 30 through the network 80 .

또한, 사용자 단말(10)은 엑셀 도구(20) 및 확장모듈(60) 등 어플리케이션이 설치되어 실행될 수 있다.In addition, the user terminal 10 may install and run applications such as the Excel tool 20 and the extension module 60 .

다음으로, 엑셀 도구(20)는 엑셀(마이크로소프트 사의 스프레드시트 소프트웨어 상표임) 기능을 수행하는 어플리케이션으로서, 사용자 단말(10)에 설치되어 구동되는 프로그램 시스템이다.Next, the Excel tool 20 is an application that performs Excel (a spreadsheet software trademark of Microsoft Corporation) and is a program system that is installed and driven in the user terminal 10 .

엑셀 도구(20)는 통상의 스프레드시트 기능을 제공하고, 특히, 위즈윅(WYSIWYG) 방식 또는 드래그앤드롭(Drag & Drop) 방식의 인터페이스를 제공한다. 즉, 엑셀 도구(20)는 화면 상에 엑셀 시트를 표시하고, 엑셀 시트 상에서 통상의 스프레드시트 작업을 수행할 수 있는 기능들을 제공한다.The Excel tool 20 provides a normal spreadsheet function and, in particular, provides a WYSIWYG or Drag & Drop interface. That is, the Excel tool 20 displays an Excel sheet on the screen and provides functions for performing normal spreadsheet operations on the Excel sheet.

또한, 엑셀 도구(20)는 엑셀 시트(또는 워크시트) 상에서 작성된 것을 엑셀 문서로 생성한다. 엑셀 문서는 다수의 워크시트로 구성되고, 각 워크시트는 시트 상에서 작성된 객체, 포맷, 데이터(또는 셀/영역, 셀 서식, 셀 수식, 셀 값) 등으로 구성된다.In addition, the Excel tool 20 creates an Excel document written on an Excel sheet (or worksheet). An Excel document consists of a number of worksheets, and each worksheet is composed of objects, formats, and data (or cells/regions, cell formats, cell formulas, and cell values) created on the sheet.

바람직하게는, 엑셀 도구(20)는 마이크로소프트 사에서 제작한 스프레드시트 어플리케이션으로서, 엑셀이란 상표를 가진다.Preferably, the Excel tool 20 is a spreadsheet application manufactured by Microsoft, and has a trademark of Excel.

또한, 엑셀 도구(20)는 확장 모듈(60)을 통해 그 기능이 확장된다. 이때, 기능이 확장된 엑셀 도구(20)를 확장된 엑셀도구라 부르기로 한다.In addition, the function of the Excel tool 20 is extended through the extension module 60. At this time, the function-extended Excel tool 20 will be referred to as an extended Excel tool.

다음으로, 확장모듈(60)은 컴퓨터 단말(10)에 설치되고 엑셀 도구(20)에 플러그인 형태로 부가되는 프로그램 시스템으로서, 데이터베이스에서 데이터셋을 로드하는 기능, 데이터셋의 가공 변수를 설정하는 기능 등을 제공한다.Next, the extension module 60 is a program system installed in the computer terminal 10 and added in the form of a plug-in to the Excel tool 20, a function of loading a data set from a database, and a function of setting processing variables of a data set. provide etc.

즉, 확장모듈(60)은 엑셀 도구(20)에 플러그인(plug-in) 방식 또는 애드인(add-in) 방식으로 부가되어 실행되는 프로그램 시스템이다. 특히, 확장모듈(60)은 엑셀 도구(20)의 적어도 하나의 명령(이하 플러그인 명령)으로 등록되고, 엑셀 도구(20)에서 해당 플러그인 명령이 호출되면 실행된다. 일례로서, 엑셀 시트 상에서 플러그인 명령이 메뉴 상에서 등록되고 메뉴에서 해당 명령이 선택되면, 확장모듈(60)이 동작된다. 또 다른 예로서, 컨트롤 객체의 이벤트 동작으로 등록되고 해당 이벤트가 발생되면, 확장모듈(60)이 동작될 수 있다.That is, the extension module 60 is a program system that is added to the Excel tool 20 in a plug-in method or an add-in method and is executed. In particular, the extension module 60 is registered as at least one command (hereinafter referred to as a plug-in command) of the Excel tool 20, and is executed when the corresponding plug-in command is called from the Excel tool 20. As an example, when a plug-in command is registered on a menu on an Excel sheet and a corresponding command is selected from the menu, the extension module 60 is operated. As another example, when a control object is registered as an event operation and a corresponding event occurs, the extension module 60 may be operated.

특히, 확장모듈(60)은 초기 워크시트 생성 기능, 가공 변수 설정 기능, 데이터셋 로드 기능 등을 구비하고, 각 기능을 호출하는 명령들이 엑셀 도구(20)에 등록된다.In particular, the extension module 60 has an initial worksheet creation function, a processing variable setting function, a data set loading function, and the like, and commands for calling each function are registered in the Excel tool 20.

먼저, 확장모듈(60)은 엑셀 도구(20)가 호출되면, 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.First, when the Excel tool 20 is called, the extension module 60 creates each worksheet representing the view area V, the data area D, and the parameter area P in the Excel document.

뷰 영역의 워크시트(뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다.The worksheet of the view area (view area sheet) is a worksheet for designing the display form of a grid or table to be displayed on the screen on the web.

또한, 데이터 영역(D)의 워크시트(이하 데이터 영역 시트)는 데이터베이스에서 로드하는 데이터셋을 각 셀에서 입력받아 저장하는 워크시트이다. 이때, 데이터베이스에서 로드하는 데이터셋을 기초 데이터셋이라 부르기로 한다.In addition, the worksheet of the data area (D) (hereafter referred to as a data area sheet) is a worksheet in which a data set loaded from a database is entered in each cell and stored. At this time, the data set loaded from the database is referred to as the basic data set.

한편, 뷰 영역 시트에 표시되는 데이터셋은 기초 데이터셋을 참조하여 가공된 데이터셋이다. 따라서, 뷰 영역 시트에 표시되는 데이터셋을 가공 데이터셋이라 부르기로 한다.Meanwhile, the dataset displayed on the view area sheet is a dataset processed by referring to the basic dataset. Therefore, the data set displayed on the view area sheet is referred to as a processing data set.

또한, 파라미터 영역(P)의 워크시트(이하 파라미터 영역 시트)는 데이터셋의 가공 변수를 설정하는 워크시트이다. 가공 변수는 하나의 셀의 이름으로 설정되고, 가공 변수의 변수값은 해당 셀 내의 입력되는 값으로 설정된다.In addition, the worksheet of the parameter area P (hereinafter referred to as parameter area sheet) is a worksheet for setting processing variables of the data set. The processing variable is set as the name of one cell, and the variable value of the processing variable is set as the input value in the cell.

또한, 확장모듈(60)은 가공 변수를 설정하는 기능을 제공한다. 이때, 가공 변수의 이름(변수명)은 셀의 이름으로 정의되므로, 해당 셀(변수정의 셀)에 입력되는 셀 값이 해당 가공변수의 변수값이 된다. 따라서 엑셀 도구(20) 상에서 가공 변수는 셀 이름으로 사용된다. 즉. 가공 변수의 변수값은 해당 가공 변수의 변수정의 필드(셀)에 입력된 값이다.In addition, the extension module 60 provides a function of setting processing variables. At this time, since the name of the processing variable (variable name) is defined as the name of the cell, the cell value entered into the corresponding cell (variable definition cell) becomes the variable value of the corresponding processing variable. Therefore, processing variables on the Excel tool 20 are used as cell names. in other words. The variable value of the processing variable is the value entered in the variable definition field (cell) of the processing variable.

또한, 확장모듈(60)은 쿼리문을 작성하고, 쿼리문에 의해 데이터베이스로부터 기초 데이터셋을 로드하고, 그 로드 정보를 저장하는 기능을 지원한다. 또한, 확장모듈(60)은 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.In addition, the extension module 60 supports a function of creating a query statement, loading a basic dataset from a database by the query statement, and storing the load information. In addition, the extension module 60 stores load information of the basic dataset. Basic dataset load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

다음으로, 작성 서버(30)는 네트워크(80)에 연결된 통상의 서버로서, 웹 상에서의 보고서 작성을 지원하되, 데이터베이스(40)로부터 가져온 데이터셋을 분석하는 보고서의 작성을 지원한다.Next, the creation server 30 is a normal server connected to the network 80 and supports creation of a report on the web, but also supports creation of a report analyzing a data set imported from the database 40 .

웹 상에서의 보고서는, 가공된 데이터셋을 표시하는 그리드 객체와, 데이터셋의 가공 변수를 처리하는 컨트롤 객체로 구성된다. 작성 서버(30)는 그리드 객체와, 컨트롤 객체를 작성하는 서비스를 제공한다.A report on the web is composed of a grid object that displays the processed data set and a control object that processes the processed variable of the data set. The creation server 30 provides services for creating grid objects and control objects.

먼저, 작성 서버(30)는 확장된 엑셀 도구(20)를 통해 그리드 객체를 생성 또는 편집하도록 제공하고, 각 그리드 객체에 연동하는 엑셀 문서를 대응하여 생성 또는 보관한다. 즉, 하나의 그리드 객체를 생성 또는 편집하기 위하여, 사용자는 확장된 엑셀 도구(20)에서 생성 또는 편집한다. 그리고 확장된 엑셀 도구(20)에서 생성 또는 편집된 엑셀 문서는 저장되는데, 해당 그리드 객체에 연동되어 보관된다.First, the creation server 30 provides grid objects to be created or edited through the extended Excel tool 20, and correspondingly creates or stores an Excel document linked to each grid object. That is, in order to create or edit one grid object, the user creates or edits it in the extended Excel tool 20. In addition, the Excel document created or edited in the extended Excel tool 20 is stored, and is stored in association with the corresponding grid object.

또한, 확장된 엑셀 도구(20)에서 저장하는 편집 결과는 엑셀 문서 외에도, 템플릿, 데이터셋 로드 정보 등을 포함한다. 템플릿은 엑셀 문서의 뷰 영역 시트에 대한 정보를 추출하여 저장한 데이터 구조체이고, 데이터셋 로드 정보는 DB 연결 정보와, 쿼리문 등 데이터베이스에서 데이터셋(기초 데이터셋)을 로드하기 위한 정보이다.In addition, the editing results stored by the extended Excel tool 20 include templates, dataset load information, and the like, in addition to Excel documents. The template is a data structure that extracts and stores information about the view area sheet of an Excel document, and the data set load information is information for loading a data set (basic data set) from the database, such as DB connection information and query statements.

또한, 작성 서버(30)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서(또는 템플릿)을 읽어들여 엑셀 문서에 정의된 내용에 따라 그리드 객체를 생성 또는 수정한다.In addition, when the creation of the Excel document is completed by the extended Excel tool 20, the creation server 30 reads the saved Excel document (or template) and creates or modifies a grid object according to the content defined in the Excel document. .

이때, 작성 서버(30)는 파라미터 영역 시트에 정의된 가공 변수를 읽어들여 가공 변수로 정의하여 설정한다. 즉, 가공 변수를 컨트롤 객체에 이용하도록 선언한다.At this time, the creation server 30 reads the processing variables defined in the parameter area sheet, defines them as processing variables, and sets them. In other words, declare the processing variable to be used in the control object.

또한, 작성 서버(30)는 해당 엑셀 문서의 뷰 영역 시트의 테이블 형태에 따라 그리드 객체의 그리드 형태를 생성/편집하고, 기초 데이터셋을 가져와서 해당 그리드에 반영한다. 특히, 작성 서버(30)는 쿼리문의 가공 변수를 바인딩하여 데이터베이스로부터 데이터셋(기초 데이터셋)을 가져온다.In addition, the creation server 30 creates/edits the grid shape of the grid object according to the table shape of the view area sheet of the corresponding Excel document, imports the basic data set, and reflects it to the corresponding grid. In particular, the creation server 30 binds processing variables of the query statement to bring a data set (basic data set) from the database.

또한, 작성 서버(30)는 컨트롤 객체를 작성하도록 인터페이스를 제공한다. 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다.Also, the creation server 30 provides an interface to create a control object. Control objects include objects for receiving commands or data, such as buttons, combo boxes, check boxes, and input boxes.

작성 서버(30)는 컨트롤 객체를 가공 변수에 매핑시킨다. 컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다. 즉, 작성 서버(30)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지하면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다. 또한, 작성 서버(30)는 쿼리문의 가공 변수를 변수값으로 바인딩하여, 바인딩된 쿼리문으로 데이터베이스에서 데이터셋을 다시 가져와 갱신한다.The creation server 30 maps control objects to processing variables. When a control object is mapped to a processing variable, the input value of the corresponding control object is automatically mapped to the variable value of the corresponding processing variable. That is, when the creation server 30 detects an event in which an input value of a control object is updated (input), all objects are updated by binding the variable value of the mapped processing variable to the updated (input) input value. In addition, the creation server 30 binds the processed variable of the query statement to a variable value, and retrieves the data set from the database again with the bound query statement and updates it.

다음으로, 데이터베이스(40)는 데이터셋을 저장하기 위한 통상의 데이터베이스(DB)로서, 데이터를 관리하기 위한 DBMS(database management system)를 구비하고, 데이터셋의 저장, 삭제, 검색 등의 작업들을 쿼리(또는 쿼리문)를 통해 수행한다. 특히, 데이터베이스(40)는 상용화된 데이터베이스로서, 데이터셋을 처리하기 위한 일반적인 쿼리 기능을 이용하여, 데이터 쿼리 서비스를 수행한다.Next, the database 40 is a normal database (DB) for storing datasets, and is provided with a database management system (DBMS) for managing data, and queries operations such as saving, deleting, and searching of datasets. (or query statement). In particular, the database 40 is a commercialized database and performs a data query service using a general query function for processing a dataset.

특히, 데이터베이스(40)는 빅데이터를 저장하는 데이터베이스이다. 또한, 바람직하게는, 데이터베이스(40)는 관계형 데이터베이스(RDB)로 구성된다.In particular, the database 40 is a database that stores big data. Also preferably, the database 40 is comprised of a relational database (RDB).

또한, 데이터베이스(40)는 작성 서버(30)에 직접 연결된 데이터베이스로 구현될 수도 있고, 인터넷 상에서 독립된 DB 서버로서 구현될 수 있다.In addition, the database 40 may be implemented as a database directly connected to the creation server 30, or may be implemented as an independent DB server on the Internet.

특히, 데이터베이스(40)는 DBMS에 의해 구동되는 하나의 서버로 구현될 수 있다. 즉, 데이터베이스(40)는 하나의 서버로서, 작성 서버(30)의 요청에 따라 요청된 데이터셋을 열람/제공하는 서비스를 제공한다. 따라서 데이터베이스와 DB 서버는 동일한 참조 번호를 사용한다.In particular, the database 40 may be implemented as one server driven by a DBMS. That is, the database 40, as one server, provides a service of viewing/providing a requested data set according to a request of the creation server 30. Therefore, the database and DB server use the same reference number.

다음으로, 본 발명의 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템을 도 2를 참조하여 설명한다.Next, an online report creation system equipped with a query binding function according to the present invention will be described with reference to FIG. 2 .

도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템(30)은 웹 상에서 보고서 화면의 디자인 서비스를 제공하는 화면 편집부(31), 그리드를 편집하는 그리드 편집부(32), 컨트롤 객체를 편집하는 컨트롤 편집부(33), 그리드 및 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하는 보고서 뷰어부(34), 엑셀 문서 또는 템플릿에 따라 그리드 객체의 내용을 표시하는 그리드 표시부(35), 쿼리문을 바인딩하는 제1 쿼리 바인딩부(36), 엑셀 문서의 워크시트를 초기화 하는 워크시트 초기화부(61), 가공변수를 설정하는 가공변수 설정부(62), 데이터셋을 로드하는 데이터셋 로드부(63), 및 편집결과를 저장하는 편집결과 저장부(64), 쿼리문을 작성하는 쿼리문 작성부(65), 쿼리문을 바인딩하는 제2 쿼리 바인딩부(66)로 구성된다. 또한, 필요한 데이터를 저장하기 위한 저장부(38)를 더 포함하여 구성될 수 있다.As shown in FIG. 2, the online report writing system 30 having a query binding function according to an embodiment of the present invention includes a screen editing unit 31 providing a report screen design service on the web, and a grid editing grid. An editing unit 32, a control editing unit 33 that edits control objects, a report viewer unit 34 that displays reports composed of grids and control objects on the web, and a grid display unit that displays the contents of grid objects according to Excel documents or templates. (35), a first query binding unit 36 that binds query statements, a worksheet initialization unit 61 that initializes the worksheet of an Excel document, a processing variable setting unit 62 that sets processing variables, and a data set A dataset loading unit 63 for loading, an editing result storage unit 64 for storing editing results, a query statement creation unit 65 for creating query statements, and a second query binding unit 66 for binding query statements. consists of In addition, it may be configured to further include a storage unit 38 for storing necessary data.

이때, 화면 편집부(31), 그리드 편집부(32), 컨트롤 편집부(33), 보고서 뷰어부(34), 그리드 표시부(35), 제1 쿼리 바인딩부(36)는 작성 서버(30)에서 구비되고, 워크시트 초기화부(61), 가공변수 설정부(62), 데이터셋 로드부(63), 편집결과 저장부(64), 쿼리문 작성부(65), 제2 쿼리 바인딩부(66)는 확장 모듈(60)에서 구비된다.At this time, the screen editing unit 31, the grid editing unit 32, the control editing unit 33, the report viewer unit 34, the grid display unit 35, and the first query binding unit 36 are provided in the creation server 30 , Worksheet initialization unit 61, processing variable setting unit 62, data set loading unit 63, editing result storage unit 64, query statement creation unit 65, and second query binding unit 66 It is provided in the extension module 60.

먼저, 화면 편집부(31)는 웹 상에서 보고서 화면의 디자인 서비스를 제공한다.First, the screen editing unit 31 provides a report screen design service on the web.

웹 상에서의 보고서는, 가공된 데이터셋(가공 데이터셋)을 표시하는 그리드 객체와, 가공 변수와 매핑되어 가공 변수 값을 입력받는 컨트롤 객체로 구성된다.A report on the web is composed of a grid object displaying a processed data set (processed data set) and a control object mapped to a processed variable to receive the value of the processed variable.

도 3에서 보는 바와 같이, 화면 편집부(31)는 위지윅(WYSIWYG) 방식 및 드래그앤드롭(Drag & Drop) 방식으로 그리드 객체 또는 컨트롤 객체를 생성하고, 화면 상에 배치하도록 지원한다.As shown in FIG. 3 , the screen editing unit 31 creates a grid object or a control object using a WYSIWYG method and a drag & drop method, and supports arranging them on the screen.

또한, 화면 편집부(31)는 그리드 객체 또는 컨트롤 객체에 대하여, 그리드 편집부(32) 또는 컨트롤 편집부(33)을 통해, 세부적으로 편집하는 서비스를 제공한다.In addition, the screen editing unit 31 provides a detailed editing service for a grid object or control object through the grid editing unit 32 or the control editing unit 33 .

다음으로, 그리드 편집부(32)는 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서 등에 저장하여 관리하고, 확장된 엑셀 도구(20)에 의한 엑셀 문서의 편집으로 그리드 객체를 편집한다.Next, the grid editing unit 32 edits the grid object, stores and manages information about one grid object in one Excel document, etc., and edits the grid object by editing the Excel document by the extended Excel tool 20. Edit.

즉, 그리드 편집부(32)는 각 그리드 객체에 매핑되는 엑셀 문서 등을 생성 또는 보관한다. 엑셀 문서 등(또는 편집결과 정보)은 엑셀 문서, 템플릿(그리드 템플릿), 데이터셋 로드 정보 등으로 구성된다. 템플릿, 데이터셋 로드 정보 등을 추가 정보라 부르기로 한다.That is, the grid editing unit 32 creates or stores an Excel document or the like mapped to each grid object. Excel documents (or editing result information) are composed of Excel documents, templates (grid templates), and data set load information. Template, data set load information, etc. will be referred to as additional information.

해당 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트 등으로 구성되어, 그리드 객체의 정보를 담은 엑셀 파일이다. 템플릿(또는 그리드 템플릿)은 뷰 영역 시트의 테이블(또는 그리드)의 형태, 서식, 수식 등을 저장하는 데이터 구조체이다. 뷰 영역 시트의 내용을 보다 빠르게 해석하여 이용하기 위한 것이다. 또한, 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.The corresponding Excel document is composed of a view area sheet, data area sheet, parameter area sheet, etc., and is an Excel file containing grid object information. A template (or grid template) is a data structure that stores the form, format, formula, etc. of a table (or grid) in a view area sheet. This is to analyze and use the contents of the view area sheet more quickly. In addition, data set load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

특히, 그리드 편집부(32)는 각 그리드 객체에 대한 편집 요청을 받으면, 해당 그리드 객체에 매핑된(연동된) 엑셀 문서 등이 존재하는지를 판단한다. 존재하면, 해당 엑셀 문서를 열기(open)하면서 확장된 엑셀 도구(20)를 실행시킨다. 존재하지 않으면, 새로운 엑셀 문서를 생성하고, 생성된 엑셀 문서를 열면서 확장된 엑셀 도구(20)를 실행시킨다. 이때, 확장된 엑셀 도구(20) 또는 워크시트 초기화부(61)는 해당 엑셀 문서를 초기화 한다. 특히, 워크시트 초기화부(61)에 의해 초기 워크시트가 생성되고 초기화 된다.In particular, when receiving an editing request for each grid object, the grid editing unit 32 determines whether an Excel document mapped (linked) to the corresponding grid object exists. If present, the extended Excel tool 20 is executed while opening the corresponding Excel document. If it does not exist, a new Excel document is created, and the expanded Excel tool 20 is executed while opening the created Excel document. At this time, the expanded Excel tool 20 or the worksheet initialization unit 61 initializes the corresponding Excel document. In particular, an initial worksheet is created and initialized by the worksheet initialization unit 61 .

또한, 그리드 편집부(32)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서 등(또는 편집결과 정보)을 참조하여 그 내용에 따라 그리드 객체를 갱신한다. 이때, 바람직하게는, 그리드 표시부(35)를 통해, 엑셀 문서 등의 내용에 따라 그리드 객체의 내용을 화면 상에 표시한다.In addition, when the creation of the Excel document is completed by the expanded Excel tool 20, the grid editing unit 32 refers to the stored Excel document (or editing result information) and updates the grid object according to the content. At this time, preferably, the content of the grid object is displayed on the screen through the grid display unit 35 according to the content of the Excel document.

다음으로, 컨트롤 편집부(33)는 컨트롤 객체를 편집하도록 인터페이스를 제공한다.Next, the control editing unit 33 provides an interface to edit the control object.

컨트롤 객체는 버튼, 콤보박스, 도형, 텍스트 박스 등 웹 보고서를 표현하기 위한 객체들이다. 특히, 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다. 이때, 입력되는 명령 또는 데이터를 컨트롤 객체의 입력값이라 부르기로 한다.Control objects are objects used to express web reports, such as buttons, combo boxes, shapes, and text boxes. In particular, control objects include objects for receiving commands or data, such as buttons, combo boxes, check boxes, and input boxes. At this time, the input command or data will be referred to as an input value of the control object.

컨트롤 편집부(33)는 그리드 객체의 엑셀 문서 등으로부터 가공 변수 정보를 읽어들여, 가공 변수를 선언한다(즉, 가공 변수로 정의하여 설정한다). 즉, 그리드 객체의 엑셀 문서에는 파라미터 영역 시트에 가공 변수들이 선언된다. 컨트롤 편집부(33)는 각 그리드 객체의 엑셀 문서에 저장된 가공 변수들을 읽어들여, 해당 가공 변수를 컨트롤 객체에서 사용할 수 있도록 선언한다.The control editing unit 33 reads processing variable information from an Excel document of the grid object and declares processing variables (that is, defines and sets processing variables). That is, in the Excel document of the grid object, processing variables are declared in the parameter area sheet. The control editor 33 reads the processing variables stored in the Excel document of each grid object and declares the processing variables to be used in the control object.

또한, 컨트롤 편집부(33)는 컨트롤 객체를 가공 변수에 매핑시키는 기능을 제공한다. 즉, 사용자는 특정 컨트롤 객체에 특정 가공 변수를 매핑시킬 수 있다. 바람직하게는, 컨트롤 객체를 가공 변수의 이름으로 정의함으로써, 가공 변수와, 컨트롤 객체와 매핑된다.In addition, the control editing unit 33 provides a function of mapping control objects to processing variables. That is, the user can map a specific processing variable to a specific control object. Preferably, by defining the control object as the name of the process variable, the process variable and the control object are mapped.

컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다.When a control object is mapped to a processing variable, the input value of the corresponding control object is automatically mapped to the variable value of the corresponding processing variable.

또한, 보고서 뷰어뷰(34)에 의해, 컨트롤 객체의 입력값이 갱신(입력)되는 것(갱신 이벤트)이 감지되면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체가 갱신된다. 또한, 갱신 이벤트가 감지되면, 보고서 뷰어뷰(34)에 의해, 데이터셋 로드 정보의 쿼리문을 가공변수의 변수값으로 바인딩하여, 바인딩된 쿼리문으로 기초 데이터셋을 다시 가져온다. In addition, when the update (input) of the input value of the control object is detected by the report viewer view 34 (update event), the variable value of the mapped processing variable is bound to the updated (input) input value. All objects are updated. In addition, when an update event is detected, the query statement of the dataset load information is bound to the variable value of the processed variable by the report viewer view 34, and the basic dataset is brought back to the bound query statement.

다음으로, 보고서 뷰어부(34)는 편집된 보고서를 화면 상에 출력한다.Next, the report viewer unit 34 outputs the edited report on the screen.

즉, 보고서 뷰어부(34)는 컨트롤 객체와 그리드 객체의 내용을 화면 상에 출력하고, 컨트롤 객체에서 입력값의 입력 이벤트(갱신 이벤트)가 발생하면 해당 컨트롤 객체에 매핑된 가공 변수의 변수값을 갱신하여 화면 상의 모든 객체를 갱신 출력한다. 특히 매핑된 가공 변수의 변수값으로 쿼리문이 바인딩되고, 바인딩된 쿼리문에 의해 데이터셋도 갱신된다. 즉, 바인딩된 쿼리문으로 데이터베이스로부터 기초 데이터셋을 다시 가져와서 갱신한다.That is, the report viewer unit 34 outputs the contents of the control object and the grid object on the screen, and when an input event (update event) of the input value occurs in the control object, the variable value of the processing variable mapped to the control object It is updated to update all objects on the screen. In particular, the query statement is bound to the variable value of the mapped processing variable, and the dataset is also updated by the bound query statement. That is, the underlying dataset is retrieved from the database with the bound query statement and updated.

구체적으로, 보고서 뷰어부(34)는 각 그리드 객체의 내용을 출력하되, 해당 그리드 객체의 엑셀 문서 등에 정의된 내용을 읽어들여 출력한다. 이때, 보고서 뷰어부(34)는 그리드 표시부(35)를 통해, 엑셀 문서 등(템플릿)의 내용에 따라 그리드의 형태를 편집하고, 해당 그리드에 가공 데이터셋을 반영하여 출력한다.Specifically, the report viewer unit 34 outputs the contents of each grid object, and reads and outputs the contents defined in the Excel document of the corresponding grid object. At this time, the report viewer unit 34 edits the shape of the grid according to the contents of the Excel document or the like (template) through the grid display unit 35, reflects the processed data set on the corresponding grid, and outputs it.

또한, 보고서 뷰어뷰(34)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지한다. 그리고 이벤트가 감지되면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다.In addition, the report viewer view 34 detects an event in which an input value of a control object is updated (input). And when an event is detected, all objects are updated by binding the variable value of the mapped processing variable to the updated (input) input value.

이때, 보고서 뷰어뷰(34)는 제1 쿼리 바인딩부(36)를 통해 쿼리문을 가공 변수의 변수값으로 바인딩 시키고, 바인딩된 쿼리문에 의해 기초 데이터셋을 다시 가져와서 갱신한다.At this time, the report viewer view 34 binds the query statement to the variable value of the processed variable through the first query binding unit 36, and retrieves and updates the basic data set by the bound query statement.

바람직하게는, 보고서 뷰어뷰(34)는 그리드를 표시하는 뷰어를 구비한다. 그리드 뷰어는 웹 형식(HTML 5.0 이상) 또는 캔버스(Canvas) 기반으로 DOM(Document Object Model) 기반의 컴포넌트로 구성된다. 따라서 월등히 빠른 렌더링(Rendering) 속도를 지원한다.Preferably, report viewer view 34 includes a viewer that displays a grid. The grid viewer is composed of DOM (Document Object Model)-based components based on web format (HTML 5.0 or higher) or Canvas. Therefore, it supports extremely fast rendering speed.

도 4는 웹 상에서 보고서를 표시한 것을 예시하고 있다.4 illustrates displaying a report on the web.

다음으로, 제1 쿼리 바인딩부(36)는 컨트롤 객체에 매핑된 가공 변수의 변수값을 해당 컨트롤 객체의 입력값으로 설정하고, 쿼리문에서 해당 가공 변수를 변수값(또는 입력값)으로 바인딩하여 쿼리문(바인딩된 쿼리문)을 생성한다.Next, the first query binding unit 36 sets the variable value of the processing variable mapped to the control object as the input value of the corresponding control object, and binds the processing variable to the variable value (or input value) in the query statement. Generates a query statement (bound query statement).

쿼리문의 바인딩은 이하에서, 제2 쿼리 바인딩부(66)를 설명하면서 보다 구체적으로 설명한다. 제1 쿼리 바인딩부(36)가 쿼리문을 바인딩하는 과정은, 제2 쿼리 바인딩부(66)의 바인딩 과정과 같다.The binding of query statements will be described in more detail while describing the second query binding unit 66 below. A process of binding a query statement by the first query binding unit 36 is the same as a binding process of the second query binding unit 66 .

다음으로, 워크시트 초기화부(61)는 엑셀 문서의 워크시트를 초기화 한다.Next, the worksheet initialization unit 61 initializes the worksheet of the Excel document.

도 5에서 보는 바와 같이, 워크시트 초기화부(61)는 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.As shown in FIG. 5, the worksheet initialization unit 61 creates each worksheet representing a view area (V), a data area (D), and a parameter area (P) in an Excel document.

워크시트 초기화부(61)는 엑셀 도구(20)가 호출되면 실행된다.The worksheet initialization unit 61 is executed when the Excel tool 20 is called.

뷰 영역의 워크시트(이하 뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다. 사용자는 뷰 영역 시트 상에서 테이블 등을 디지인한다. 디자인된 테이블 등은 그리드 객체의 형태로 이용된다. 특히, 사용자는 엑셀 도구(20)의 인터페이스를 이용하여 테이블 등을 디자인한다.The worksheet of the view area (hereinafter referred to as the view area sheet) is a worksheet for designing the display form of a grid or table to be displayed on the screen on the web. The user designs a table or the like on the view area sheet. The designed table is used in the form of a grid object. In particular, the user designs a table or the like using the interface of the Excel tool 20 .

또한, 뷰 영역의 워크시트 상에서 테이블 내의 각 영역 또는 셀은 데이터 영역 시트의 셀 또는 가공 변수의 셀을 참조한다. 즉, 사용자는 엑셀 도구(20) 상에서 엑셀 기능을 활용하여 뷰 영역 시트를 작성한다. 이때, 테이블의 각 셀 또는 영역에는 직접 수치가 입력되거나, 참조되는 다른 셀이 입력된다. 즉, 셀/영역 참조 방식은 직접 셀(영역)의 위치로 입력되거나, 셀 이름으로 입력된다. 가공 변수는 가공 변수의 셀 이름으로 입력된다.In addition, each area or cell in the table on the worksheet in the view area refers to a cell in the data area sheet or a cell in the processing variable. That is, the user creates a view area sheet by utilizing an Excel function on the Excel tool 20 . At this time, a numerical value is directly input into each cell or area of the table, or another cell referred to is input. That is, the cell/region reference method is directly entered as the location of the cell (region) or as the cell name. Processing variables are entered as cell names of processing variables.

또한, 뷰 영역에 표시되는 데이터셋은 기초 데이터셋을 가공한 가공 데이터셋이다.In addition, the data set displayed in the view area is a processed data set obtained by processing the basic data set.

또한, 데이터 영역(D)의 워크시트(이하 데이터 영역 시트)는 쿼리문에 의해 데이터베이스에서 로드하는 데이터셋을 각 셀에서 입력받아 저장하는 워크시트이다. 이때, 데이터베이스에서 로드하는 데이터셋을 기초 데이터셋이라 부르기로 한다.In addition, the worksheet of the data area D (hereinafter referred to as a data area sheet) is a worksheet in which a data set loaded from a database by a query statement is received and stored in each cell. At this time, the data set loaded from the database is referred to as the basic data set.

또한, 파라미터 영역(P)의 워크시트(이하 파라미터 영역 시트)는 데이터셋의 가공 변수를 설정하는 워크시트이다. 가공 변수는 하나의 셀의 이름으로 설정되고, 가공 변수의 변수값은 해당 셀 내의 입력되는 값으로 설정된다.In addition, the worksheet of the parameter area P (hereinafter referred to as parameter area sheet) is a worksheet for setting processing variables of the data set. The processing variable is set as the name of one cell, and the variable value of the processing variable is set as the input value in the cell.

워크시트 초기화부(61)는 파라미터 영역 시트 상에 가공 변수를 정의하는 테이블을 생성한다. 가공 변수 테이블은 각각이 가공 변수를 나타내는 다수의 레코드로 구성된다.The worksheet initialization unit 61 creates a table defining processing variables on a parameter area sheet. The process variable table consists of a number of records each representing a process variable.

각 레코드는 변수명(변수 이름), 변수정의, 초기값, 설명 등 필드로 구성된다. 변수명 필드는 해당 가공 변수의 이름(또는 변수명)을 입력하는 셀이고, 변수정의 필드는 가공 변수의 이름(또는 변수명 필드값)으로 자신의 셀 이름을 설정하는 셀이다. 또한, 초기값 필드와 설명 필드는 각각 가공변수의 초기값이나 설명을 입력하는 셀이다.Each record consists of fields such as variable name (variable name), variable definition, initial value, and description. The variable name field is a cell to input the name (or variable name) of the processing variable, and the variable definition field is a cell to set its own cell name with the name (or variable name field value) of the processing variable. In addition, the initial value field and the description field are cells for inputting the initial value or description of each processing variable.

특히, 변수정의 필드는 자신의 셀 이름이 변수명(가공변수의 이름)으로 설정되므로, 변수정의 필드에 입력되는 셀의 값이 해당 가공 변수의 변수값이 된다.In particular, since the cell name of the variable definition field is set as the variable name (processing variable name), the value of the cell entered in the variable definition field becomes the variable value of the corresponding processing variable.

즉, 사용자는 엑셀 도구(20) 상에서 가공변수의 이름을 셀의 이름 형태로 사용할 수 있다. 예를 들어, 엑셀 도구(20) 상에서 셀의 수식에 가공변수의 이름을 기재하면, 해당 셀 수식에서 가공 변수는 가공 변수의 변수정의 필드(셀)에 설정된 값으로 대체된다. 따라서 엑셀 도구(20) 상에서 해당 가공변수의 이름은 가공 변수와 같이 활용될 수 있다.That is, the user can use the name of the processing variable in the form of a cell name on the Excel tool 20. For example, if the name of a processing variable is written in a cell formula on the Excel tool 20, the processing variable in the corresponding cell formula is replaced with a value set in the variable definition field (cell) of the processing variable. Therefore, the name of the processing variable on the Excel tool 20 can be used as a processing variable.

또한, 가공 변수는 쿼리문의 바인딩 구문에서 변수로 활용될 수 있다. 이때, 가공 변수의 변수값은 해당 가공 변수의 변수정의 필드(셀)에 입력된 값이다.In addition, processing variables can be used as variables in the binding syntax of query statements. At this time, the variable value of the processing variable is a value entered in the variable definition field (cell) of the corresponding processing variable.

한편, 워크시트 초기화부(61)는 이미 저장된 데이터셋 로드 정보가 존재하는 경우, 데이터셋 로드 정보를 활용하여 기초 데이터셋을 다시 가져와서, 데이터 영역 시트의 내용을 갱신한다.On the other hand, the worksheet initialization unit 61 refetches the basic data set by utilizing the data set load information when there is already stored data set load information, and updates the contents of the data area sheet.

이때, 워크시트 초기화부(61)는 쿼리문에 가공 변수에 의해 정의된 경우, 가공 변수의 변수값으로 해당 가공 변수를 바인딩하고, 바인??된 쿼리문으로 데이터베이스에서 데이터셋을 다시 가져와서 기초 데이터셋을 갱신한다.At this time, if the worksheet initialization unit 61 is defined by the processing variable in the query statement, the processing variable is bound to the variable value of the processing variable, and the data set is retrieved from the database with the bound query statement. update the dataset

다음으로, 가공변수 설정부(62)는 파라미터 영역 시트 상에서 가공변수를 설정한다.Next, the processing variable setting unit 62 sets processing parameters on the parameter area sheet.

도 6에서 보는 바와 같이, 가공변수 설정부(62)는 특정 레코드의 변수명 필드에 변수명(변수 이름)이 입력되면, 해당 레코드의 변수정의 필드의 셀 이름을, 입력된 변수명(변수 이름)으로 설정한다.As shown in FIG. 6, when a variable name (variable name) is input in the variable name field of a specific record, the processing variable setting unit 62 converts the cell name of the variable definition field of the record to the input variable name (variable name). ) is set.

한편, 가공 변수의 이름(변수명)은 셀의 이름으로 정의되므로, 해당 셀에 입력되는 셀 값이 해당 가공변수의 변수값이 된다. 즉, 셀 이름이 변수로 활용된다.On the other hand, since the name (variable name) of the processing variable is defined as the name of the cell, the cell value input to the corresponding cell becomes the variable value of the corresponding processing variable. That is, the cell name is used as a variable.

즉, 각 가공변수는 엑셀의 네임(Name) 객체로 관리되고, 해당 네임(Name)의 값은 사용자가 해당 셀에서 입력한 값으로 대체된다. 엑셀의 네임(Name)은 엑셀에서 셀 주소들에 대하여 고유한 이름을 정의하고, 해당 이름을 사용할 수 있다. 그리고 해당 이름은 해당 셀(이름에 대응되는 셀 또는 셀 주소)과 대응되고, 해당 이름은 최종적으로 셀 값으로 대체되어 계산된다.That is, each processing variable is managed as a Name object in Excel, and the value of the corresponding Name is replaced with the value entered by the user in the corresponding cell. Name in Excel defines a unique name for cell addresses in Excel, and you can use that name. Then, the corresponding name corresponds to the corresponding cell (cell or cell address corresponding to the name), and the corresponding name is finally replaced with the cell value and calculated.

예를 들어, 셀 A1의 이름을 "주소"로 정의하고, 셀 A1에 "서울시 종로구 혜화동 90번지"라는 값을 입력하고, B1 셀에서 "=주소"라는 수식을 사용한다. 이때, 수식에서 "주소"는 이름이고, 해당 이름은 해당 셀(대응되는 셀)의 값("서울시 종로구 혜화동 90번지")으로 대체된다. 따라서 셀 B1에는 최종적으로 "서울시 종로구 혜화동 90번지"의 값으로 계산된다.For example, define the name of cell A1 as "address", enter the value "90 Hyehwa-dong, Jongno-gu, Seoul" into cell A1, and use the formula "=address" in cell B1. At this time, "address" in the formula is a name, and the name is replaced with the value of the corresponding cell (corresponding cell) ("90 Hyehwa-dong, Jongno-gu, Seoul"). Therefore, in cell B1, the value of “90 Hyehwa-dong, Jongno-gu, Seoul” is finally calculated.

한편, 가공 변수는 쿼리문에서도 사용되나, 정의된 가공 변수의 이름에 변수 식별자가 붙어 사용된다.On the other hand, processing variables are also used in query statements, but variable identifiers are attached to the names of defined processing variables.

다음으로, 데이터셋 로드부(63)는 쿼리문 작성부(65)를 통해 쿼리문을 작성하고, 제2 쿼리 바인딩부(66)를 통해 쿼리문을 바인딩 하고, 바인딩된 쿼리문에 의해 데이터베이스로부터 기초 데이터셋을 로드하고, 그 로드 정보를 저장하는 서비스를 제공한다. 이때, 바람직하게는, Next, the dataset loading unit 63 creates a query statement through the query statement creation unit 65, binds the query statement through the second query binding unit 66, and retrieves the data from the database by the bound query statement. Provides a service that loads the basic dataset and stores the load information. At this time, preferably,

도 7에서 보는 바와 같이, 데이터셋 로드부(63)는 데이터베이스(40)에 연결하기 위한 키 등 연결 정보를 입력하는 기능 또는 인터페이스를 제공한다. 사용자는 키 등 연결정보를 입력함으로써, 데이터베이스(40)에 접근한다.As shown in FIG. 7 , the dataset loading unit 63 provides a function or interface for inputting connection information such as a key for connecting to the database 40 . The user accesses the database 40 by inputting connection information such as a key.

또한, 데이터셋 로드부(63)는 쿼리문 작성부(65)를 통해, 데이터베이스(40)에서 기초 데이터셋을 참조하는 쿼리문을 작성하는 기능 또는 인터페이스를 제공한다. 또한, 데이터셋 로드부(63)는 제2 쿼리문 바인딩부(66)를 통해, 작성된 쿼리문을 바인딩 한다.In addition, the dataset loading unit 63 provides a function or interface for creating a query statement referring to an underlying dataset in the database 40 through the query statement creation unit 65 . In addition, the dataset loading unit 63 binds the prepared query statement through the second query statement binding unit 66 .

그리고 도 8에서 보는 바와 같이, 데이터셋 로드부(63)는 바인딩된 쿼리문에 의해, 데이터베이스로부터 기초 데이터셋을 로드하여 데이터 영역 시트에 출력한다. 이때, 출력위치는 사전에 정해지거나, 사용자에 의해 설정될 수 있다. 이때, 바람직하게는, 해당 데이터 영역 시트의 첫 행에 데이터셋의 필드명을 출력하고, 그 다음 행부터 데이터셋을 출력한다.And, as shown in FIG. 8 , the dataset loading unit 63 loads the basic dataset from the database using the bound query statement and outputs it to the data area sheet. At this time, the output position may be determined in advance or set by the user. At this time, preferably, the field name of the data set is output on the first row of the corresponding data area sheet, and the data set is output from the next row.

또한, 데이터셋 로드부(63)는 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다. 바람직하게는, 기초 데이터셋을 출력할 위치 주소를 나타내는 출력위치 정보를 더 포함할 수 있다.In addition, the dataset loader 63 stores load information of the basic dataset. Basic dataset load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database. Preferably, output location information indicating a location address to output the basic dataset may be further included.

DB연결 정보는 시스템 내 데이터베이스 연결 정보를 관리하며, DB서버 주소, 해당 정보에 접근할 수 있는 키 값 등을 포함한다. 해당 키를 가지고 내부적으로 데이터 베이스 연결 정보를 추출한다.DB connection information manages database connection information in the system, and includes the DB server address and key values for accessing the information. Database connection information is extracted internally with the corresponding key.

쿼리문은 데이터베이스에서 실행할 통상의 SQL 구문이다.A query statement is a normal SQL statement to be executed in the database.

또한, 출력위치 정보는 쿼리를 실행한 결과를 출력할 위치에 대한 주소 값을 포함한다. 일례로서, "D1$A1"로 표시되고, 이것은 D1 워크시트의 A1 셀부터 출력한다는 의미이다.In addition, the output location information includes an address value for a location to output a query execution result. As an example, it is displayed as "D1$A1", which means to output from cell A1 of the D1 worksheet.

다음으로, 편집결과 저장부(64)는 엑셀 도구(20)가 종료될 때, 워크시트 상에서 작업된 편집 결과를 저장한다. 특히, 편집 결과는 엑셀 문서, 템플릿, 데이터셋 로드 정보 등이다.Next, the editing result storage unit 64 stores editing results performed on the worksheet when the Excel tool 20 is terminated. In particular, the editing results are Excel documents, templates, and data set load information.

엑셀 문서는 엑셀 도구(20)에서 작업한 문서이며, 문서 자체로 저장된다.An Excel document is a document worked in the Excel tool 20, and is saved as a document itself.

앞서 설명한 바와 같이, 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트로 구성된다. 데이터 영역 시트에는 기초 데이터셋이 입력된다. 이때, 사용자는 뷰 영역 시트에서 그리드를 위한 테이블을 편집하는데, 기초 데이터셋을 참조하여 분석된 데이터를 테이블에 표시되도록 편집한다.As described above, an Excel document is composed of a view area sheet, a data area sheet, and a parameter area sheet. In the data area sheet, the basic data set is entered. At this time, the user edits the table for the grid in the view area sheet, and edits the analyzed data to be displayed in the table with reference to the basic data set.

도 9에서 보는 바와 같이, 뷰 영역 시트 내의 테이블에서, 셀은 데이터 영역 시트의 데이터(또는 셀)를 참조한다. 뷰 영역 시트의 셀 C5에는 함수 sumif를 사용한 수식을 가진다. 이때, 함수 sumif의 각 변수 중 일부가 데이터 영역 시트(D1)의 셀 또는 영역을 참조한다.As shown in Fig. 9, in a table in a view area sheet, a cell refers to data (or cells) in a data area sheet. Cell C5 of the view area sheet contains a formula using the function sumif. At this time, some of the variables of the function sumif refer to cells or regions of the data area sheet D1.

사용자는 데이터 영역 시트를 보면서, 데이터베이스에서 가져온 기초 데이터셋의 구조를 명확히 볼 수 있다. 따라서 사용자는 데이터 영역 시트의 데이터를 이용하여, 뷰 영역 시트에서 테이블을 손쉽게 디자인할 수 있다.Viewing the data area sheet, users can clearly see the structure of the underlying dataset pulled from the database. Therefore, the user can easily design a table in the view area sheet by using the data in the data area sheet.

또한, 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.In addition, data set load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

또한, 템플릿(또는 그리드 템플릿)은 엑셀 문서 내의 뷰 영역 시트의 테이블(또는 그리드)의 형태, 서식, 수식 등을 저장하는 데이터 구조체이다. 엑셀 문서의 뷰 영역 시트의 내용을 보다 빠르게 해석하여 이용하기 위한 것이다. 바람직하게는, 템플릿 정보는 JSON(JavaScript Object Notation) 등 표준 스크립트 데이터 형식으로 저장한다.Also, a template (or grid template) is a data structure that stores the form, format, formula, etc. of a table (or grid) of a view area sheet in an Excel document. This is to interpret and use the contents of the view area sheet of the Excel document more quickly. Preferably, the template information is stored in a standard script data format such as JSON (JavaScript Object Notation).

특히, 뷰 영역 시트 상의 테이블의 각 셀은 데이터 영역 시트 상의 기초 데이터셋의 셀을 수식으로 참조한다. 따라서 템플릿 내의 셀 수식 정보에는 데이터 영역 시트 상의 셀(또는 기초 데이터셋, 기초 데이터셋의 데이터)을 참조하는 정보가 포함된다.In particular, each cell of the table on the view area sheet references a cell of the underlying dataset on the data area sheet as a formula. Therefore, the cell formula information in the template includes information referring to cells (or basic data sets or data of basic data sets) on the data area sheet.

한편, 다른 실시예로서, 템플릿을 이용하지 않고 직접 엑셀 문서를 해석하여 구현할 수 있다. 이 경우, 템플릿을 따라 생성하지 않는다.Meanwhile, as another embodiment, it may be implemented by directly interpreting an Excel document without using a template. In this case, it is not created according to the template.

특히, 편집결과 저장부(64)는 엑셀 문서의 뷰영역 시트 상의 테이블로부터 그리드 구조 정보를 추출하여, 템플릿 정보로 저장한다.In particular, the editing result storage unit 64 extracts grid structure information from the table on the view area sheet of the Excel document and stores it as template information.

즉, 뷰 영역 시트 상이 테이블로부터, 각 테이블의 구조, 및, 테이블 또는 각 셀의 속성(서식, 수식 등) 등 그리드 구조 정보를 추출하여 템플릿으로 저장한다. 바람직하게는, 템플릿은 JSON 등 계층 구조를 가지는 형식으로 작성된다. 테이블 구조는 템플릿의 계층 구조로 변환되고, 테이블의 각 셀의 속성은 템플릿의 계층 구조의 리프 노드의 속성으로 변환된다. 각 셀의 속성은 셀 값, 서식, 수식 등으로 구성된다.That is, grid structure information such as the structure of each table and the properties (format, formula, etc.) of each table or cell is extracted from the table on the view area sheet and stored as a template. Preferably, the template is written in a format having a hierarchical structure such as JSON. The table structure is converted into a hierarchical structure of the template, and the attributes of each cell of the table are converted into the attributes of the leaf nodes of the hierarchical template structure. The properties of each cell consist of cell values, formats, and formulas.

도 10은 테이블에 대한 템플릿의 그리드 구조 정보를 예시한 도면이다. 즉, 도 10a는 엑셀 문서의 뷰영역 시트의 피벗 테이블을 예시하고, 도 10b는 도 10a의 피벗 테이블의 템플릿 정보(그리드 구조 정보)를 예시하고 있다. 특히, 템플릿 정보는 JSON(JavaScript Object Notation) 형식으로 저장된다. 즉, 피벗 테이블을 계층 구조로 분해하여, 각 계층의 요소와, 해당 요소의 속성 값들로 구성된다.10 is a diagram illustrating grid structure information of a template for a table. That is, FIG. 10A illustrates a pivot table of a view area sheet of an Excel document, and FIG. 10B illustrates template information (grid structure information) of the pivot table of FIG. 10A. In particular, template information is stored in JSON (JavaScript Object Notation) format. That is, the pivot table is decomposed into a hierarchical structure, and is composed of elements of each hierarchy and attribute values of the elements.

또한, 객체가 테이블인 경우, 해당 테이블의 헤더 행과, 데이터의 1번째 행의 구조 정보만을 템플릿으로 저장한다. 테이블에서 데이터 행의 서식이 교차 행인 경우, 연속된 2개의 데이터 행의 서식(속성)을 모두 저장한다.In addition, if the object is a table, only the structure information of the header row of the corresponding table and the first row of data is stored as a template. If the format of data rows in a table is cross-row, all formats (attributes) of two consecutive data rows are saved.

다음으로, 쿼리문 작성부(65)는 데이터베이스(40)에서 기초 데이터셋을 참조하는 쿼리문을 작성하는 기능 또는 인터페이스를 제공한다.Next, the query statement builder 65 provides a function or interface for creating a query statement referring to the underlying data set in the database 40 .

특히, 도 7과 같이, 쿼리문 작성부(65)는 쿼리문을 텍스트 형태로 직접 작성하거나, 드래그앤드롭 방식의 GUI(그래픽 유저 인터페이스)를 통해 쿼리문을 작성하는 기능을 제공한다. 쿼리문 작성부(65)는 GUI 인터페이스를 통해 쿼리를 작성하더라도, 텍스트 형태의 쿼리문을 생성한다. In particular, as shown in FIG. 7 , the query sentence writer 65 provides a function of directly writing a query sentence in text form or writing a query sentence through a drag-and-drop GUI (Graphic User Interface). The query sentence writer 65 generates a text form query sentence even when a query is created through a GUI interface.

도 11과 같이, 텍스트 형태의 쿼리문은 SELECT ~ FROM ~ WHERE 등의 구문에 의한 통상의 쿼리문으로 구성된다.As shown in FIG. 11, the query statement in text form is composed of a normal query statement by syntax such as SELECT ~ FROM ~ WHERE.

한편, 쿼리문 작성부(65)는 가공 변수를 쿼리 변수로 이용하여 쿼리문을 작성할 수 있다.Meanwhile, the query statement writer 65 may create a query statement by using processed variables as query variables.

쿼리문에서의 쿼리 변수는 변수 식별자, 및, 가공 변수의 이름을 결합하여 구성된다. 즉, 실제로 쿼리 변수는 가공 변수와 매핑되고, 실제로 동일한 변수를 의미한다. 다만, 쿼리 변수와 가공 변수의 표기 형식이 다르다. 즉, 쿼리 변수를 가공 변수의 이름을 포함하여 만들어 쿼리문에서 표기하여 이용하나, 실제로 동일한 변수를 나타낸다. 이하에서 쿼리 변수와 가공 변수의 용어를 혼용한다.A query variable in a query statement is formed by combining a variable identifier and a name of a processing variable. That is, query variables are actually mapped with processing variables, and actually mean the same variables. However, the notation format of query variables and processing variables is different. That is, a query variable is made including the name of a processing variable and used by being marked in the query statement, but actually represents the same variable. In the following, the terms query variable and processing variable are used interchangeably.

바람직하게는, 다음과 같이, 변수 식별자가 쿼리 변수의 접두어로 결합된다.Preferably, variable identifiers are combined into prefixes of query variables, as follows.

[쿼리문의 쿼리 변수][Query variable in query statement]

< 변수 식별자 > + < 가공 변수의 이름 ><variable identifier> + <name of processing variable>

즉, 쿼리 변수는 가공 변수에 변수 식별자를 더하여 매핑되나, 실제로 동일한 변수를 나타낸다.That is, a query variable is mapped by adding a variable identifier to a processed variable, but actually represents the same variable.

또한, 변수 식별자에는 변수의 종류를 나타내는 기호 또는 문자가 포함될 수 있다.In addition, the variable identifier may include symbols or characters indicating the type of variable.

일례로서, 변수 식별자는 ":VS_"로 표시된다. 이때, 콜론(:)과 변수(Variable)의 "V"로 조합하여 식별하고, "S"는 변수의 종류를 나타낸다. 또한, 언더바("_")는 가공 변수의 이름과의 결합을 나타낸다.As an example, variable identifiers are denoted by ":VS_". At this time, it is identified by combining a colon (:) and “V” of Variable, and “S” represents the type of variable. Also, an underscore ("_") represents a combination with the name of a processing variable.

변수의 종류는 도 12에 도시되고 있다.Types of variables are shown in FIG. 12 .

또한, 쿼리문에서 쿼리 변수(가공 변수)를 이용하여 작성한 예가 도 13에 도시되고 있다. 도 13에서 보는 바와 같이, "상품명", "지점명", "매출월", "매출월_TO"는 가공 변수로 설정된 가공 변수의 이름이다. 앞서, 파라미터 시트(P)에서 설정된 가공 변수의 이름들이다.In addition, an example created using query variables (process variables) in the query statement is shown in FIG. 13 . As shown in FIG. 13, "product name", "branch name", "sales month", and "sales month_TO" are names of processing variables set as processing variables. These are the names of processing variables set in the parameter sheet (P) above.

또한, 쿼리문 작성부(65)는 쿼리문에서 쿼리 변수(가공 변수)를 사용할 때, 라인 삭제 기능(이하 동적 라인 삭제 기능)을 구비한다. 이때, 쿼리문의 쿼리 변수에 동적 라인 삭제 기능을 나타내는 기호 또는 문자를 추가하여 구분한다. 일례로서, 동적 라인 삭제 기능은 변수 이름 앞에 "@"를 기입하여 구분한다.In addition, the query statement writer 65 includes a line deletion function (hereinafter, a dynamic line deletion function) when using a query variable (process variable) in a query sentence. At this time, it is distinguished by adding a symbol or character representing the dynamic line deletion function to the query variable of the query statement. As an example, the dynamic line deletion function is distinguished by putting "@" in front of the variable name.

동적 라인 삭제 기능의 쿼리 변수는 가공 변수와는 달리, 라인 삭제의 바인딩 기능을 추가로 가진다.Query variables of the dynamic line deletion function, unlike processing variables, additionally have a binding function of line deletion.

동적 라인 삭제 기능은, 해당 가공 변수의 변수 값이 없거나 빈 값인 경우, 쿼리문에서 해당 라인을 삭제하여 바인딩한다.The dynamic line deletion function deletes and binds the line in the query statement when the variable value of the corresponding processing variable does not exist or is empty.

도 14는 조건절(WHERE)에서 사용하는 동적 라인 삭제 기능의 쿼리 변수를 예시하고 있다. 도 14(a)는 작성된 쿼리문이고, 도 14(b)는 도 14(c)의 변수 값에 바인딩하여 생성된 쿼리문을 나타낸다.14 illustrates query variables of the dynamic line deletion function used in the condition clause (WHERE). FIG. 14(a) is a written query statement, and FIG. 14(b) shows a query statement generated by binding to variable values in FIG. 14(c).

한편, 동적 라인 삭제 기능의 쿼리 변수는 조건에 따라 서로 다른 쿼리문을 수행하는 쿼리문에 대한 조건문을 구현할 수 있다.Meanwhile, query variables of the dynamic line deletion function may implement conditional statements for query statements that execute different query statements according to conditions.

도 15의 예와 같이, 각 팀이 "구매팀"인지 여부에 따라 (a)와 (b)의 쿼리문 2개로 구분된다. 즉, 구매팀이 아닌 다른 팀인 경우 도 15(a)와 같이, 단가와 금액을 표시하지 않는 쿼리문을 실행해야 하고, 구매팀인 경우 도 15(b)와 같이, 단가와 금액을 보여주는 쿼리문을 실행해야 한다.As in the example of FIG. 15, each team is divided into two query statements (a) and (b) according to whether or not it is a "purchase team". That is, in the case of a team other than the purchasing team, a query statement that does not display the unit price and amount must be executed, as shown in FIG. should run

도 16은 종래 방식에 따라 도 15의 2가지 경우의 쿼리문을 작성하는 코드를 예시하고 있다. 즉, 종래 방식은 조건 분기를 위해서는 프로그래밍 작업이 필요하다.16 illustrates codes for creating query statements for the two cases of FIG. 15 according to a conventional method. That is, in the conventional method, programming work is required for conditional branching.

쿼리문 작성부(65)는 동적 라인 삭제 기능의 쿼리 변수를 이용하여 다음 2가지 방식으로 구현할 수 있다.The query statement writer 65 can be implemented in the following two ways using query variables of the dynamic line deletion function.

첫번째 방식은, 조건에 해당하는 쿼리문의 모든 행에, 동적 라인 삭제 기능의 쿼리 변수를 주석문으로 삽입한다. 이를 도 17에 도시하고 있다.In the first method, the query variable of the dynamic line deletion function is inserted as a comment in all rows of the query statement corresponding to the condition. This is shown in Figure 17.

도 17에서 보는 바와 같이, 쿼리 변수 "구매팀(@:VN_구매팀)" 의 변수 값이 없으면, 해당 라인(쿼리 변수가 기재된 라인), 즉, 단가와 금액을 보여주는 해당 라인이 삭제된다. 또한, 쿼리 변수 "다른팀(@:VN_다른팀)"의 변수 값이 존재하면, 해당 쿼리 변수는 변수 값으로 치환되나, 주석문이므로 아무 영향을 주지 않는다. 또한, 해당 라인은 존재하므로, 단가와 금액을 0으로 보여주는 쿼리문이 바인딩 된다.As shown in FIG. 17, if there is no variable value of the query variable “purchasing team (@:VN_purchasing team)”, the corresponding line (the line in which the query variable is written), that is, the corresponding line showing unit price and amount is deleted. In addition, if the variable value of the query variable "Other team (@:VN_Other team)" exists, the query variable is replaced with the variable value, but since it is a comment, it has no effect. Also, since the corresponding line exists, the query statement showing the unit price and amount as 0 is bound.

또한, 도 17의 예에서, 반대로, 쿼리 변수 "구매팀(@:VN_구매팀)" 의 변수 값이 존재하고 쿼리 변수 "다른팀(@:VN_다른팀)"의 변수 값이 없으면, 단가와 금액을 0으로 보여주는 행은 삭제되고 단가와 금액을 보여주는 해당 라인만 존재하여, 단가와 금액을 보여주는 쿼리문으로 바인딩 된다.In addition, in the example of FIG. 17, conversely, if there is a variable value of the query variable "Purchase Team (@: VN_ Purchase Team)" and there is no variable value of the query variable "Other Team (@: VN_ Other Team)", The row showing the unit price and amount as 0 is deleted, and only the corresponding line showing the unit price and amount exists and is bound to the query statement showing the unit price and amount.

다음으로, 2번째 방식은 주석문의 예약어를 사용하는 방식이다. 해당 방식의 일례가 도 18 및 도 19에 도시되고 있다.Next, the second method is a method of using reserved words in comments. An example of this method is shown in FIGS. 18 and 19 .

도 18과 같이, 조건에 따라 수행되는 행들의 전후에 쿼리 변수를 설정한다. 즉, "다른팀"인 경우의 단가와 금액을 0으로 보여주는 행들의 전후에 각각 "다른팀 시작과 종료(@:VN_다른팀_START, @:VN_다른팀_END)"의 쿼리 변수를 작성한다. 그리고, "구매팀"인 경우의 단가와 금액을 보여주는 행들의 전후에 각각 "구매팀 시작과 종료(@:VN_구매팀_START, @:VN_구매팀_END)"의 쿼리 변수를 작성한다.As shown in FIG. 18, query variables are set before and after rows performed according to conditions. That is, the query variables of "Other team start and end (@:VN_Other team_START, @:VN_Other team_END)" before and after the rows showing the unit price and amount as 0 in the case of "Other team" write Then, create query variables of "Purchasing team start and end (@:VN_Purchasing team_START, @:VN_Purchasing team_END)" before and after the rows showing the unit price and amount in the case of "Purchasing team" do.

그리고 도 19a와 같이, 다른팀의 경우, 다른팀의 쿼리 변수들에는 변수 값을 없게 하고(또는 null, 빈칸 등), 구매팀의 쿼리 변수들에는 주석문의 시작 기호와 종료 기호를 변수값으로 각각 입력한다. 그러면, 도 19a의 하단과 같은 쿼리문이 바인딩 된다.And, as shown in FIG. 19a, in the case of other teams, query variables of other teams do not have variable values (or null, blank, etc.), and the query variables of the purchasing team use the start and end symbols of comments as variable values, respectively. Enter Then, the query statement as shown in the lower part of FIG. 19A is bound.

또한, 도 19b와 같이, 구매팀의 경우, 구매팀의 쿼리 변수들에는 변수 값을 없게 하고(또는 null, 빈칸 등), 다른팀의 쿼리 변수들에는 주석문의 시작 기호와 종료 기호를 변수값으로 각각 입력한다. 그러면, 도 19b의 하단과 같은 쿼리문이 바인딩 된다.In addition, as shown in FIG. 19B, in the case of the purchasing team, the query variables of the purchasing team do not have variable values (or null, blank, etc.), and the query variables of the other teams use the start and end symbols of comments as variable values. enter each Then, the query statement as shown at the bottom of FIG. 19B is bound.

한편, 2번째 방식인, 주석문의 예약어를 사용하는 방식은, 동적 라인 삭제 기능의 쿼리 변수를 이용하지 않고, 일반 쿼리 변수를 이용할 수도 있다. 즉, 쿼리 변수를 문자열로 정의하고, 쿼리 변수의 변수값을 넣지 않는 대신, 빈칸 등을 넣어도 가능하다.On the other hand, the second method, a method using a reserved word of a comment, may use a general query variable without using a query variable of the dynamic line deletion function. That is, it is possible to define a query variable as a string, and insert a blank instead of entering the variable value of the query variable.

다음으로, 제2 쿼리문 바인딩부(66)는 작성된 쿼리문을 가공 변수의 변수 값으로 바인딩 한다.Next, the second query statement binding unit 66 binds the prepared query statement to variable values of processing variables.

제2 쿼리문 바인딩부(66)는 작성된 쿼리문에서 변수 식별자를 검출하고, 변수 식별자를 인식하면, 변수 식별자에 연결된 문자열을 가공 변수의 이름으로 인식한다.The second query statement binding unit 66 detects a variable identifier in the written query statement and recognizes a string connected to the variable identifier as a name of a processed variable when recognizing the variable identifier.

다음으로, 제2 쿼리문 바인딩부(66)는 가공 변수의 변수 값을 읽어온다. 가공 변수의 변수 값은 파라미터 시트(P)에 정의된 가공 변수의 이름의 셀의 셀 값으로 매핑한다.Next, the second query statement binding unit 66 reads the variable value of the processed variable. The variable value of the processing variable is mapped to the cell value of the cell of the name of the processing variable defined in the parameter sheet (P).

그리고, 제2 쿼리문 바인딩부(66)는 가공 변수의 변수 값을 쿼리문의 쿼리 변수에 대체 하여, 바인딩 한다. 이때, 쿼리 변수의 변수 종류에 따라 변수 값의 표현 형식이 달라질 수 있다. 즉, 사전에 정해진 변수 값의 포맷에 따라 변수 값을 변환하여 표시한다.Then, the second query statement binding unit 66 replaces the variable value of the processing variable with the query variable of the query statement and binds it. In this case, the expression format of the variable value may vary according to the variable type of the query variable. That is, variable values are converted and displayed according to a format of variable values determined in advance.

또한, 제2 쿼리문 바인딩부(66)는 쿼리 변수에 동적 라인 삭제 기능의 기호가 검출되면, 해당 가공 변수의 값이 없는 경우에는 해당 라인을 삭제한다.In addition, when the symbol of the dynamic line deletion function is detected in the query variable, the second query statement binding unit 66 deletes the corresponding line when there is no value of the processing variable.

다음으로, 그리드 표시부(35)는 엑셀 문서 등을 해석하여 그리드를 생성한다. 즉, 템플릿에 따라 그리드 구조를 생성하고 출력하고, 템플릿의 기초 데이터셋의 로드 정보에 따라 기초 데이터셋을 가져와서 그리드에 가공 데이터셋을 반영하여 출력한다.Next, the grid display unit 35 generates a grid by analyzing an Excel document or the like. That is, a grid structure is created and output according to the template, the basic data set is imported according to the loading information of the basic data set of the template, and the processed data set is reflected on the grid and output.

먼저, 그리드 표시부(35)는 템플릿의 그리드 구조에 따라 그리드의 형태를 생성한다. 앞서 설명한 바와 같이, 템플릿 파일은 JSON 등 표준 스크립트 데이터 형식으로 작성되었으므로, 해당 스크립트 데이터 형식의 파서를 이용하여 해석한다.First, the grid display unit 35 creates a grid shape according to the grid structure of the template. As described above, since the template file is written in a standard script data format such as JSON, it is analyzed using the parser of the script data format.

즉, 피벗 테이블 객체인 경우 해당 객체의 JSON 데이터를 해석하여 피벗 테이블을 복원하고, 일반 테이블 객체인 경우 해당 객체의 JSON 데이터를 해석하여 테이블의 헤더 행과 데이터의 1번째 행(또는 1번째와 2번째 행)을 복원한다. 바람직하게는, 여기서의 그리드는 메모리 상에 적재되는 데이터일 수 있다.That is, in the case of a pivot table object, the pivot table is restored by interpreting the object's JSON data, and in the case of a general table object, the object's JSON data is interpreted to restore the header row of the table and the first row of data (or the first and second rows). row) is restored. Preferably, the grid herein may be data loaded onto memory.

특히, 서버에서 사용자의 요청이 있을 경우, 실시간으로 해석한다. 한편, 템플릿 파일은 엑셀 문서 보다 경량화 되어 있으며, 빠른 속도로 로딩할 수 있다.In particular, if there is a user request in the server, it is interpreted in real time. On the other hand, template files are lighter than Excel documents and can be loaded at high speed.

또한, 그리드 표시부(35)는 로드 정보에 따라, 데이터베이스로부터 기초 데이터를 로드한다. 바람직하게는, 데이터베이스의 최신 조회 결과를 실시간으로 반영한다.Also, the grid display unit 35 loads basic data from the database according to the load information. Preferably, the latest query result of the database is reflected in real time.

그리드 표시부(35)는 로드 정보를 참조하여, DB연결 정보로 데이터베이스에 접속하고, 쿼리문 정보로 쿼리문을 생성하여 요청한다. 즉, DB연결 정보의 키 값 등으로 인증을 받아 데이터베이스에 접근한다. 또한, 바인딩 구문을 이용하여 가공 변수를 반영하여 쿼리문을 생성한다. 이때, 가공 변수의 변수값은 해당 가공 변수에 매핑된 컨트롤 객체의 입력값으로 설정된다.The grid display unit 35 refers to the load information, accesses the database using the DB connection information, and generates and requests a query statement using the query statement information. In other words, access to the database after being authenticated with the key value of the DB connection information. In addition, a query statement is created by reflecting processing variables using a binding statement. At this time, the variable value of the processing variable is set as the input value of the control object mapped to the corresponding processing variable.

바람직하게는, 그리드 표시부(35)는 데이터베이스(DB)에서 조회한 기초 데이터셋을 메모리에 적재한다. 이때, 기초 데이터셋을 행과 열을 가지는 가상 시트 형태로 적재한다. 즉, 워크시트의 행과 열을 기준으로 기초 데이터셋의 데이터를 참조할 수 있도록 적재한다.Preferably, the grid display unit 35 loads the basic data set retrieved from the database (DB) into memory. At this time, the basic dataset is loaded in the form of a virtual sheet having rows and columns. In other words, it is loaded so that the data of the underlying dataset can be referenced based on the rows and columns of the worksheet.

또한, 그리드 표시부(35)는 기초 데이터셋을 그리드의 데이터 영역에 반영하여 삽입한다.In addition, the grid display unit 35 reflects and inserts the basic data set into the data area of the grid.

특히, 데이터셋 및 해당 그리드의 형태가 테이블인 경우, 해당 그리드에서 데이터셋의 레코드(데이터 행)의 수만큼 행을 동적으로 생성한다. 바인딩 위치를 식별한 뒤 레코드 수만큼 행을 동적으로 생성한다.In particular, if the form of the dataset and the corresponding grid is a table, as many rows as the number of records (data rows) of the dataset are dynamically created in the corresponding grid. After identifying the binding location, dynamically create as many rows as the number of records.

또한, 그리드 표시부(35)는 테이블의 셀이 수식인 경우, 해당 수식을 해석하여 연산된 값을 삽입한다. 특히, 셀 수식에서 데이터 영역 시트의 셀을 참조하는 수식이면, 갱신된 기초 데이터셋(또는 메모리에 적재된 기초 데이터셋)을 참조하여 셀 값을 계산한다.In addition, when the cell of the table is a formula, the grid display unit 35 interprets the formula and inserts the calculated value. In particular, if the cell formula refers to a cell of the data area sheet, the cell value is calculated by referring to the updated basic data set (or the basic data set loaded in memory).

특히, 데이터베이스에서 가져온 기초 데이터셋(갱신된 기초 데이터셋)을 가상 시트 형태로 저장하기 때문에, 엑셀 문서 상에서 기재된 데이터 영역 시트의 셀을 참조하는 수식을 그대로 이용할 수 있다. 이때, 데이터 영역 시트의 이름을 가상 시트(메모리 상에 적재된 가상 시트)로 대체하여 해석한다.In particular, since the basic data set (updated basic data set) imported from the database is stored in the form of a virtual sheet, formulas referring to cells of the data area sheet described in the Excel document can be used as they are. At this time, the name of the data area sheet is replaced with a virtual sheet (virtual sheet loaded in memory) and interpreted.

즉, 그리드 표시부(35)는 레코드 증가에 따른 수식을 자동으로 생성한다.That is, the grid display unit 35 automatically generates formulas according to the number of records.

도 20에서 보는 바와 같이, 템플릿에 바인딩 위치를 식별한 뒤 레코드 수만큼 행을 동적으로 생성하고, 이때 헤더와 데이터 영역을 판단하여 데이터 영역에 수식이 존재할 경우 수식은 행의 생성과 함께 자동 생성한다.As shown in FIG. 20, after identifying the binding position in the template, as many rows as the number of records are dynamically created. At this time, if a formula exists in the data area by determining the header and data area, the formula is automatically created along with the row creation. .

수식은 엑셀(Excel)의 절대 주소와 상대 주소를 해석하여 생성되는 행의 주소 기반으로 자동 증/감하여 생성한다. 절대 주소는 변하지 않고 고정된 셀의 주소를 나타낸다. 상대 주소는 기준 셀의 위치와 해당 셀의 위치의 상대 위치에 따라 주소값이 변동된다.The formula is created by automatically increasing/decreasing based on the address of the row created by interpreting the absolute and relative addresses of Excel. An absolute address represents a fixed, unchanging cell address. In the relative address, the address value changes according to the relative position of the position of the reference cell and the position of the corresponding cell.

또한, 도 20과 같이, 그리드 표시부(35)는 교차 행 및 스타일(서식)을 지원한다. 즉, 교차 행의 서식이 다른 경우를 지원한다. 즉, 템플릿에 바인딩 위치를 식별한 뒤 데이터 영역의 스타일(서식)을 새로 생성하는 행에 반영한다. 데이터 영역의 행의 사이즈가 2개일 경우 교차 행의 스타일(서식)을 지원하여 번갈아 가며 스타일(서식)을 반영할 수 있다. Also, as shown in FIG. 20 , the grid display unit 35 supports cross rows and styles (forms). That is, it supports the case where the formats of the cross rows are different. That is, after identifying the binding position in the template, the style (format) of the data area is reflected in the newly created row. When the size of a row in the data area is 2, the style (format) of the cross row can be supported and the style (format) can be reflected alternately.

또한, 그리드 표시부(35)는 그리드 상에서 엑셀(Excel)의 수식을 지원한다. 해당 수식은 템플릿에 정의된다. 수식은 데이터 바인딩 규칙에 따라 새로 생성될 수 있다. 데이터 바인딩은 가공 데이터셋이 표 형태로 출력되는 경우 이 위치의 마지막 주소에 수식이 존재하면 해당 수식을 행별로 자동으로 생성해 주는 것을 의미한다.In addition, the grid display unit 35 supports formulas in Excel on the grid. The expression is defined in the template. Formulas can be newly created according to data binding rules. Data binding means that if a formula exists at the last address of this location when a processed data set is output in the form of a table, the corresponding formula is automatically generated for each row.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, the invention made by the present inventors has been specifically described according to the above embodiments, but the present invention is not limited to the above embodiments, and various changes can be made without departing from the gist of the present invention.

10 : 사용자 단말 20 : 엑셀 도구
30 : 작성 서버 31 : 화면 편집부
32 : 그리드 편집부 33 : 컨트롤 편집부
34 : 보고서 뷰어부 35 : 그리드 표시부
36 : 제1 쿼리 바인딩부 38 : 저장부
60 : 확장모듈 61 : 워크시트 초기화부
62 : 가공변수 설정부 63 : 데이터셋 로드부
64 : 편집결과 저장부 65 : 쿼리문 작성부
64 : 제2 쿼리 바인딩부
80 : 네트워크
10: user terminal 20: excel tool
30: writing server 31: screen editing unit
32: grid editing unit 33: control editing unit
34: report viewer unit 35: grid display unit
36: first query binding unit 38: storage unit
60: extension module 61: worksheet initialization unit
62: processing variable setting unit 63: data set loading unit
64: Editing result storage unit 65: Query statement writing unit
64: second query binding unit
80: network

Claims (7)

작성 서버와 사용자 단말을 포함하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서,
상기 작성 서버는,
웹 상의 보고서 화면에서 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하게 하는 그리드 편집부;
웹 상의 보고서 화면에서 컨트롤 객체를 생성하고 편집하는 컨트롤 편집부;
제1 쿼리 바인딩부;
그리드 객체에 매핑되는 엑셀 문서의 내용에 따라 해당 그리드 객체의 내용을 웹 상에 표시하는 그리드 표시부; 및,
그리드 객체와 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하고,
상기 사용자 단말에 설치되는 엑셀 도구에 설치되는 확장 모듈은,
상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑되는 엑셀 문서를 생성하되, 그리드의 형태를 나타내는 뷰 영역 시트, 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 설정하는 파라미터 영역 시트로 구성되는 엑셀 문서를 생성하는, 워크시트 초기화부;
상기 엑셀 문서의 파라미터 영역 시트 상에서 가공변수를 설정하는, 가공변수 설정부;
상기 워크시트 상의 가공 변수를 쿼리 변수로 매핑하여 쿼리문을 작성하는 쿼리문 작성부;
상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하는 제2 쿼리 바인딩부; 및,
상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하되, 상기 제2 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 로드하는, 데이터셋 로드부를 포함하고,
상기 제1 쿼리 바인딩부는 상기 쿼리문의 쿼리 변수를 가공 변수의 변수 값으로 바인딩 하고,
상기 그리드 표시부는 상기 제1 쿼리 바인딩부를 통해 상기 쿼리문을 바인딩하여, 바인딩된 쿼리문으로 기초 데이터셋을 로드하고, 로드된 기초 데이터셋로부터 가공된 데이터셋으로 그리드 객체의 내용을 표시하고,
상기 컨트롤 편집부는 상기 컨트롤 객체에 상기 가공 변수를 매핑시키고,
상기 제1 쿼리 바인딩부는 변수 값을 상기 가공 변수에 매핑되는 컨트롤 객체의 입력값으로 설정하는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
In the online report creation system using an Excel tool, including a creation server and a user terminal,
The creation server,
A grid editing unit that edits a grid object on a report screen on the web, stores information about one grid object in one Excel document, and edits the grid object through editing of the Excel document by an extended Excel tool;
a control editing unit that creates and edits a control object on a report screen on the web;
a first query binding unit;
a grid display unit displaying the contents of the grid object on the web according to the contents of the Excel document mapped to the grid object; and,
A report viewer unit displaying a report composed of a grid object and a control object on the web and displaying the grid object through the grid display unit;
The extension module installed in the Excel tool installed in the user terminal,
When the Excel tool is called, an Excel document that is mapped to the grid object is created, and an Excel document composed of a view area sheet representing the shape of the grid, a data area sheet for storing basic data sets, and a parameter area sheet for setting processing variables. a worksheet initialization unit that creates a document;
a processing variable setting unit that sets processing variables on a parameter area sheet of the Excel document;
a query statement creation unit that creates a query statement by mapping processing variables on the worksheet to query variables;
a second query binding unit that binds query variables of the query statement to variable values of processed variables; and,
A data set loading unit for loading a basic dataset on a worksheet of the Excel document, binding the query statement through the second query binding unit, and loading the bound query statement;
The first query binding unit binds query variables of the query statement to variable values of processing variables,
The grid display unit binds the query statement through the first query binding unit, loads the basic data set with the bound query statement, and displays the content of the grid object from the loaded basic data set to the processed data set.
The control editing unit maps the processing variable to the control object,
The online report writing system having a query binding function, characterized in that the first query binding unit sets a variable value as an input value of a control object mapped to the processing variable.
제1항에 있어서,
상기 쿼리문에서의 쿼리 변수는 변수 식별자, 및, 가공 변수의 이름을 결합하여 구성되어 표기되고,
상기 제1 또는 제2 쿼리 바인딩부는, 쿼리문에서 변수 식별자를 인식하면, 해당 변수 식별자에 연결된 문자열을 가공 변수로 인식하는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
According to claim 1,
The query variable in the query statement is composed and displayed by combining a variable identifier and a name of a processing variable,
The online report writing system having a query binding function, characterized in that, when the first or second query binding unit recognizes a variable identifier in the query statement, it recognizes a string connected to the variable identifier as a processed variable.
제1항에 있어서,
상기 쿼리문에서 쿼리 변수를 사용할 때, 라인 삭제 기능을 구비하고, 해당 쿼리 변수에 동적 라인 삭제 기능을 나타내는 기호 또는 문자를 추가하여 구분하고,
상기 제1 또는 제2 쿼리 바인딩부는, 쿼리 변수가 라인 삭제 기능을 가지는 경우, 해당 가공 변수의 변수 값이 없거나 빈 값이면, 해당 쿼리문에서 해당 라인을 삭제하여 바인딩하는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
According to claim 1,
When using a query variable in the query statement, a line deletion function is provided, and a symbol or character indicating a dynamic line deletion function is added to the query variable to distinguish it,
The first or second query binding unit, when the query variable has a line deletion function, if the variable value of the corresponding processing variable does not exist or is an empty value, the query binding function characterized in that for binding by deleting the corresponding line from the corresponding query statement Online report writing system with.
제3항에 있어서,
상기 쿼리문에서 조건에 따라 수행되는 행이 다른 경우, 해당 행에 주석문을 삽입하고, 삽입된 주석문에 라인 삭제 기능을 가진 쿼리 변수를 삽입하고, 조건에 따라 쿼리 변수의 변수 값이 빈 값으로 입력하게 하거나 임의의 값을 입력하게 하여, 빈 값이면 해당 행이 삭제되게 하고, 임의의 값이면 해당 행이 수행되도록 제공하는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
According to claim 3,
If the row executed according to the condition in the above query statement is different, a comment statement is inserted in the corresponding row, a query variable having a line deletion function is inserted in the inserted comment statement, and the variable value of the query variable is entered as an empty value according to the condition. An online report creation system having a query binding function, characterized in that by inputting an arbitrary value, the corresponding row is deleted if it is an empty value, and the corresponding row is provided to be executed if it is an arbitrary value.
제1항에 있어서,
상기 가공변수 설정부는 변수정의 셀의 이름을 가공변수의 이름으로 설정하고, 상기 가공 변수는 상기 엑셀 문서 상에서 그리드에 표시할 테이블의 셀 내의 수식에 사용되는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
According to claim 1,
The processing variable setting unit sets the name of the variable definition cell to the name of the processing variable, and the processing variable is used in the formula in the cell of the table to be displayed in the grid on the Excel document. Report writing system.
제5항에 있어서,
상기 뷰 영역 시트 상의 테이블은 상기 데이터 영역 시트 상에 입력된 기초 데이터셋을 참조하되, 상기 뷰 영역 시트 상의 테이블 내의 셀의 수식에서 상기 데이터 영역 시트의 셀을 참조하고,
상기 그리드 표시부는 기초 데이터셋을 데이터베이스에서 가져와서 가상 시트 상에 저장하고, 상기 그리드 객체의 테이블의 각 셀을 수식에 따라 반영할 때, 참조하는 데이터 영역 시트의 셀의 내용 대신, 가상 시트 상의 해당 셀의 내용으로 반영하는 것을 특징으로 하는 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템.
According to claim 5,
A table on the view area sheet refers to an underlying data set entered on the data area sheet, and a formula of a cell in the table on the view area sheet refers to a cell of the data area sheet;
The grid display unit fetches the basic data set from the database and stores it on the virtual sheet, and when each cell of the table of the grid object is reflected according to a formula, instead of the content of the cell of the data area sheet to be referred to, the corresponding data area on the virtual sheet is reflected. An online report creation system having a query binding function, characterized in that the content of the cell is reflected.
삭제delete
KR1020200178176A 2020-12-18 2020-12-18 An online report creation system with query binding function KR102499832B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200178176A KR102499832B1 (en) 2020-12-18 2020-12-18 An online report creation system with query binding function
JP2021093534A JP7216377B2 (en) 2020-12-18 2021-06-03 Online reporting system with query binding capabilities

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200178176A KR102499832B1 (en) 2020-12-18 2020-12-18 An online report creation system with query binding function

Publications (2)

Publication Number Publication Date
KR20220087789A KR20220087789A (en) 2022-06-27
KR102499832B1 true KR102499832B1 (en) 2023-02-15

Family

ID=82165475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200178176A KR102499832B1 (en) 2020-12-18 2020-12-18 An online report creation system with query binding function

Country Status (2)

Country Link
JP (1) JP7216377B2 (en)
KR (1) KR102499832B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951719B1 (en) 2018-07-26 2019-02-25 (주)비아이매트릭스 A web reporting design system with programming event handling by using graphic interface

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100497811B1 (en) 2001-12-27 2005-07-01 삼성에스디에스 주식회사 Reporting system linked with web environment
KR100697155B1 (en) 2004-12-03 2007-03-21 (주)엠투소프트 System and method for forming report using web service
JP5645627B2 (en) * 2010-12-08 2014-12-24 三菱電機株式会社 Data input / output device
US10824802B2 (en) * 2011-12-29 2020-11-03 Bibo Labs, Inc. Spreadsheet-based programming language adapted for report generation
KR20130126012A (en) 2012-05-10 2013-11-20 (주)네오위즈게임즈 Method and apparatusfor providing report of business intelligence
JP2015191258A (en) * 2014-03-27 2015-11-02 富士通株式会社 program, processing method and information processing apparatus
KR101769857B1 (en) * 2015-12-28 2017-08-22 (주)비아이매트릭스 An update system for the database by using spreadsheet interface
KR101769853B1 (en) * 2015-12-28 2017-08-22 (주)비아이매트릭스 A batch update system based on spreadsheet interface for the database by using query templates
KR102034679B1 (en) * 2018-01-17 2019-10-23 (주)비아이매트릭스 A data input/output system using grid interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951719B1 (en) 2018-07-26 2019-02-25 (주)비아이매트릭스 A web reporting design system with programming event handling by using graphic interface

Also Published As

Publication number Publication date
JP7216377B2 (en) 2023-02-01
JP2022097358A (en) 2022-06-30
KR20220087789A (en) 2022-06-27

Similar Documents

Publication Publication Date Title
AU2019246901B2 (en) Graphical user interface that simplifies user creation of custom calculations for data visualizations
US20210334250A1 (en) Construction of database schema models for database systems and rest api&#39;s
US8479093B2 (en) Metamodel-based automatic report generation
US9811604B2 (en) Method and system for defining an extension taxonomy
RU2421797C2 (en) Indication, definition and detection of electronic table document parameters
JP5570608B2 (en) Excel-based analysis report creation system and method
WO2021073077A1 (en) Method, apparatus and device for automatically generating spreadsheet, and storage medium
KR102230729B1 (en) An online task system for an Excel file based on templates
KR20080042852A (en) Markup based extensibility for user interfaces
CN110673848A (en) Enterprise information management system configuration platform based on JavaWeb
CN104881275A (en) Electronic spreadsheet generating method and device
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
KR101951719B1 (en) A web reporting design system with programming event handling by using graphic interface
WO2008107665A2 (en) A graphical user interface for use in integrating programming functions with spreadsheet applications
JP7339628B2 (en) Online report creation system using Excel tools
US7409642B2 (en) Method and system for applying user interface elements to data
CN111752999A (en) Configured report generation system and method
CN106407172A (en) XML (Extensible Markup Language)-based report generating method
KR102499832B1 (en) An online report creation system with query binding function
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
Barresse et al. Excel Tables: A Complete Guide for Creating, Using and Automating Lists and Tables
KR20240105549A (en) Method for supporting front-end development and system thereof
CN115328789A (en) Test case editing method, device, equipment and medium
CN115543288A (en) Code information generation method, device, equipment and storage medium
Leung Visual Studio LightSwitch 2012

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right