KR20060050040A - 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법 - Google Patents

레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법 Download PDF

Info

Publication number
KR20060050040A
KR20060050040A KR1020050062168A KR20050062168A KR20060050040A KR 20060050040 A KR20060050040 A KR 20060050040A KR 1020050062168 A KR1020050062168 A KR 1020050062168A KR 20050062168 A KR20050062168 A KR 20050062168A KR 20060050040 A KR20060050040 A KR 20060050040A
Authority
KR
South Korea
Prior art keywords
report
layout
definition file
demand
interface
Prior art date
Application number
KR1020050062168A
Other languages
English (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 마이크로소프트 코포레이션
Publication of KR20060050040A publication Critical patent/KR20060050040A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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/186Templates

Abstract

지원되는 레포트 레이아웃에 사용가능한 특징이 주문형 레이아웃에 또한 사용가능하도록 하는 주문형 레포트 레이아웃을 지원하는 시스템 및 방법이 설명된다. 주문형 레이아웃 정의는 그것이 레포트 처리 소프트웨어에 인식될 수 있도록 우선 레포트 정의 기준 세트를 충족시켜야 한다. 이러한 주문형 레이아웃 정의를 생성하는 데에 사용될 수 있는 설계 도구가 제공된다. 이후 주문형 레이아웃은 레포트 처리 소프트웨어로 전달된다. 레포트 처리 소프트웨어는 먼저 주문형 레이아웃을 처리하고, 주문형 레이아웃에 초기 처리 단계에서 사용가능한 임의의 특징을 제공한다. 레포팅 소프트웨어는 주문형 레이아웃의 주문형 처리에 인터페이스를 제공할 수 있다. 인터페이스는 주문형 레이아웃 구축자 객체에 액세스할 수 있다. 주문형 레이아웃 구축자 객체는 주문형 레포트 레이아웃을 구축하기 위해 인터페이스를 통해 제공되는 레포트 구축자 컴포넌트를 사용하도록 설계될 수 있다.
레포팅 처리 소프트웨어, 주문형 레포트 레이아웃, 레포트 레이아웃

Description

레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는 시스템 및 방법{SYSTEMS AND METHODS FOR SUPPORTING CUSTOM GRAPHICAL REPRESENTATIONS IN REPORTING SOFTWARE}
도 1a는 본 발명의 시스템 및 방법으로 사용하기에 적합한 예시적인 레포트 처리 소프트웨어의 하이 레벨 뷰를 도시.
도 1b는 레포트 레이아웃 및 질의를 포함하는 레포트 정의 파일의 상세 뷰를 도시.
도 2a는 본 발명의 각종 양상과 함께 사용하기에 적합한 예시적인 컴퓨팅 장치의 기본 특징을 개괄적으로 나타내는 블록도.
도 2b는 본 발명의 각종 양상과 함께 사용하기에 적합한 예시적인 컴퓨팅 장치를 더 상세하게 나타내는 블록도.
도 2c는 본 발명의 컴퓨터화된 프로세스를 포함하여 컴퓨터화된 프로세스가 구현될 수 있는 네트워크화된 컴퓨팅 환경의 예시적인 도면.
도 3은 주문형 레이아웃을 지원할 수 없는 종래 기술의 레포트 처리 소프트웨어의 뷰를 도시.
도 4는 주문형 레이아웃을 지원할 수 있는 레포트 처리 소프트웨어의 각종 양상을 도시하는 도면. 주문형 레이아웃 구축자가 주문형 레이아웃을 작성할 수 있도록 하는 인터페이스(490)가 제공된다.
도 5a는 예시적인 레포트 정의를 그래픽으로 도시하는 도면.
도 5b는 도 5a에 도시된 레포트 정의로부터 생성될 수 있는 예시적인 레포트 레이아웃을 나타내는 도면. 도시된 레이아웃은 테이블로 알려져 있다.
도 6a는 레포팅 소프트웨어에 의해 통상적으로 지원되지만 필수적으로 지원되는 것은 아닌 예시적인 행렬 레포트 레이아웃의 도면.
도 6b는 수평에서 수직 표현으로 동적으로 변경되는 레포트 레이아웃의 도면. 이러한 레이아웃은 레포팅에 유용할 수 있으나 이것은 소정의 레포트 처리 소프트웨어에 의해 지원되지 않을 수도 있다. 임의의 기타 주문형 레이아웃과 함께 이것은 본 발명의 주문형 레이아웃 지원 기술을 이용하여 지원될 수 있다.
도 7은 소정의 레포트 처리 엔진, 예시적인 주문형 레포트 레이아웃 제어, 렌더링 객체 및 인터페이스 외에 이들 각종 컴포넌트간의 예시적인 상호작용과 함께 사용될 수 있도록 주문형 레이아웃이 충족시켜야 하는 정의 기준을 포함하는 본 발명의 각종 양상을 도시하는 도면.
도 8은 객체 지향 소프트웨어 설계에서 일반적으로 사용되고 본 발명의 양상에 따라 사용될 수 있으며 인터페이스를 지니고 있는 예시적인 객체를 나타내는 도면.
도 9는 주문형 레포트 레이아웃 설계 제어에 의해 액세스될 수 있으며 인터페이스를 지니고 있는 설계 도구를 도시하는 도면.
도 10은 본 발명의 각종 인터페이스에 관련하여 설명된 프로세스를 구현하는 데에 사용될 수 있는 예시적인 객체 및 인터페이스를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
410 : 레포트 처리 소프트웨어
411 : 데이터 확장
412 : 렌더링 확장
420, 421 : 데이터 소스
440 : 지원되는 레포트 레이아웃
450 : 주문형 레포트 레이아웃
455 : 설계자
460 : 특징
470 : 지원되는 레이아웃을 위한 레포트 구축자
480 : 레포트 구축 컴포넌트
491, 492 : 주문형 레포트 구축자
<참조 문헌>
본 출원은 2003년 3월 27일에 출원되고 발명의 명칭이 "Defining a report based on data regions and including custom data in a report definition"(대리인 정리 번호 MSFT-1530/302616.1)이고 출원번호가 10/400,734호인 계류중인 미국 출원; 2004년 6월 23일에 출원되고 발명의 명칭이 "Systems and methods for flexible report definitions including table, matrix, and hybrid designs"(대리인 정리 번호 MSFT-3483/307869.01)이고 출원번호가 10/875,832호인 계류중인 미국출원에 관련된 것이다.
본 출원 문서의 개시의 일부는 저작권 보호가 된 구성물을 포함할 수 있다. 저작권 소유자는 특허 문서 또는 특허 개시가 특허 및 상표청 특허 파일 및 기록에 나타나 있기 때문에 그것이 누군가에 의해 팩스로 재현된다는 것에 대해 이의가 없지만, 그렇지 않을 경우는 그것이 무엇이든지 간에 모든 저작권은 보존되어야 한다. 이하의 공지는 이 문서: Copyright ⓒ 2004, Microsoft Corp.에 적용될 것이다.
본 발명은 레포트를 생성하는 것에 관한 것이며, 더욱 구체적으로는 업무용 레포팅 소프트웨어에서 주문형 레포트 정의를 지원하는 기술에 관한 것이다.
어느 기업에서든지, 그 기업의 양상에 대한 데이터가 시간이 흐름에 따라 축적된다. 이 데이터는 기업의 상태를 레포트하는 데에 사용될 수 있다. 예를 들어, 판매 기업에 관해, 영업사원, 고객, 영업사원의 지역, 고객의 지역, 판매량, 판매된 제품의 양, 판매일자, 판매된 제품의 배달일자 등과 같은 제품의 각 판매에 관련된 판매 데이터가 축적될 수 있다. 이러한 판매 데이터에 기초하여, 연별, 월별, 고객별 연별, 제품별 분기별, 영업사원별 배달일자별, 지역별 주별 상세 판매 등과 같은 레포트가 생성될 수 있다.
레포트를 파퓰레이트(populate)하는 데이터는 통상적으로 데이터베이스와 같 은 데이터 소스에 축적된다. 본 명세서에서 사용되는 데이터 소스라는 용어는 데이터를 디지털로 기록하는 스토어하우스(storehouse)이다. 데이터 소스의 데이터를 제대로 구성된 레포트용의 열 및 행으로 필터하기 위해, 레포트 설계자는 레포트 정의에 데이터 소스로부터 원하는 특정 데이터를 지정할 수 있다. 예를 들어, 레포트 설계자는 레포트의 제1 열에 "영업사원 이름"을 원한다는 것을 지정할 수 있다.
그 후 레포트 설계자는 레포트 정의의 제1 열(영업사원 이름)에 대해 표시된 필드를 인식하고, 모든 영업사원 이름에 대해 데이터 소스를 질의하고, 레포트의 제1 열에 모든 영업사원 이름을 하나씩 배치하는 프로그램을 작성한다. 이 태스크를 수행하는 사용자 고유의 프로그램을 작성하는 대신, 레포트 설계자는 이 기능을 제공하는 업무용 레포팅 소프트웨어를 이용할 수 있다. 이러한 소프트웨어를 이용하여 레포트 설계자는 레포트 정의에 자신이 원하는 레포트의 각종 열 및/또는 행의 데이터 유형을 간단히 지정할 수 있다. 이후 업무용 소프트웨어는 자동으로 레포트 정의를 분석하고, 데이터베이스를 질의하고, 레포트에 원하는 데이터를 배치한다.
도 5a 및 도 5b는 레포트 정의 및 대응하는 레포트의 간단한 예제를 제공한다. 도 5a의 예시적인 레포트 설계는 영업사원 열(501), 1990 판매 열(502) 및 총판매 열(503)을 제공한다. 이 예시적인 레포트 설계는 업무용 레포팅 소프트웨어에 적용되어 하나 이상의 데이터 소스로부터 지정된 데이터를 도출하고 도 5b와 같이 레포트용으로 적절히 데이터를 포맷할 수도 있다. 도 5b는 파퓰레이트된 영업 사원 열(501aa), 파퓰레이트된 1990 판매 데이터 열(502aa) 및 파퓰레이트된 총판매 열(503aa)을 도시한다.
레포트 정의의 좀 더 자세한 뷰가 도 1b에 제공된다. 레포트 정의 또는 레포트 정의 파일(140)은 통상적으로 레포트 레이아웃(140a) 및 질의(140b)를 지정한다. 질의(140b)는 레포트를 위해 필요한 데이터를 제공하고, 레이아웃(140a)은 데이터가 레포트에 표현되는 방식을 제공한다. 다시 말해, 레이아웃은 디스플레이 표면상에 레포트의 그래픽 표현을 제공한다. 따라서, 도 5a의 레포트 정의는 레포트 정의(140)의 레이아웃(140a) 및 질의(140b)의 그래픽 표현으로 이해될 수 있다. 세 개의 박스로 나란히 표현되는 것은 세 개의 열이 생성될 수 있는 가상의 레포트 생성 소프트웨어를 나타낸다. 각 박스(501, 502, 503)의 내용은 각 열에 배치될 질의 결과를 제공한다. 따라서 레포트 정의는 그래픽으로 표현될 수 있다. 이것은 또한 레포트의 레이아웃 및 내용을 설명하는 임의의 기타 수단에 의해 표현될 수 있다. 예를 들어, XML(extensible markup language)과 같은 마크 업 언어는 레포트의 각종 레이아웃 속성과 데이터 콘텐츠를 선언하는 데에 사용될 수 있다. 따라서 레포트 정의 파일은 XML 파일일 수 있다.
도 1a는 적절한 데이터로 레포트 정의(100)를 파퓰레이트하는 예시적인 레포트 처리 소프트웨어(110)의 하이 레벨 뷰를 제공한다. 레포트 처리 소프트웨어(110)는 복수의 데이터 소스(120,121) 중 임의의 것에 저장된 데이터를 올바르게 번역하기 위한 복수의 데이터 확장(111)을 포함한다. 레포트 처리 소프트웨어(110)는 또한 많은 수의 렌더링 확장(112)을 포함할 수 있다. 렌더링 확장(112)은 생성된 레포트를 적절한 파일 포맷, 예를 들어 HTML(Hyper-Text Markup Language)(130), XML(Extensible Markup Language)(131), 또는 일부 기타 파일 포맷(132)으로 변환한다. 그 후 포맷된 출력 파일(130, 131, 132)을 판독할 수 있는 프로세스(도시 생략)는 GUI를 통해 그 레포트를 디스플레이할 수 있다. 요약하면, 레포트 정의(100)는 데이터 소스(120, 121)로부터 수집된 데이터를 식별하고 그 데이터를 올바르게 구조화된 레포트로 컴파일하기 위해 레포트 처리 소프트웨어(110)에 의해 사용된다. 소프트웨어(110)는 임의의 파일 포맷(130, 131, 132)으로 레포트를 생성할 수 있다. 이 프로세스는 미국 출원 10/400,734호에 또한 설명되어 있으며, 여기에 참조함으로써 그 전체가 본 명세서에 포함된다.
레포트를 설계하는 자들은 레포트를 구성하고 제공하는 방식이 유연하기를 원한다. 따라서, 최신의 업무용 레포팅 소프트웨어는 통상적으로 각종 레포트 레이아웃을 지원한다. 오늘날 일반적인 주요 레포트 레이아웃 두 가지는 표 및 행렬이다. 표 레이아웃은 도 5b에 도시되어 있고, 예시적인 행렬 레이아웃은 도 6a에 도시되어 있다. 표에서는 빈 코너 셀이 없는 반면, 행렬에서는 주로 레포트의 왼쪽 최상부 영역인 빈 코너 셀을 어떻게 특징짓는지를 유의한다. 레이아웃 둘 다 수평축을 따라 구성된 열 및 수직축을 따라 구성된 행에 의해 특징지어진다.
표 및 행렬 레포트 레이아웃이 일반적이므로 업무용 레포팅 소프트웨어에 의해 일반적으로 지원되지만, 많은 추가의 레이아웃이 종종 요망된다. 도 6b는 지원되지 않을 수 있는 레포트 레이아웃의 한 예를 제공한다. 도 6b의 레포트 레이아웃은 데이터의 수에 따라 수평 레이아웃(660)에서 수직 레이아웃(670)으로 동적으 로 변경된다. 레포트에 대해 단지 네 개의 데이터 엔트리(650, 651, 652, 653)만 있는 경우, 수평 레이아웃(660)이 사용되지만, 네 개 이상의 엔트리(650, 651, 652, 653, 654, 655, 656)가 있는 경우에는 수직 레이아웃(670)이 바람직하다. 워싱턴 주 내 또는 워싱턴 주 주위의 도시 이름을 사용하여, 도 6b의 예시적인 레포트는 다음 둘 중의 하나로 나타내어진다:
적은 양의 데이터:
Seattle Spokane Tacoma Bellevue
많은 양의 데이터:
Seattle
Spokane
Tacoma
Bellevue
Vancouver
Walla Walla
Snohomish
Kennewick
Pasco
Moses Lake
이러한 레이아웃이 요망되는 상황을 상상할 수 있다. 동일하게, 이러한 레포트를 위한 레포트 정의 파일을 상상할 수 있다. 동적 변경 속성을 포함하는, 레포트의 각종 레이아웃 속성 및 각종 레이아웃 속성 내에 배치되는 데이터를 지정할 수 있을 것이다. 불행하게도, 최신의 레포트 처리 소프트웨어는 도 6b의 레이아웃을 지원하지 않으며, 그럴 가능성도 없고, 또한 많은 기타 주문형 레포트 레이아웃을 지원하지 못할 수도 있다. 레포트 처리 소프트웨어가 다양한 레이아웃을 지원할 수 있는 반면, 원하는 레포팅 레이아웃에 대해서는 거의 무한의 가능성이 있다. 업무용 레포팅 소프트웨어는 가능한 한 많은 실질적인 레이아웃을 지원하고자 하지 만, 일부 설정에서는 고객의 요구사항에 아무래도 미치지 못할 것이다.
주문형 레이아웃으로 레포트를 생성하고자 하는 사용자들을 위한 전통적인 해결책은 원하는 레포트를 생성하기 위해 주문형 소프트웨어를 작성하는 것이었다. 말할 것도 없이, 이것은 업무용 레포팅 소프트웨어를 사용하는 것보다 어느 정도 더 고생스러울 수 있다. 레포트 설계자가 종종 자신의 업무용 소프트웨어에 의해 지원되는 하나 이상의 레이아웃으로 그런대로 때우는 것은 주문형 레포트 레이아웃을 생성하는 것에 대한 장벽이다. 따라서, 설계자는 자신의 원하는 레포트에 대해 "차선책"인 레이아웃을 선택할 수 있다. 또는, 레포트 설계자가 원하는 레이아웃을 지원하는 프로그램을 작성하기로 결정한 경우, 설계자는 업무용 레포팅 소프트웨어에 의해 제공되는 많은 부가적인 특징없이 해야만 한다.
도 3은 통상적인 업무용 레포팅 소프트웨어(310)의 더 상세한 뷰를 제공한다. 지원되는 복수의 레포트 레이아웃(340)은 소프트웨어(310)와 함께 사용될 수 있고, 지원되지 않는 많은 레포트 레이아웃(350)은 소프트웨어와 함께 사용될 수 없다. 소프트웨어(310)는 레포트 생성을 용이하게 하는 각종 특징(360)을 포함한다. 특징(360)으로는 예를 들어 컬러, 드릴스루(drillthroughs), 보이기/숨기기(show/hide) 등과 같은 원하는 속성의 삽입을 용이하게 하는 기능이 있다. 최근의 업무용 레포팅 소프트웨어(310)에는 이러한 많은 특징(360)이 사용가능하고, 그 전체 목록은 본 명세서에서 별로 도움이 되지 않는다. 이러한 특징(360)은 주문형 레포트 정의를 지원하는 주문형 소프트웨어를 작성하는 자들에게는 사용가능하지 않다.
통상적인 업무용 레포팅 소프트웨어(310)는 지원되는 각종 레이아웃(340)의 레포트를 구축하는 기본적인 프로세스(370)를 또한 포함할 수 있다. 이들 프로세스(370)는 즉각적으로 사용가능한 레포트 속성을 레포트로의 삽입에 제공하는 레포트 구축 컴포넌트 세트(380)에 그려질 수 있다. 레포트가 통상적으로 GUI로 렌더링되기 때문에, 컴포넌트(380)는 렌더링 확장(312)에 인식될 수 있도록 구성될 수 있다. 예시적인 구축 컴포넌트(380)는 텍스트 박스를 생성하는 프로세스, 이미지를 생성하는 프로세스, 원을 그리는 프로세스, 열을 생성하는 프로세스 등과 같이 레포트를 생성하는 데에 유용한 임의의 것일 수 있다.
업무용 레포팅 소프트웨어 기술의 현재 상태의 견지에서, 업무용 레포팅 소프트웨어의 주문형 레포트 레이아웃에 지원을 제공하는 인식되지 않은 요구가 지금까지 있어왔다.
종래 기술의 상술된 결점을 고려할 때, 본 발명은 레포팅 소프트웨어에서 레포트 및/또는 레포트의 영역의 주문형 그래픽 표현을 지원하는 시스템 및 방법을 제공한다. 본 발명을 사용하여, 지원되는 레포트 레이아웃에 대해 사용가능한 임의의 레포팅 소프트웨어 특징은 주문형 레이아웃에 대해 또한 사용가능할 수 있다. 주문형 레이아웃 정의는 우선 그것이 레포트 처리 소프트웨어에 인식될 수 있도록 레포트 정의 기준 세트를 충족시킨다. 그러한 주문형 레이아웃 정의를 생성하는 데에 사용될 수 있는 설계 도구가 제공된다. 그 후 주문형 레이아웃이 레포팅 소프트웨어로 전달된다. 레포팅 소프트웨어는 먼저 주문형 레이아웃을 처리하고, 주 문형 레이아웃에 초기 처리 단계에서 사용가능한 임의의 특징을 제공한다. 레포팅 소프트웨어는 주문형 레이아웃의 주문형 처리에 인터페이스를 제공할 수 있다. 인터페이스는 주문형 레이아웃 구축자 객체를 액세스할 수 있다. 주문형 레이아웃 구축자 객체는 레포팅 소프트웨어에 의해 제공되는 그래픽 특징을 생성하는 복수의 프로세스를 사용하여 레포트 레이아웃을 생성하도록 설계될 수 있다. 본 발명의 기타 이점 및 특징이 이하에 설명된다.
본 발명에 따라 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는 시스템 및 방법이 첨부된 도면을 참조하여 더 설명된다.
본 발명의 각종 실시예에 대한 철저한 이해를 제공하기 위해 이하의 설명 및 도면에서 일부 특정 상세사항이 설명될 것이다. 그러나 컴퓨팅 및 소프트웨어 기술과 종종 관련하여 공지된 일부 상세사항은 본 발명의 각종 실시예를 불필요하게 애매하게 만드는 것을 피하기 위해 이하의 개시에서 설명되지 않는다. 또한, 당업자들은 이하에 설명된 상세사항 중 한 가지 이상의 상세사항이 없어도 본 발명의 다른 실시예를 실행할 수 있다는 것을 이해할 것이다. 마지막으로, 이하의 개시에서 단계 및 시퀀스(sequence)와 관련하여 각종 방법이 설명되지만, 이러한 설명은 본 발명의 실시예를 명확하게 구현하기 위한 것이고, 단계 및 단계의 시퀀스는 본 발명을 실행하기 위해 필수적인 것으로 간주되어서는 안 된다.
이 상세 설명은 일반적으로 위의 본 발명이 이루고자 하는 기술적 과제에서 소개된 개념을 설명하고 이 개념을 확장한다. 먼저, 본 발명의 일반적인 개요가 도 4 및 도 7을 참조하여 제공된다. 다음, 주문형 레이아웃이 레포팅 소프트웨어와 동작가능하게 하는 주문형 레포트 정의 기준의 양상이 설명된다. 다음, 레포트 처리 소프트웨어에 의해 제공될 수 있는 인터페이스 및 그 인터페이스의 동작과 관련된 각종 지원 프로세스 및 특징이 제공된다. 마지막으로, 본 발명의 일부로서 또한 사용될 수 있는 설계 도구가 설명된다.
이하의 설명에서 일반적으로 주문형 레포트 레이아웃을 레포트의 전체 레이아웃인 것처럼 다루지만, 이것은 설명의 편이를 위한 것이지 필수가 아니라는 것을 이해할 것이다. 주문형 레포트 레이아웃은 전체 레포트 레이아웃 중 단지 하나의 컴포넌트일 수 있다. 사실, 몇몇 독립적인 주문형 레포트 레이아웃이 한 레포트내에서 사용될 수 있고, 표준 레이아웃 컴포넌트와 혼합되어 사용될 수도 있다. 본 명세서에 설명된 주문형 레포트 레이아웃 제어는 레포트 레이아웃의 표준 부분에 대해서는 아무것도 할 것이 없다. 주문형 레포트 레이아웃 제어 각각은 그것이 설계되었던 전체 레포트 레이아웃의 특정 주문형 일부에 대해서만 작용하기만 하면 된다.
개요
도 4는 본 발명의 각종 양상 중 많은 것의 하이 레벨 뷰를 제공한다. 일반적으로, 도 4는 지원되는 레포트 레이아웃 세트(440)(즉, 지원되는 그래픽 특징) 외에 주문형 그래픽 표현(450)(또한 레포트 레이아웃으로 지칭됨)을 지원하는 레포트 처리 소프트웨어(410)를 도시한다. 플랫폼의 생성자와 관련되지 않은 제3 자도 플랫폼 자체를 수정하지 않고 또한 플랫폼 자체의 설계 막후를 알 필요 없이 플랫 폼을 확장하고 플랫폼에 유용성을 추가할 수 있다는 점에서 도 4의 구성은 레포팅에 대해 확장가능한 플랫폼이다. 도 4의 레포트 처리 플랫폼에 의해 제공되는 코어 기능조차 제3 자에 의해 업그레이드되고 향상될 수 있다. 반대로, 도 4의 레포트 처리 플랫폼으로의 업그레이드는 임의의 제3 자 확장을 사용함으로써 사용가능하게 될 수도 있다.
주문형 레포트 레이아웃(450)은 레포팅 소프트웨어(410)에 의해 먼저 처리되기 위해 레포트 정의 기준 세트(미도시)를 충족시키도록 설계될 수 있다. 레포팅 소프트웨어(410)에 의해 제공되는 특징(460) 중 임의의 것은 주문형 레포트에 대해 사용가능하다. 레포팅 소프트웨어(410)는 또한 인터페이스(490)를 갖추고 있다. 인터페이스(490)는 공개되어(published) 주문형 레포트 정의(450)의 생성자에 액세스가능하다. 인터페이스(490)를 이용하여 주문형 레포트 구축자 프로세스(491,492)는 레포트 구축 소프트웨어(410)에 의해 지원되는 레포트 구축 컴포넌트(480)를 이용하여 주문형 레이아웃(450a)에 지정된 레포트를 구축할 수 있다. 설계자(455)는 레포팅 소프트웨어(410)의 레포트 정의 기준을 충족시키는 주문형 레포트 정의(450)의 생성을 도울 수 있다. 각종 실시예에서, 설계자(455)는 주문형 설계 제어(456)로 보완되어 주문형 레이아웃은 또한 주문형 레포트 구축자(491)에 대해 임의의 기준을 충족시킬 수 있다.
도 7은 본 발명의 각종 실시예의 또 다른 하이 레벨 뷰를 제공한다. 도 7은 도 4에 소개된 각종 처리 컴포넌트간의 바람직한 상호작용을 보여준다. 도 7에서, 도 4의 레포트 처리 소프트웨어(410)는 레포트 처리 엔진(700)으로 지칭된다. 도 4의 특징(460) 및 지원되는 레이아웃을 위한 레포트 구축자(470)는 도 7에서 일반적으로 레포트 처리(710)로 지칭된다. 도 4의 레포트 구축 컴포넌트(480)는 도 7의 렌더링 객체 모델(720)로 지칭된다.
도 7은 주문형 및 표준 레포트 레이아웃 정의가 위치할 수 있는 레포트 정의 저장소(750)를 제공한다. 레포트가 생성될 때, 750으로부터의 레포트 정의가 710에 의해 처리될 수 있다. 레포트 정의가 710으로 가는 길에 반드시 통과해야만 하는 정의 기준 박스(755)에 도시된 대로, 레포트 정의는 710에 의해 처리되기에 앞서 정의 기준 세트를 충족시키도록 구성될 수 있다. 배경 기술에서 설명한 대로, 처리(710)는 일반적으로 데이터 저장소(730)로부터 레포트용 데이터를 검색하는 것을 포함한다. 레포트 정의에 지정된 레이아웃으로 데이터를 제대로 포맷하기 위해, 레포트 정의 및 데이터는 렌더링 객체 모델(720)로 전달될 수 있다(710). 지원되는 레포트 레이아웃 정의의 경우, 데이터는 렌더링 객체(720)와 임의의 주문형 레이아웃 제어(760)와의 상호작용 없이 렌더링 객체(720)에 의해 적절한 레이아웃에 배치될 수 있다. 주문형 레이아웃 제어(760)는 일반적으로 도 4의 주문형 레포트 구축자(491,492)에 대응된다.
그러나 주문형 레포트 레이아웃 정의의 경우, 렌더링 객체(720)는 인터페이스(723)를 통해 하나 이상의 주문형 레포트 레이아웃 제어(760)와 통신할 수 있다. 이 제어는 720에서 제공되는 객체를 사용하여 레포트 생성자가 원하는 대로 주문형 레포트를 제대로 생성할 수 있다. 레포트는 임의의 파일 포맷으로 생성될 수 있다. 예를 들어, 레포트는 XML, HTML, 또는 JPEG의 TIFF와 같은 이미지로도 생성될 수 있다. 바람직한 실시예에서, 레포트는 MICROSOFT®에 의해 제공되는 중간 레포트 파일 포맷과 같은 중간 포맷으로 생성되어 개개의 렌더러(renderer)(740)에 의해 요구되는 바에 따라 임의의 적절한 포맷으로 변환될 수 있다. 따라서, 도 7에 도시된 프로세스의 마지막 단계로서, 생성된 레포트는 디스플레이를 위해 렌더러(740)로 전달될 수 있다.
예시적인 레포트 정의 기준
레포트 레이아웃 정의 기준(755)은 레포트 정의가 따라야 하는 임의의 규칙 세트이다. 기준(755)을 따름으로써, 주문형 레포트 정의는 레포트 처리(710)에 의해 처리될 수 있다. 기준(755)은 아주 간단한 것에서부터 아주 복잡한 것에 이른다. 간단한 기준을 제공하는 것은 주문형 레포트 정의 생성을 용이하게 하는 이점이 있지만 처리될 수 있는 주문형 레포트 레이아웃의 유형에 있어 융통성이 좀 떨어진다. 일반적으로 좀 더 복잡한 기준은 사용자들이 배우기에 어려울 수 있지만 좀 더 정교한 주문형 레이아웃을 가능하게 한다.
각종 파일 포맷이 레포트 정의를 포함하기 위해 사용될 수 있고, 레포트 처리(710)에 의해 사용되는 특정 파일 포맷에 따라 기준(755)이 변경될 수 있다. 예를 들어, 레포트 정의는 XML 파일, HTML 파일, 단순 텍스트(.txt) 파일, 또는 디지털 정보를 저장하는 임의의 기타 파일로 저장될 수 있다. 레포트 정의 언어(report definition language:RDL)로 지칭되는 레포트 정의 파일의 양상을 묘사하는 표준 태그 세트는 현재 MICROSOFT®사에서 그 개발을 완료했다. RDL은 본 발명에 사용될 수 있는 훌륭한 후보 파일 유형으로 간주된다.
본 발명의 예시적인 기준은 레포팅 소프트웨어의 설계 능력을 확장한다. 종래 기술에서는 설계자가 표 또는 행렬의 열 넓이 등과 같이 설정되고 지원되는 레이아웃의 속성을 지정하는 반면, 본 발명은 설계자가 레포팅 소프트웨어의 소정의 실시예에서 내재적으로 지원되지 않는 완전히 새로운 레이아웃을 지정할 수 있도록 해 준다. 대부분의 레포팅 소프트웨어가 표 및 행렬을 지원하지만, 표 또는 행렬 레포트 레이아웃 정의를 지원하지 않는 레포팅 소프트웨어를 고려해보자. 이런 경우, 표 및 행렬은 레포팅 소프트웨어의 기능을 확장하는 주문형 레이아웃으로서 제공될 것이다. 이하는 이 섹션에서 설명되는 정의 기준을 사용하는 주문형 레이아웃의 두 가지 예제이다. 제1 예제는 가상의 레포트 처리 소프트웨어에서 사용될 수 있도록 정의 기준을 충분히 만족시키는 주문형 레포트 레이아웃 정의로서 표를 제공한다. 제2 예제는 가상의 레포트 처리 소프트웨어에서 사용될 수 있도록 정의 기준을 충분히 만족시키는 주문형 레포트 레이아웃 정의로서 행렬을 제공한다.
예시적인 주문형 레이아웃 1 : 표
Figure 112005037347058-PAT00001
Figure 112005037347058-PAT00002
예시적인 주문형 레이아웃 2 : 행렬
Figure 112005037347058-PAT00003
Figure 112005037347058-PAT00004
Figure 112005037347058-PAT00005
예시적인 인터페이스 및 지원 프로세스
객체 지향 컴퓨터 프로그래밍 문맥의 인터페이스가 종래 기술에 잘 알려져 있지만, 본 발명은 인터페이스를 색다르게 이용하여 레포트 레이아웃에 대해 전례가 없는 주문형 제어를 가능하도록 한다. 이 섹션에서는 먼저 객체 지향 컴퓨팅 및 인터페이스의 기본 원칙을 설명한다. 그리고 나서 본 발명에 사용될 수 있는 각종 가능한 인터페이스의 특징이 설명된다.
소프트웨어에서 구현될 수 있는 본 발명의 임의의 기타 양상 및 도 7의 구성요소(700, 710, 720, 760 등)는 객체 지향 프로그래밍 기술을 이용하여 통상적으로 생성될 수 있는 소프트웨어의 분리된 유닛(unit)이다. 이러한 예시적인 객체 하나가 도 8에 도시되어 있으며, 이것은 통상적인 COM 객체(800)의 특징을 도시한다. 업계에서 기타 객체 유형이 가능하고 널리 사용될 수 있으므로, 본 명세서에서 설명되는 객체(800)는 도시의 목적을 위해 제한되지 않는 예제로서 의도된다. 800과 같은 객체는 일반적으로 하나 이상의 인터페이스(802, 803, 804)를 지원할 수 있고, 이들 각각은 메소드(805)를 포함할 수 있다. 메소드(805)는 통상적으로 특정 액션을 수행하는 함수 또는 프로시져(procedure)이고, 소프트웨어(예를 들어 다른 객체)에 의해 호출될 수 있다. 이러한 소프트웨어는 그 객체(800)의 클라이언트로 지칭된다. 인터페이스(803)를 구성하는 메소드(805)는 일반적으로 어떤 방식으로든지 서로 관련된다. 일반적으로, 클라이언트는 객체의 인터페이스(802, 803, 804)의 메소드(805)를 호출함으로써 객체(800)에 의해 제공되는 서비스를 액세스할 수 있다. 일반적으로 클라이언트는 객체의 데이터를 액세스할 수 없다. 본 명세서 및 청구항에서 설명되고 하나의 객체에 의해 이루어지는 기능이 서로 인터페이 스하도록 설계된 다수의 객체를 통해 또한 달성될 수 있다는 것을 유의한다.
통상적으로, 객체(800)는 특정 클래스의 인스턴스이다. 예를 들어, 하나의 클래스는 데이터베이스 서버로의 접속을 여는 서비스를 제공하는 객체를 포함하는 반면, 다른 클래스는 파일에 데이터를 기록하는 객체를 포함할 수 있다. 통상적으로, 프로그래머는 그 객체의 인스턴스를 수행하기 전에 객체의 클래스를 알 수 있다. 객체의 클래스는 클래스 라이브러리에서 검색된다(look up). 이러한 라이브러리는 객체의 모든 사용가능한 클래스의 디렉토리에 액세스한다. 클라이언트는 라이브러리의 함수를 호출할 수 있고, 이 함수는 그것이 원하는 객체의 클래스 및 포인터를 원하는 제1의 지원되는 인터페이스를 지정할 수 있다. 그 후 라이브러리는 그 클래스의 객체를 구현하는 서버가 실행을 시작하도록 한다. 라이브러리는 또한 새로이 인스턴스화된 객체상에서 요청된 인터페이스에 대한 포인터를 개시하는 클라이언트에게 다시 전달한다. 그 후 클라이언트는 객체가 지원하는 임의의 기타 인터페이스에 대한 포인터를 그 객체에게 직접 요청할 수 있다.
객체에 의해 지원되는 인터페이스는 일반적으로 객체와 그 클라이언트간의 계약으로서 간주된다. 객체는 인터페이스가 메소드를 정의하는 대로 그 인터페이스의 메소드를 지원하기로 약속하고, 클라이언트는 그 메소드를 올바르게 호출할 것을 약속한다. 따라서, 객체와 클라이언트는 각 인터페이스를 명시적으로 식별하는 방식, 설명하거나 정의하는 일반적인 방식, 인터페이스의 메소드 및 인터페이스를 어떻게 구현하는가에 대한 구체적인 정의에 대해 반드시 합의해야 한다.
따라서, 객체는 자신이 상속하는 인터페이스 매개변수뿐만 아니라 자신이 상 속하는 클래스 매개변수에 의하여 설명될 수 있다. 예를 들어, 객체의 한 클래스가 데이터를 파일에 기록하는 함수를 지니고 있는 경우, 그 클래스를 상속하는 인스턴스는 데이터를 또한 파일에 기록할 수 있을 뿐만 아니라 임의의 추가 특징 및 함수도 인스턴스에 제공된다. 클래스가 특정 인터페이스를 지원하는 경우, 그 클래스의 인스턴스가 그 "계약"을 상속하여 그 인터페이스를 또한 지원한다. 본 발명의 양상이 구현되는 이 객체들은 일반적으로 이 프로그래밍 원칙 및 객체, 클래스 및 인터페이스에 대한 정의의 이해에 따른다. 그러나, 객체 지향 프로그래밍 기술에 수정 및 개선이 계속해서 일어날 수 있고, 본 발명이 특정 유형의 객체 또는 임의의 특정 특징에 제한되지 않는다는 것은 명백하다. 제공되는 인터페이스는 현재 사용되고 있거나 또는 이후에 개발될 임의의 종류의 객체와 관련하여 구현될 수 있다.
도 7에서, 본 발명과 관련하여 사용된 특정 인터페이스(723)는 각종 특징 중 임의의 것을 가질 수 있다. 인터페이스(723)는 일반적으로 주문형 레포트 레이아웃 제어(760) 클라이언트가 레포트 처리 엔진(700) 서버 객체의 특징을 액세스하는 것을 허용한다. 각종 실시예는 레포트 처리 엔진(700)내에 제공되는 렌더링 객체(720)로 더 특정한 액세스를 제공할 수 있다. 인터페이스(723)가 제공할 수 있는 많은 이로운 특징이 있으며, 이러한 특징들 중 다수가 이하에 설명된다. 본 발명은 본 명세서에서 설명되는 임의의 특정 인터페이스 특징의 사용 또는 본 명세서에서 설명되는 인터페이스 특징의 의도된 구현에 제한되지 않는다. 대신, 인터페이스 특징은 본 발명에서 사용되도록 인터페이스의 많은 유용한 잠재적인 양상들을 분류하기 위해 제공된다. 마지막으로, 인터페이스(723)의 사용을 용이하게 하는 본 발명의 각종 양상이 이하에 또한 설명된다.
먼저, 인터페이스(723)는 하나 이상의 주문형 레포트 레이아웃 제어(760)에 의해 액세스되도록 설계될 수 있다. 이러한 액세스를 용이하게 하기 위해, 인터페이스(723)는 공개된 인터페이스(a published interface)일 수 있고, 이것은 주문형 레포트 레이아웃 제어(760)로 하여금 인터페이스(723)를 액세스하도록 허용하는 각종 속성이 일반 대중의 사용을 위해 제공된다는 점에서 그러하다. 인터페이스는 인터넷상에서 공개하거나 또는 소프트웨어 판매시 배포되는 인쇄물로 공개되는 것을 포함하여 다양한 방법으로 공개될 수 있다.
인터페이스(723)는 주문형 제어(760)로부터 등록 정보를 획득하도록 구성될 수 있다. 레포트 처리 엔진(700)은 엔진(700)과 함께 사용되는 주문형 레포트 레이아웃 제어(760)의 등록을 유지하도록 구성될 수 있다. 예를 들어, 처리 제어(760)의 어셈블리 및 클래스는 등록을 위해 획득될 수 있다. 예를 들어 등록 파일은 config 파일일 수 있다. 등록 파일내의 주문형 제어(760) 엔트리는 레포트 정의(750)에 저장되어 있는 주문형 레포트 레이아웃의 이름과 매치할 수 있다. 이런 방식으로, 엔진(700)은 어느 주문형 제어(760)가 특정 주문형 레이아웃과 사용될 것인지를 판정한다. 이하는 등록 파일의 예시적인 엔트리이다:
Figure 112005037347058-PAT00006
본 명세서에서 설명되는 시스템 및 방법에 따라 처리 제어 인터페이스(723)는 복수의 인터페이스를 포함할 수 있고 복수의 객체는 이 인터페이스를 지원할 수 있다. 도 10은 본 발명과 관련하여 사용될 수 있는 상호동작가능한 객체(1050-1055) 및 인터페이스(1060,1061)의 일반적인 뷰를 디스플레이한다. 레포트 처리 엔진(1040)은 임의의 수의 상호동작가능한 객체(1050-1055)를 포함할 수 있다. 또한, 복수의 객체(1050-1055)는 지원 처리를 인터페이스(1060)에 제공할 수 있다. 지원 처리는 이하에 설명되고, 이것은 하나 이상의 구별되고 개별적인 객체들에 의해 수행될 수 있고 또는 더 큰 객체의 서브프로세스로서 수행될 수도 있다. 따라서, 프로세스가 객체로서 이하에 설명될 때, 융통성 있고 가능성이 있는 객체의 구성이 강조되어야 한다.
일반적으로, 인터페이스(723)는 복수의 속성 또는 자신에게 전달될 수 있는 정보를 인식하도록 구성될 수 있다. 이하는 처리 제어 인터페이스(723)로 사용될 수 있는 예시적인 속성들의 목록이다:
주문형 레이아웃 속성 - 이 속성은 정의 기준 섹션에서 상술된 주문형 레포트 레이아웃에 대해 지정된 정보 유형을 포함할 수 있다(예시적인 레이아웃 기준 3 참조). 따라서, 주문형 레이아웃 속성은 표준(렌더링가능한) 레포트 레이아웃으로 변환하기 위해 렌더링 객체(720)에 대해 주문형 레포트 레이아웃의 상세사항을 산출한다.
렌더 레이아웃 속성 - 이 속성은 렌더링 객체(720)가 주문형 레이아웃을 작성하는 데에 사용하는 표준의 렌더링가능한 레포트 레이아웃 속성을 식별할 수 있 다. 이 속성은 처음에는 널(null)이다.
인터페이스(723)는 인터페이스(723)로부터 서비스를 요청하는 데에 사용될 수 있는 복수의 메소드를 포함할 수 있다. 이하는 처리 제어 인터페이스(723)와 사용될 수 있는 예시적인 메소드의 목록이다:
프로세스 메소드 - 프로세스 메소드는 주문형 레포트 레이아웃으로부터 표준 레포트 레이아웃을 생성할 수 있다. 이것은 렌더러(740)로의 배달을 위해 표시된 위치에 생성된 표준 레포트 레이아웃을 저장할 수 있다.
온 클릭 메소드(On click method) - 온 클릭 메소드는 사용자 액션에 대해 이벤트 핸들러를 제공할 수 있다(이하의 이벤트 섹션 참조).
온 더블 클릭(On double click) - 더블 클릭 메소드는 사용자 액션에 대해 또 다른 이벤트 핸들러를 제공할 수 있다(이하의 이벤트 섹션 참조).
온 밸류 체인지(On value change) - 온 밸류 체인지 메소드는 사용자 액션에 대해 또 다른 이벤트 핸들러를 제공할 수 있다(이하의 이벤트 섹션 참조).
온 무브(On move) - 온 무브 메소드는 사용자 액션에 대해 또 다른 이벤트 핸들러를 제공할 수 있다(이하의 이벤트 섹션 참조).
위의 인터페이스 속성 및 메소드는 렌더링 객체(720)의 프로세스에 의해 지원될 수 있다. 이들 프로세스는 확장되어 주문형 레포트 레이아웃에서 사용되는 각종 기준을 인식하고 렌더링 객체(720)를 액세스하는 주문형 제어(760)에 충분한 지원을 제공할 수 있다. 본 명세서에서 설명되는 예시적인 실시예를 계속 알아보기 위해, 이하는 주문형 레이아웃에 제대로 지원을 제공하기 위해 구현될 수 있는 렌더링 객체(720) 확장의 목록을 산출한다.
예시적인 렌더링 객체 확장 1 : 주문형 레포트 레이아웃(custom report layout)
주문형 레포트 레이아웃 객체는 임의의 표준 레포트 레이아웃 객체의 서브클래스일 수 있다. 주문형 레포트 레이아웃 객체는 주문형 레포트 레이아웃을 나타내는 프로세스를 포함할 수 있다. 각종 실시예에서, 이들 프로세스는 이하와 같이 설명되는 속성(본 명세서에서는 임의의 이름이 주어짐)을 인식할 수 있다.
속성 유형 설명
Type String 주문형 레포트 레이아웃의 유형
CustomData CustomData 주문형 레포트 레이아웃에 대한 데이터
RedirectTarget String 사용자가 전달할 URL
AltReportLayout ReportLayout 주문형 레이아웃 유형이 렌더러에 의해 지원되지 않을 경우, 주문형 레포트 레이아웃 대신 렌더링할 레포트 레이아웃
예시적인 렌더링 객체 확장 2 : 주문형 데이터(custom data)
주문형 데이터 객체는 주문형 레포트 레이아웃에 디스플레이되는 임의의 데이터를 나타낸다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
DataColumnGroupings DataGroupingCollection 데이터에 대한 열 그룹핑 세트
DataRowGroupings DataGroupingCollection 데이터에 대한 행 그룹핑 세트
DataCells DataCellCollection 데이터의 상세 "셀" 각각에 포함된 데이터 값
예시적인 렌더링 객체 확장 3 : 데이터 그룹핑 모음(data grouping collection)
데이터 그룹핑 모음 객체는 데이터 그룹핑의 순서화된 목록을 주문형 레이아 웃에 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location DataMemberCollection 지정된 인덱스에서 데이터 그룹핑을 구함
예시적인 렌더링 객체 확장 4 : 데이터 멤버 모음(data member collection)
데이터 멤버 모음 객체는 데이터 멤버의 순서화된 목록을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location DataMember 지정된 인덱스에서 데이터 멤버를 구함
예시적인 렌더링 객체 확장 5 : 데이터 멤버(data member)
데이터 멤버 객체는 주문형 레포트 레이아웃의 데이터내의 그룹 인스턴스를 나타낼 수 있다. 예를 들어, 판매 데이터가 열을 따라 제품 카테고리 및 제품으로 및 행을 따라 주 및 지역으로 그룹핑된 경우, 데이터 열 그룹핑의 각 제품 카테고리에 대해 하나의 데이터 멤버가 있을 수 있고(그 카테고리의 각 제품에 대해 하나의 데이터 멤버를 포함함), 데이터 행 그룹핑의 각 주에 대해 하나의 데이터 멤버가 있을 수 있다(그 주의 각 지역에 대해 하나의 데이터 멤버를 포함함). 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Parent DataMember 부모 데이터 멤버
Children DataGroupingCollection 포함된 행 또는 열로 그룹핑됨
IsTotal Boolean 그룹의 이 인스턴스가 서브토탈 데이터 값을 포함하는지 여부를 나타냄
예시적인 렌더링 객체 확장 6 : 데이터 셀 모음(data cell collection)
데이터 셀 모음 객체는 주문형 데이터의 모든 데이터 셀을 나타낼 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location DataCell 행 그리고 열 순서로 된 2차원의 데이터 셀 배열. DataRowGroupings 트리의 DataMembers 리프 노드 수만큼의 행이 있다. DataColumnGroupings 트리의 DataMembers 리프 노드 수만큼의 열이 있다. 리프 노드 DataMember는 자식이 없는 노드이다.
Count Int32 데이터 셀의 갯수
예시적인 렌더링 객체 확장 7 : 데이터 셀(data cell)
데이터 셀 객체는 주문형 데이터의 단일 셀의 값을 나타낼 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
DataValues DataValueCollection 이 셀에 포함된 값들
예시적인 렌더링 객체 확장 8 : 데이터 값 모음(data value collection)
데이터 값 모음 객체는 주문형 데이터의 한 셀에 데이터 값의 목록을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location DataValue 지정된 인덱스에서 데이터 값을 구함
예시적인 렌더링 객체 확장 9 : 데이터 값(data value)
데이터 값 객체는 데이터 셀 내의 단일 값을 나타낼 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Name String 데이터 값에 대한 식별자
Value Variant 데이터 값
예시적인 렌더링 객체 확장 10 : 레포트
레포트 객체는 레포트에 임의의 추가의 속성을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
CustomProperties CustomPropertyCollection 레포트에 대한 주문형 속성
예시적인 렌더링 객체 확장 11 : 레포트 레이아웃
레포트 레이아웃 객체는 지원되는 레포트 레이아웃에 임의의 추가 속성을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
CustomProperties CustomPropertyCollection 레포트 레이아웃에 대한 주문형 속성
예시적인 렌더링 객체 확장 12 : 그룹
그룹 객체는 그룹에 임의의 추가 속성을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
CustomProperties CustomPropertyCollection 그룹에 대한 주문형 속성
예시적인 렌더링 객체 확장 13 : 주문형 속성 모음(custom property collection)
주문형 속성 모음 객체는 레포트, 레포트 레이아웃 또는 그룹에 주문형 속성의 목록을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout[Int32index] CustomProperty 지정된 인덱스에서 주문형 속성을 구함
예시적인 렌더링 객체 확장 14: 주문형 속성(custom property)
주문형 속성 객체는 레포트, 레포트 레이아웃 또는 그룹에 주문형 속성을 제 공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Name String 속성의 이름
Value Variant 속성의 값
예시적인 렌더링 객체 확장 15: 변경 유형 열거(change type enumeration)
변경 유형 열거 객체는 주문형 레포트 레이아웃에 대해 주문형 레포트 또는 이벤트 핸들러로의 변경의 유형을 정의할 수 있다. 관련 프로세스는 이하의 예시적인 속성들을 인식할 수 있다.
설명
None 렌더 레이아웃 또는 기초가 되는 데이터 소스 둘 다 변경되지 않음
Render 제출 레이아웃이 변경되어 레포트가 다시 렌더링되어야 함
Process 주문형 레포트 레이아웃의 속성이 변경되어 레포트가 다시 처리되어야 함
Data 기초가 되는 데이터 소스의 데이터가 변경되어 레포트의 질의가 다시 실행되어야 함
Redirect 사용자 이벤트가 다른 URL로의 재전달을 야기할 수 있음
예시적인 렌더링 객체 확장 16: 이미지 맵 레이아웃(image map layout)
이미지 맵 레이아웃 객체는 이미지 맵의 영역을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
ID String 이미지 맵 레이아웃의 ID
Points ImageMapPointCollection 이미지 맵 레이아웃에 대한 영역을 정의하는 포인트
예시적인 렌더링 객체 확장 17: 이미지 맵 포인트 모음(image map point collection)
이미지 맵 레이아웃 객체는 이미지 맵 레이아웃 포인트의 목록을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location System.Drawing.PointF 지정된 인덱스에서 포인트를 구함
예시적인 렌더링 객체 확장 18: 드롭다운 값 모음(dropdown value collection)
드롭다운 값 모음 객체는 드롭 다운에 가능한 값의 목록을 제공할 수 있다. 드롭다운은 모음의 이름 및 (유형 객체의) 값 둘 다를 지닌다. 이름은 사용자에게 보여질 수 있고, 값은 이하에 설명되는 값 변경에 대해 결과 값으로서 사용될 수 있다.
예시적인 렌더링 객체 확장 19: 값 모음(value collection)
값 모음 객체는 레포트 레이아웃에 데이터 값의 목록을 제공할 수 있다. 관련 프로세스는 이하의 예시적인 속성을 인식할 수 있다.
속성 유형 설명
Layout index location Object 지정된 인덱스에서 값을 구함
인터페이스(723)에 대해 가능한 속성, 메소드 및 지원 프로세스 확장 등이 상술되었다. 이 인터페이스와 관련될 수 있는 또 다른 속성 세트는 인터페이스(723)에 의해 제공될 수 있는 이벤트이다. 일반적으로 이벤트는 무언가가 발생했다는 것을 객체에게 전달한다. 발생한 것은 무엇이든지 될 수 있다. 그러나 유용한 이벤트 세트가 본 발명의 시스템 및 방법과 관련하여 사용되도록 결정되었다. 본 발명은 본 명세서에 설명되는 임의의 특정 이벤트의 사용 또는 이벤트의 의도된 구현에 제한되지 않는다. 대신, 이하의 이벤트는 본 발명의 전체적인 개시를 위해 합법적인 요구사항에 따르도록 제공된다.
이벤트는 인터페이스(723)상의 이벤트 메소드를 통해 주문형 레포트 레이아 웃 제어(760)로 전달될 수 있다. 임의의 이름이 주어진 이하의 이벤트들이 전달될 수 있다:
OnClick - 버튼 클릭, 이미지 맵용으로 사용될 수 있는 이벤트. OnClick 이벤트는 사용자가 click 이벤트를 수신하도록 표시된 레포트 레이아웃을 클릭할 때 호출될 수 있다. 이러한 이벤트에 응답하여, 주문형 레포트 레이아웃 제어(760)는 클릭에 기초하여 렌더링되도록 수정되거나 (필요한 경우) 새 렌더 레이아웃을 생성할 수 있다. 이 이벤트가 제공될 수 있는 예시적인 인수는 이하와 같다:
인수 I/O 유형 설명
ReportLayout In ReportLayout 클릭된 레포트 레이아웃. 렌더러가 내재적으로 주문형 레포트 레이아웃을 지원하는 경우, 이것은 주문형 레포트 레이아웃 자체가 된다.
XPosition In Integer 레포트 레이아웃 내에서의 클릭의 X 좌표(%)
YPosition In Integer 레포트 레이아웃 내에서의 클릭의 Y 좌표(%)
ImageMapID In String 클릭된 이미지 맵 영역의 ID (만약 있을 경우). 제공된 이미지 맵이 없거나 또는 정의된 영역 밖에서 클릭된 경우는 빈 문자열이 된다.
Button In MouseButton 어느 마우스 버튼이 클릭되었는지를 나타낸다.
Return Out ChangeType 렌더 레이아웃 또는 기초가 되는 데이터가 변경되었는지 여부를 나타낸다.
OnDoubleClick - 버튼 클릭, 이미지 맵용으로 사용될 수 있는 이벤트. OnDoubleClick 이벤트는 click 이벤트를 수신하도록 표시된 레포트 레이아웃상에서 사용자가 더블 클릭할 때 호출될 수 있다. 주문형 레포트 레이아웃 제어(760)는 더블 클릭에 기초하여 렌더링되도록 수정되거나 (필요한 경우) 새 렌더 레이아웃을 생성하도록 구성될 수 있다. 이 이벤트가 제공될 수 있는 예시적인 인수는 이하와 같다:
인수 I/O 유형 설명
ReportLayout In ReportLayout 클릭된 레포트 레이아웃. 렌더러가 내재적으로 주문형 레포트 레이아웃을 지원하는 경우, 이것은 주문형 레포트 레이아웃 자체가 된다.
XPosition In Integer 레포트 레이아웃 내에서의 클릭의 X 좌표(%)
YPosition In Integer 레포트 레이아웃 내에서의 클릭의 Y 좌표(%)
ImageMapID In String 클릭된 이미지 맵 영역의 ID (만약 있을 경우). 제공된 이미지 맵이 없거나 또는 정의된 영역 밖에서 클릭된 경우는 빈 문자열이 된다.
Button In MouseButton 어느 마우스 버튼이 클릭되었는지를 나타낸다.
Return Out ChangeType 렌더 레이아웃 또는 기초가 되는 데이터가 변경되었는지 여부를 나타낸다.
OnValueChange - 후기입(writeback), 드롭다운 선택용으로 사용될 수 있는 이벤트. OnValueChange 이벤트는 사용자가 레포트 레이아웃의 값을 수정할 때 (예를 들어 텍스트박스를 편집하거나 드롭다운에서 값을 선택할 때) 호출된다. 주문형 레포트 레이아웃 제어는 변경된 값에 기초하여 렌더링되도록 수정되거나 (필요한 경우) 새 렌더 레이아웃을 생성한다. 이 이벤트가 제공될 수 있는 예시적인 인 수는 이하와 같다:
인수 I/O 유형 설명
ReportLayout In ReportLayout 변경된 값이 있는 레포트 레이아웃
NewValues In ValueCollection 레포트 레이아웃에 대한 새로운 값
Return Out ChangeType 렌더 레이아웃 또는 기초가 되는 데이터가 변경되었는지 여부를 나타낸다.
OnMove - 표의 열 재정렬, 행렬의 재피봇(repivot)용으로 사용될 수 있는 이벤트. OnMove 이벤트는 사용자가 드래그 가능한 레포트 레이아웃을 유효 드롭 대상(a valid drop target)인 또 다른 레포트 레이아웃으로 드래그할 때 호출될 수 있다. 주문형 레포트 레이아웃 제어(760)는 드래그/드롭에 기초하여 렌더링되도록 수정되거나 (필요한 경우) 새 렌더 레이아웃을 생성하도록 구성될 수 있다. 이 이벤트가 제공될 수 있는 예시적인 인수는 이하와 같다:
인수 I/O 유형 설명
ReportLayout In ReportLayout 이동된 레포트 레이아웃
Target In ReportLayout 드래그된 레포트 레이아웃이 드롭된 레포트 레이아웃
XPosition In Integer 레포트 레이아웃이 드롭된 대상에서의 X 좌표(%)
YPosition In Integer 레포트 레이아웃이 드롭된 대상에서의 Y 좌표(%)
Return Out ChangeType 렌더 레이아웃 또는 기초가 되는 데이터가 변경되었는지 여부를 나타낸다.
렌더링 객체(720)의 레포트 레이아웃 속성은 어느 레포트 레이아웃이 어느 이벤트에 응답하는지를 제어하는 데에 사용될 수 있다. 예를 들어, 이하의 예시적인 레포트 레이아웃 속성이 사용될 수 있다:
속성 유형 설명
CanClick Boolean 레포트 레이아웃이 클릭 이벤트에 응답하는지 여부를 나타낸다.
ImageMap ImageMapLayoutCollection 클릭 이벤트에 영역을 제공하는 선택 가능한 이미지 맵. 이미지 레포트 레이아웃에만 적용된다.
CanEdit Boolean 레포트 레이아웃이 edit 이벤트에 응답하는지 여부를 나타낸다. 텍스트박스에만 적용된다.
CanDrag Boolean 레포트 레이아웃이 드래그될 수 있는지를 나타낸다.
DropTarget Boolean 레포트 레이아웃이 드래그된 레이아웃에 대해 유효 드롭 대상인지를 나타낸다.
이하는 어느 마우스 버튼이 클릭되었는지를 나타내기 위해 이벤트와 함께 사용될 수 있는 예시적인 마우스 버튼 열거이다. 이 예제에서, 동시에 클릭하는 경우 열거에서 가장 먼저 일치하는 레이아웃이 발생된다.
설명
Left 왼쪽 마우스 버튼이 클릭되었음
Center 중간 마우스 버튼이 클릭되었음
Right 오른쪽 마우스 버튼이 클릭되었음
예시적인 설계 도구
본 발명을 이용하면, 지원되는 레포트 레이아웃에 대해 사용가능한 임의의 레포팅 소프트웨어 특징이 주문형 레이아웃에 대해 또한 사용가능하게 된다. 상술된 대로, 주문형 레이아웃 정의는 그것이 레포트 처리 소프트웨어에 인식될 수 있도록 하기 위해 먼저 레포트 정의 기준 세트를 충족시킨다. 이러한 주문형 레이아웃 정의를 생성하는 데에 사용될 수 있는 설계 도구가 제공된다. 이러한 설계 도구는 레포트 처리 소프트웨어에 대해 정의 기준을 충족시키는 주문형 레포트 정의를 생성하는 데에 도움을 주는 임의의 도구이다. 설계 도구의 각종 이로운 특징들 이 본 명세서에서 설명된다. 본 발명은 이들 특징에 제한되지 않는다.
도 4는 본 발명의 각종 다른 양상들에 관한 설계 도구(455)를 도시하고 있다. 설계 도구(455)내의 박스는 주문형 레포트 레이아웃 설계 제어(456)를 나타낸다. 이 주문형 설계 제어는 주문형 레포트 구축자(492)와 함께 구현될 수 있다. 주문형 제어(456)는 주문형 레포트 구축자(492)에 의해 강요되는 임의의 추가의 기준을 충족시키는 주문형 레이아웃 정의를 설계하는 것을 도울 수 있다. 따라서, 제1 기준 세트는 설계 도구(455)에 내재적으로 지원되고, 레포트 처리 소프트웨어(410)의 요구사항을 충족시키는 주문형 레이아웃의 설계를 돕는다. 제2 기준 세트가 주문형 설계 제어(456)에 의해 추가로 지원되고, 주문형 레포트 구축자(492)의 요구사항을 충족시키는 주문형 레이아웃의 설계를 돕는다.
설계자(455)는 주문형 설계 제어(456)에 관한 유용한 정보를 유지하기 위해 등록 파일을 보유할 수 있다. 이 등록 정보는 주문형 설계 제어(456)에 대한 어셈블리 및 클래스 정보를 획득하는 데에 사용될 수 있다. 이하는 등록 파일의 예시적인 엔트리이다:
Figure 112005037347058-PAT00007
설계 도구(955)가 주문형 설계 제어(956, 957, 958)를 허용하도록 구성되는 구현에서, 주문형 설계 제어(956, 957, 958)가 설계 도구(955)의 함수를 액세스할 수 있도록 인터페이스가 제공될 수 있다. 설계 도구의 이러한 실시예가 도 9에 도시되어 있다. 이하는 이러한 인터페이스(960)의 예시적인 특징이다: 인터페이스는 툴박스 아이콘을 제공하기 위해 주문형 레포트 레이아웃 설계 제어(956, 957, 958)를 필요로 할 수 있다. 인터페이스는 직렬화/비직렬화(serialize/deserialize) 메소드를 지원하기 위해 주문형 레포트 레이아웃 설계 제어(956, 957, 958)를 필요로 할 수 있다. 인터페이스는 주문형 레포트 레이아웃 설계 제어(956, 957, 958)에 레이아웃 정보를 기록하는 장치 문맥을 제공할 수 있다. 이것은 차트 드롭 영역(chart drop area) 및 표 행/열 선택 바(table row/column selection bars)와 같은 것을 지원하기 위해 활성화될 때 제어(956, 957, 958)가 더 큰 드로잉/이벤트 영역을 요청하는 기능을 포함할 수 있다. 인터페이스는 모든 UI 이벤트를 주문형 레포트 레이아웃 설계 제어(956, 957, 958)로 전달하기 위해 설계 도구(455)를 필요로 할 수 있다. 이것은 주문형 제어내에 내포된 표준(및 주문형) 제어에 대한 드래그/드롭 이벤트를 포함할 수 있다. 인터페이스는 설계자 툴바로부터의 이벤트(예를 들어 포맷팅)를 수락하기 위해 주문형 레포트 레이아웃 설계 제어(956, 957, 958)가 등록하는 것을 허용할 수 있다. 인터페이스는 주문형 레포트 레이아웃 설계 제어(956, 957, 958)가 문맥 메뉴 레이아웃을 등록하는 것을 허용할 수 있다. 인터페이스는 제어가 선택될 때 속성 브라우저의 이들 속성이 편집될 수 있도록 하기 위해 주문형 레포트 레이아웃 설계 제어(956, 957, 958)가 속성(예를 들어 이름, 유형, 설명, 유효 값 목록)을 등록하는 것을 허용할 수 있다.
예시적인 컴퓨팅 및 네트워크 환경
도 2a를 참조하여, 본 발명의 시스템 및 방법과 관련하여 사용하기에 적합한 예시적인 컴퓨팅 장치(200)를 개괄적으로 설명한다. 가장 기본적인 구성에서, 장치(200)는 통상적으로 처리 장치(202)와 메모리(203)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라, 메모리(203)는 휘발성(RAM과 같이)일 수 있고, 비휘발성(ROM, 플래시 메모리와 같이) 또는 그 둘의 일부 조합일 수 있다. 또한, 장치(200)는 자기 또는 광 디스크 또는 테이프와 같은 대용량 기억 장치(이동식(204) 및/또는 이동불가식(205))를 지닐 수도 있다. 동일하게, 장치(200)는 또한 키보드 및 마우스 및/또는 컴퓨팅 장치(200)의 기능을 액세스하는 그래픽 보조 기구로서의 GUI를 제공하는 디스플레이와 같은 출력 장치(206)를 지닐 수도 있다. 장치(200)의 기타 양상으로는 유선 또는 무선 매체 둘 중 하나를 사용하는, 다른 장치, 컴퓨터, 네트워크, 서버 등으로의 통신 접속(208)이 있다. 이들 모든 장치들은 종래 기술에 잘 알려져 있으므로 본 명세서에서 상세히 논의될 필요는 없다.
도 2b는 도 2a의 적합한 컴퓨팅 장치 및 주변 장치 시스템의 어느 정도 좀 더 상세한 예제를 도시하고 있다. 컴퓨팅 시스템 환경(220)은 단지 적합한 컴퓨팅 환경의 한가지 일례이며, 본 발명의 사용 범위 또는 기능에 관해 어떠한 제한을 제안하고자 하는 것이 아니다. 컴퓨팅 환경(220)이 예시적인 운영 환경(220)에서 도시된 임의의 하나의 컴포넌트 또는 컴포넌트들의 조합에 관해 임의의 종속성 또는 요구사항을 가지는 것으로 해석되어져서는 안 된다.
본 발명은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 본 발명과 함께 사용하기에 적합하고 잘 알려진 컴퓨팅 시 스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 소비자 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템이나 장치 등의 임의의 것을 포함하는 분산 컴퓨팅 환경이 있지만 이에 제한되는 것은 아니다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 문맥으로 구현될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하고 또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다.
도 2b와 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(241)의 형태인 범용 컴퓨팅 장치를 포함한다. 컴퓨터(241)의 컴포넌트는 처리 장치(259), 시스템 메모리(222) 및 시스템 메모리를 포함하는 각종 시스템 컴포넌트를 처리 장치(259)에 결합하는 시스템 버스(221)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(221)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예제로서, 이러한 구조는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(241)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(241)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 이동불가식 매체를 포함한다. 예제로서, 컴퓨터 판독가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 기억 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 모든 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 이동불가식 매체를 포함한다. 컴퓨터 기억 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 기억장치, 자기 카세트, 자기 테이프, 자기 디스크 기억장치 또는 기타 자기 기억장치, 또는 컴퓨터(241)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에서 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호내의 정보가 암호화되도록 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예제로서, 통신 매체는 유선 네트워크 또는 다이렉트 유선 접속과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만 이에 제한되는 것은 아니다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되어야 한다.
시스템 메모리(222)는 판독 전용 메모리(ROM)(223) 및 랜덤 액세스 메모리(RAM)(260)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 기억 매체를 포함한다. 시동 시 컴퓨터(241) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(224)은 통상적으로 ROM(223)에 저장되어 있다. RAM(260)은 통상적으로 즉시 액세스 가능하고 및/또는 현재 처리 장치(259)에 의해 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예제로서, 도 2b는 운영 체제(225), 애플리케이션 프로그램(226), 기타 프로그램 모듈(227) 및 프로그램 데이터(228)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(241)는 또한 기타 이동식/이동불가식, 휘발성/비휘발성 컴퓨터 기억매체를 포함한다. 단지 예제로서, 도 2b는 이동불가식, 비휘발성 자기 매체로의 기록 또는 그로부터의 판독을 위한 하드 디스크 드라이브(238), 이동식, 비휘발성 자기 디스크(254)로의 기록 또는 그로부터의 판독을 위한 자기 디스크 드라이브(239), CD-ROM 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(253)로의 기록 또는 그로부터의 판독을 위한 광 디스크 드라이브(240)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/이동불가식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이 프, 고체(solid state) RAM, 고체 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(238)는 통상적으로 인터페이스(234)와 같은 이동불가식 메모리 인터페이스를 통해 시스템 버스(221)에 접속되고, 자기 디스크 드라이브(239) 및 광 디스크 드라이브(240)는 통상적으로 인터페이스(235)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(221)에 접속된다.
위에서 설명되고 도 2b에 도시된 드라이브들 및 이들과 관련된 컴퓨터 기억 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(241)의 다른 데이터를 저장한다. 도 2b에서, 예를 들어, 하드 디스크 드라이브(238)는 운영 체제(258), 애플리케이션 프로그램(257), 기타 프로그램 모듈(256) 및 프로그램 데이터(255)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이 컴포넌트들이 운영 체제(225), 애플리케이션 프로그램(226), 기타 프로그램 모듈(227) 및 프로그램 데이터(228)와 동일할 수도 있고 다를 수도 있다는 것이다. 이에 관해, 운영 체제(258), 애플리케이션 프로그램(257), 기타 프로그램 모듈(256) 및 프로그램 데이터(255)에 다른 번호가 주어졌다는 것은 적어도 이들이 서로 다른 본(copy)이라는 것을 도시한다. 사용자는 키보드(251) 및 일반적으로 마우스, 트랙볼(trackball) 또는 터치 패드라고 알려진 포인팅 장치(252) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(241)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등이 있을 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(236)를 통해 처리 장치(259)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(242) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(232) 등의 인터페이스를 통해 시스템 버스(221)에 접속될 수 있다. 모니터외에, 컴퓨터는 스피커(244) 및 프린터(243) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(233) 등을 통해 접속될 수 있다.
컴퓨터(241)는 원격 컴퓨터(246)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(246)는 또 하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 통상적으로 컴퓨터(241)와 관련하여 상술된 구성요소의 대부분 또는 그 전부를 포함하지만, 도 2b에는 메모리 저장 장치(247)만이 도시되어 있다. 도 2b에 도시된 논리적 연결로는 LAN(245) 및 WAN(249)이 있지만, 다른 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 회사 전체에 걸친 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 네트워크 인터페이스 또는 어댑터(237)를 통해 LAN(245)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 통상적으로 인터넷과 같은 WAN(249) 상에서의 통신을 설정하기 위한 모뎀(250) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(250)은 사용자 입력 인터페이스(236) 또는 기타 적절한 메커니즘을 통해 시스템 버스(221)에 접속된다. 네트워크화된 환경에서, 컴퓨터(241) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 그 예제로 서, 도 2b는 메모리 장치(247)에 위치하고 있는 원격 애플리케이션 프로그램(248)을 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이의 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 이해할 것이다.
본 명세서에서 설명되는 각종 기술이 하드웨어 또는 소프트웨어 또는 적절한 경우 그 둘의 조합과 함께 구현될 수 있다는 것을 이해할 것이다. 따라서, 본 발명의 방법 및 장치 또는 본 발명의 일부 양상 및 그 일부는, 플로피 디스켓, CD-ROM, 하드 드라이브 또는 임의의 기타 기계 판독가능한 기억 매체와 같은 유형의 매체에 구현되는 프로그램 코드(예를 들어 명령어)의 형태를 취할 수 있고, 컴퓨터와 같은 기계에 의해 프로그램 코드가 실행되고 그 기계로 프로그램 코드가 로드되는 경우, 그 기계는 본 발명을 실행하는 장치가 된다. 프로그램 가능한 컴퓨터상에서 프로그램 코드를 실행하는 경우, 컴퓨팅 장치는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 기억 장치 구성요소를 포함함), 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치를 포함한다. 하나 이상의 프로그램은 API, 재사용가능한 제어 등을 사용하여 본 발명과 관련하여 설명된 프로세스를 구현하고 활용할 수 있다. 이러한 프로그램은 컴퓨터 시스템과 통신할 수 있도록 하이 레벨 프로시져 또는 객체 지향 프로그래밍 언어로 구현되는 것이 바람직하다. 그러나, 원하는 경우 프로그램은 어셈블리 또는 기계어로 구현될 수도 있다. 어떤 경우든지 언어는 컴파일되거나 또는 번역되고, 하드웨어 구현과도 결합될 수 있다.
예시적인 실시예가 하나 이상의 자립형 컴퓨터 시스템의 문맥에서 본 발명을 활용하는 것에 관한 것이지만, 본 발명은 이에 제한되지 않고 오히려 네트워크 또는 분산 컴퓨팅 환경과 같이 임의의 컴퓨팅 환경과 관련하여 구현될 수 있다. 또한, 본 발명은 복수의 처리 칩 또는 장치들에서 또는 그에 걸쳐 구현될 수 있고, 이와 유사하게 기억 장치도 복수의 장치에 걸쳐 영향을 받을 수도 있다. 이러한 장치로는 퍼스널 컴퓨터, 네트워크 서버, 핸드 헬드 장치, 수퍼 컴퓨터, 또는 자동차 또는 비행기와 같이 다른 시스템에 통합된 컴퓨터가 있다.
도 2c에 네트워크화된 컴퓨팅 환경이 예시되어 있다. 당업자들은 네트워크가 임의의 컴퓨터 또는 기타 클라이언트 또는 서버 장치 또는 분산 컴퓨팅 환경에서 접속할 수 있다는 것을 이해할 것이다. 이에 관해, 임의의 수의 처리, 메모리, 저장 유닛 및 동시에 발생할 수 있는 임의의 수의 애플리케이션 및 프로세스를 지니는 임의의 컴퓨터 시스템 또는 환경은 제공되는 시스템 및 방법과 함께 사용되기에 적합하다고 간주된다.
분산 컴퓨팅은 컴퓨팅 장치와 시스템간의 교환을 통해 컴퓨터 자원 및 서비스를 공유한다. 이들 자원 및 서비스로는 정보의 교환, 캐시 기억 장치 및 파일 디스크 저장이 있다. 분산 컴퓨팅은 네트워크 연결성을 활용하며, 이것은 클라이언트로 하여금 그들의 집합적인 능력을 강화시켜 회사 전체에 이익이 되도록 한다. 이에 관해, 각종 장치는 본 명세서에 설명된 프로세스를 포함하는 애플리케이션, 객체 또는 자원을 지닐 수 있다.
도 2c는 네트워크화되고 또는 분산된 컴퓨팅 환경의 예시적인 개략도를 제공 한다. 환경은 컴퓨팅 장치(271, 272, 276, 277)뿐만 아니라 객체(273, 274, 275) 및 데이터베이스(278)를 포함한다. 이들 엔티티(271, 272, 273, 274, 275, 276, 277, 278) 각각은 프로그램, 메소드, 데이터 저장소, 프로그램가능한 로직 등을 포함하거나 활용할 수 있다. 이들 엔티티(271, 272, 273, 274, 275, 276, 277, 278)는 동일한 장치 또는 PDA, 오디오/비디오 장치, MP3 플레이어, 퍼스널 컴퓨터 등과 같은 다른 장치의 일부에까지 이를 수 있다. 엔티티(271, 272, 273, 274, 275, 276, 277, 278) 각각은 통신 네트워크(270)를 통해 다른 엔티티(271, 272, 273, 274, 275, 276, 277, 278)와 통신할 수 있다. 이에 관해, 임의의 엔티티가 데이터베이스(278) 또는 기타 기억 장치 구성요소의 유지 및 업데이트를 담당할 수 있다.
이 네트워크(270) 자체는 도 2c의 시스템에 서비스를 제공하는 기타 컴퓨팅 엔티티를 포함할 수 있고, 네트워크(270) 자체는 다수의 상호접속된 네트워크를 나타낼 수도 있다. 본 발명의 양상에 따라, 엔티티(271, 272, 273, 274, 275, 276, 277, 278) 각각은 하나 이상의 기타 엔티티들(271, 272, 273, 274, 275, 276, 277, 278)의 서비스를 요청하기 위해, API, 또는 기타 객체, 소프트웨어, 펌웨어 및/또는 하드웨어를 활용할 수 있는 이산 함수 프로그램 모듈을 포함할 수 있다.
275와 같은 객체가 다른 컴퓨팅 장치(276)상에서 호스팅될 수 있다는 것을 또한 이해할 것이다. 따라서, 도시된 물리적 환경이 접속된 장치를 컴퓨터로서 도시하지만, 이러한 도시는 단지 예시적이고 물리적 환경은 PDA, TV, MP3 플레이어 등과 같은 각종 디지털 장치, 인터페이스, COM 객체 등과 같은 소프트웨어 객체등을 포함하여 다르게 도시되거나 설명될 수 있다.
분산 컴퓨팅 환경을 지원하는 각종 시스템, 컴포넌트 및 네트워크 구성이 있다. 예를 들어, 컴퓨팅 시스템이 유선 또는 무선 시스템에 의해, 로컬 네트워크 또는 넓게 분산된 네트워크에 의해 함께 접속될 수 있다. 현재, 많은 네트워크가 인터넷에 접속되어 있고, 인터넷은 넓게 분산된 컴퓨팅에 대한 인프라스트럭처를 제공하고, 많은 서로 다른 네트워크를 포함한다. 이들 인프라스트럭처 중 임의의 것은 그것이 인터넷에 결합되었는지 여부에 상관없이, 제공되는 시스템 및 방법과 함께 사용될 수 있다.
네트워크 인프라스트럭처는 클라이언트/서버, 피어-대-피어, 또는 하이브리드 아키텍처와 같은 많은 네트워크 토폴로지를 가능하게 한다. "클라이언트"는 그 클라이언트가 관련되지 않은 다른 클래스 또는 그룹의 서비스를 사용하는 클래스 또는 그룹의 멤버이다. 컴퓨팅에서, 클라이언트는 프로세스, 즉 개략적으로 다른 프로그램에 의해 제공되는 서비스를 요청하는 명령어 세트 또는 태스크 세트이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 그 자체에 대해 동작되는 상세 사항을 알아야 할 필요 없이 요청된 서비스를 활용한다. 클라이언트/서버 아키텍처에서, 특히 네트워크화된 시스템에서, 클라이언트는 일반적으로 서버와 같은 다른 컴퓨터에 의해 제공되는 공유 네트워크 자원을 액세스하는 컴퓨터이다. 도 2c의 예제에서, 임의의 엔티티(271, 272, 273, 274, 275, 276, 277, 278)는 환경에 따라 클라이언트, 서버 또는 그 둘 다로 간주될 수 있다.
서버는 통상적으로 꼭 필수는 아니지만 인터넷과 같이 원격 또는 로컬 네트워크를 통해 액세스가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 활성일 수 있고, 서버 프로세스는 제2 컴퓨터 시스템에서 활성일 수 있으며, 통신 매체를 통해 서로 통신할 수 있으므로 분산 기능을 제공하고 다수의 클라이언트가 서버의 정보 수집 기능을 활용할 수 있도록 한다. 임의의 소프트웨어 객체는 다수의 컴퓨팅 장치 또는 객체에 걸쳐 분산될 수 있다.
클라이언트 및 서버는 프로토콜 계층에 의해 제공되는 기능을 활용하여 서로 통신한다. 예를 들어, 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol:HTTP)은 월드 와이드 웹(world wide web:WWW) 또는 "더 웹(the Web)"과 함께 사용되는 일반적인 프로토콜이다. 통상적으로, 인터넷 프로토콜(Internet Protocol:IP) 주소 또는 URL(Universal Resource Locator)과 같은 기타 참조와 같은 컴퓨터 네트워크 주소는 서버 또는 클라이언트 컴퓨터가 서로를 식별하는 데에 사용될 수 있다. 네트워크 주소는 URL 주소로서 참조될 수 있다. 통신 매체를 통해 통신이 제공되고, 예를 들어 클라이언트 및 서버는 고용량 통신용 TCP/IP 접속을 통해 서로 접속될 수 있다.
도 2a 및 도 2b에 제공된 일반적인 프레임워크에 따라 구축될 수 있는 다양한 컴퓨팅 환경 및 도 2c와 같은 네트워크 환경의 컴퓨팅에서 발생할 수 있는 추가의 다양성의 견지에서, 본 명세서에서 제공되는 시스템 및 방법은 특정 컴퓨팅 아키텍처에 대해 어떤 방법으로든지 제한되는 것으로서 해석되어서는 안 된다. 대신, 본 발명은 임의의 단일 실시예에 제한되지 않고, 첨부된 청구항에 따른 폭과 범위로 해석되어야 한다.
레포팅 소프트웨어에서 레포트 및/또는 레포트의 영역의 주문형 그래픽 표현을 지원하는 시스템 및 방법을 사용하여 지원되는 레포트 레이아웃에 대해 사용가능한 임의의 레포팅 소프트웨어 특징은 주문형 레이아웃에 대해 또한 사용가능해 질 수 있다.

Claims (33)

  1. 레포트를 생성하는 명령어를 포함하는 컴퓨터 판독가능 매체에 있어서,
    레포트의 그래픽 표현을 정의하는 레포트 정의 파일을 판독하는 명령어;
    레포트에 대한 복수의 그래픽 특징을 생성하는 명령어;
    자동화된 외부 프로세스가 상기 생성 명령어에 의해 나타내어지는 함수를 액세스하도록 하는 인터페이스를 제공하는 명령어 -상기 자동화된 프로세스는 상기 생성 명령어에 의해 생성되는 레포트에 대한 상기 그래픽 특징을 제어함으로써 상기 레포트 정의 파일에 정의된 상기 그래픽 표현을 구축할 수 있음-
    를 포함하는 컴퓨터 판독가능 매체.
  2. 제1항에 있어서, 상기 레포트 정의 파일은 제1 ID(identification)를 포함하고, 상기 자동화된 프로세스는 제2 ID를 포함하며, 상기 제1 및 제2 ID에 기초하여 상기 레포트 정의 파일에서 사용하기 위한 적절한 외부 프로세스를 선택할 수 있는 컴퓨터 판독가능 매체.
  3. 제1항에 있어서, 상기 인터페이스는 상기 컴퓨터 판독가능 매체의 모든 사용자가 상기 자동화된 프로세스를 생성할 수 있도록 공개되는 컴퓨터 판독가능 매체.
  4. 제1항에 있어서, 상기 레포트 정의 파일에 초기 처리를 수행하는 명령어를 더 포함하고, 상기 초기 처리는 상기 자동화된 외부 프로세스에 의한 처리에 앞서 발생하며, 상기 초기 처리는 상기 레포트 정의 파일에 대해 한 세트의 기준을 집행하는 컴퓨터 판독가능 매체.
  5. 제4항에 있어서, 상기 레포트 정의 파일의 생성을 돕는 설계 도구를 제공하는 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  6. 제5항에 있어서, 제2 자동화된 외부 프로세스가 설계 도구를 제공하는 상기 명령어에 의해 나타내어지는 함수를 액세스하도록 하는 제2 인터페이스를 제공하는 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  7. 제1항에 있어서, 상기 자동화된 외부 프로세스가 사용가능하지 않을 경우, 제2 자동화된 프로세스가 상기 그래픽 표현을 구축할 것을 결정하는 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  8. 제1항에 있어서, 상기 그래픽 표현에 대해 한 세트의 열 그룹을 수신하는 명령어 및 상기 열 그룹에 데이터를 배치하는 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  9. 제1항에 있어서, 상기 그래픽 표현의 셀에 대해 한 세트의 셀 식별자 (identifier)를 수신하는 명령어 및 상기 셀에 데이터를 배치하는 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  10. 제1항에 있어서, 상기 레포트 정의 파일은 XML(extensible markup language) 파일인 컴퓨터 판독가능 매체.
  11. 제1항에 있어서, 레포트에 대해 복수의 그래픽 특징을 생성하는 상기 명령어는 인덱스에서 참조되는 컴퓨터 판독가능 매체.
  12. 레포트를 생성하는 방법에 있어서,
    레포트의 그래픽 표현을 정의하는 레포트 정의 파일을 판독하는 단계;
    레포트에 대한 그래픽 특징을 생성하는 복수의 프로세스를 제공하는 단계;
    외부 프로세스가 상기 생성 명령어 프로세스를 액세스하도록 하는 인터페이스를 제공하는 단계 -상기 외부 프로세스는 상기 생성 프로세스에 의해 생성되는 레포트에 대한 상기 그래픽 특징을 제어함으로써 상기 레포트 정의 파일에 정의된 상기 그래픽 표현을 구축할 수 있음-
    를 포함하는 방법.
  13. 제12항에 있어서, 상기 레포트 정의 파일은 제1 ID를 포함하고, 상기 외부 프로세스는 제2 ID를 포함하며, 상기 제1 및 제2 ID에 기초하여 상기 레포트 정의 파일에서 사용하기 위한 적절한 외부 프로세스를 선택할 수 있는 방법.
  14. 제12항에 있어서, 상기 인터페이스는 상기 컴퓨터 판독가능 매체의 모든 사용자가 상기 외부 프로세스를 생성할 수 있도록 공개되는 방법.
  15. 제12항에 있어서, 상기 레포트 정의 파일에 초기 처리를 수행하는 단계를 더 포함하고, 상기 초기 처리는 상기 외부 프로세스에 의한 처리에 앞서 발생하며, 상기 초기 처리는 상기 레포트 정의 파일에 대해 한 세트의 기준을 집행하는 방법.
  16. 제15항에 있어서, 상기 레포트 정의 파일의 생성을 돕는 설계 도구를 제공하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서, 제2 외부 프로세스가 상기 설계 도구의 함수를 액세스하도록 하는 제2 인터페이스를 제공하는 단계를 더 포함하는 방법.
  18. 제12항에 있어서, 상기 자동화된 외부 프로세스가 사용가능하지 않을 경우, 제2 자동화된 프로세스가 상기 그래픽 표현을 구축할 것을 결정하는 단계를 더 포함하는 방법.
  19. 제12항에 있어서, 상기 그래픽 표현에 대해 한 세트의 열 그룹을 수신하는 단계 및 상기 열 그룹에 데이터를 배치하는 단계를 더 포함하는 방법.
  20. 제12항에 있어서, 상기 그래픽 표현의 셀에 대해 한 세트의 셀 식별자를 수신하는 단계 및 상기 셀에 데이터를 배치하는 단계를 더 포함하는 방법.
  21. 제12항에 있어서, 상기 레포트 정의 파일은 XML 파일인 방법.
  22. 제12항에 있어서, 레포트에 대해 복수의 그래픽 특징을 생성하는 상기 프로세스는 인덱스에서 참조되는 방법.
  23. 레포트를 생성하는 수단에 있어서,
    레포트의 그래픽 표현을 정의하는 레포트 정의 파일을 판독하는 수단;
    레포트에 대한 복수의 그래픽 특징을 생성하는 수단;
    자동화된 외부 프로세스가 상기 생성 수단에 의해 나타내어지는 함수를 액세스하도록 하는 인터페이스를 제공하는 수단 -상기 자동화된 프로세스는 상기 생성 수단에 의해 생성되는 레포트에 대한 상기 그래픽 특징을 제어함으로써 상기 레포트 정의 파일에 정의된 상기 그래픽 표현을 구축할 수 있음-
    를 포함하는 수단.
  24. 제23항에 있어서, 상기 레포트 정의 파일은 제1 ID를 포함하고, 상기 자동화 된 프로세스는 제2 ID를 포함하며, 상기 제1 및 제2 ID에 기초하여 상기 레포트 정의 파일에서 사용하기 위한 적절한 외부 프로세스를 선택할 수 있는 수단.
  25. 제23항에 있어서, 상기 인터페이스는 레포트를 생성하는 상기 수단의 모든 사용자가 상기 자동화된 프로세스를 생성할 수 있도록 공개되는 수단.
  26. 제23항에 있어서, 상기 레포트 정의 파일에 초기 처리를 수행하는 수단을 더 포함하고, 상기 초기 처리는 상기 자동화된 외부 프로세스에 의한 처리에 앞서 발생하며, 상기 초기 처리는 상기 레포트 정의 파일에 대해 한 세트의 기준을 집행하는 수단.
  27. 제26항에 있어서, 상기 레포트 정의 파일의 생성을 돕는 설계 도구를 제공하는 수단을 더 포함하는 수단.
  28. 제27항에 있어서, 제2 자동화된 외부 프로세스가 설계 도구를 제공하는 상기 수단에 의해 나타내어지는 함수를 액세스하도록 하는 제2 인터페이스를 제공하는 수단을 더 포함하는 수단.
  29. 제23항에 있어서, 상기 자동화된 외부 프로세스가 사용가능하지 않을 경우, 제2 자동화된 프로세스가 상기 그래픽 표현을 구축할 것을 결정하는 수단을 더 포 함하는 수단.
  30. 제23항에 있어서, 상기 그래픽 표현에 대해 한 세트의 열 그룹을 수신하는 수단 및 상기 열 그룹에 데이터를 배치하는 수단을 더 포함하는 수단.
  31. 제23항에 있어서, 상기 그래픽 표현의 셀에 대해 한 세트의 셀 식별자를 수신하는 수단 및 상기 셀에 데이터를 배치하는 수단을 더 포함하는 수단.
  32. 제23항에 있어서, 상기 레포트 정의 파일은 XML파일인 수단.
  33. 제23항에 있어서, 레포트에 대해 복수의 그래픽 특징을 생성하는 상기 수단은 인덱스에서 참조되는 수단.
KR1020050062168A 2004-08-30 2005-07-11 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법 KR20060050040A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/929,197 US7634724B2 (en) 2004-08-30 2004-08-30 Systems and methods for supporting custom graphical representations in reporting software
US10/929,197 2004-08-30

Publications (1)

Publication Number Publication Date
KR20060050040A true KR20060050040A (ko) 2006-05-19

Family

ID=35079418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050062168A KR20060050040A (ko) 2004-08-30 2005-07-11 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법

Country Status (5)

Country Link
US (1) US7634724B2 (ko)
EP (1) EP1630739A1 (ko)
JP (1) JP2006072980A (ko)
KR (1) KR20060050040A (ko)
CN (1) CN1744036A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680823B2 (en) * 2005-05-17 2010-03-16 International Business Machines Corporation Custom report generation
US7720789B2 (en) * 2006-06-23 2010-05-18 International Business Machines Corporation System and method of member unique names
US8090658B2 (en) * 2006-06-23 2012-01-03 International Business Machines Corporation System and method of member unique names
US7698629B2 (en) * 2006-06-23 2010-04-13 International Business Machines Corporation Report layout reference processing
CN101207633B (zh) * 2006-12-21 2012-01-04 英业达股份有限公司 网络存储系统的功能定制选择系统及方法
US7840600B1 (en) * 2006-12-29 2010-11-23 Izenda, LLC Systems and methods for interactively creating, customizing, and executing reports over the internet
US8745486B2 (en) * 2007-01-25 2014-06-03 Microsoft Corporation Streamable interactive rendering-independent page layout
US9558184B1 (en) * 2007-03-21 2017-01-31 Jean-Michel Vanhalle System and method for knowledge modeling
US7873902B2 (en) * 2007-04-19 2011-01-18 Microsoft Corporation Transformation of versions of reports
US20080313153A1 (en) * 2007-05-25 2008-12-18 Business Objects, S.A. Apparatus and method for abstracting data processing logic in a report
US7987188B2 (en) * 2007-08-23 2011-07-26 Google Inc. Domain-specific sentiment classification
US8417713B1 (en) 2007-12-05 2013-04-09 Google Inc. Sentiment detection as a ranking signal for reviewable entities
US8799773B2 (en) * 2008-01-25 2014-08-05 Google Inc. Aspect-based sentiment summarization
US8010539B2 (en) 2008-01-25 2011-08-30 Google Inc. Phrase based snippet generation
US9978186B2 (en) 2009-01-09 2018-05-22 The Raymond Corporation Information reporting system for managing a fleet of an industrial vehicles
US9141933B2 (en) * 2009-02-24 2015-09-22 Sap Se Method and system for generating a personalized report with reusable parameters
US8874576B2 (en) 2009-02-27 2014-10-28 Microsoft Corporation Reporting including filling data gaps and handling uncategorized data
US9015611B2 (en) 2009-03-23 2015-04-21 Adobe Systems Incorporated Transferring component hierarchies between applications
US8484560B2 (en) * 2009-04-24 2013-07-09 Apple Inc. Interactive sub-summaries in database applications
US8478786B2 (en) 2010-09-14 2013-07-02 Microsoft Corporation Automatic layout derivation and implementation
US9626719B2 (en) 2011-01-05 2017-04-18 Microsoft Technology Licensing, Llc Displaying a series of reports within a single user interface
CN102629262A (zh) * 2012-03-02 2012-08-08 浪潮集团山东通用软件有限公司 一种自定义bi展现模型的方法
RU2536390C2 (ru) * 2012-10-31 2014-12-20 Общество с ограниченной ответственностью "1С" Способ для автоматизированного создания отчетов
CN113569543B (zh) * 2021-07-13 2023-07-25 上海核工程研究设计院股份有限公司 一种核电工程自动报告生成技术的实现方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493490A (en) * 1992-05-05 1996-02-20 Clear With Computers, Inc. Electronic proposal preparation system for selling vehicles
US5832504A (en) * 1994-05-03 1998-11-03 Xerox Corporation Automatic enhanced report generation system
US6160549A (en) 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5706505A (en) 1994-08-19 1998-01-06 Microsoft Corporation Method and system for binding data in a computer system
US5911068A (en) 1995-03-30 1999-06-08 Microsoft Corporation Container independent control architecture
US6067525A (en) * 1995-10-30 2000-05-23 Clear With Computers Integrated computerized sales force automation system
US5761650A (en) * 1995-12-29 1998-06-02 Csg Systems, Inc. Billing system and method
EP1016047B1 (en) * 1996-10-09 2008-12-17 Visa International Service Association Electronic statement presentment system
US5948017A (en) * 1997-10-12 1999-09-07 Taheri; Syde A. Modular graft assembly
US6081263A (en) 1997-10-23 2000-06-27 Sony Corporation System and method of a user configurable display of information resources
US6065012A (en) 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6463442B1 (en) 1998-06-30 2002-10-08 Microsoft Corporation Container independent data binding system
US6714219B2 (en) 1998-12-31 2004-03-30 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US20020091681A1 (en) * 2000-04-03 2002-07-11 Jean-Yves Cras Report then query capability for a multidimensional database model
US7430535B2 (en) * 2001-01-27 2008-09-30 General Electric Capital Corporation Methods and systems for identifying prospective customers and managing deals
WO2002069116A2 (en) * 2001-02-28 2002-09-06 Jonathan Slone International trading of securities
AU2002252222A1 (en) * 2001-03-08 2002-09-24 Richard M. Adler System for analyzing strategic business decisions
US20020178172A1 (en) * 2001-05-24 2002-11-28 Moore Amy Elizabeth Methods and apparatuses for application analysis and report
JP2003044464A (ja) * 2001-07-31 2003-02-14 Seiko Epson Corp レイアウト装置及びレイアウトプログラム
CA2371724A1 (en) * 2002-01-12 2003-08-12 Cognos Incorporated System and method for defining prompts using declarative principles
EP1488329A4 (en) * 2002-03-25 2008-12-10 Data Quality Solutions Inc METHOD AND SYSTEM FOR MANAGING BUSINESS COMMERCIAL PROCESS
US9269067B2 (en) * 2002-04-04 2016-02-23 Altisource Solutions S.À.R.L. Method and apparatus for providing selective access to information
US6986123B2 (en) 2002-06-28 2006-01-10 Microsoft Corporation Extensible on-demand property system
EP2442566A3 (en) * 2002-10-15 2012-08-08 Verance Corporation Media Monitoring, Management and Information System
US20050004947A1 (en) * 2003-06-30 2005-01-06 Emlet James L. Integrated tool set for generating custom reports
US20050033764A1 (en) * 2003-08-05 2005-02-10 E.Piphany, Inc. Interactive editor for data driven systems
US7110918B2 (en) * 2003-11-05 2006-09-19 Shoplogix Inc. Self-contained system and method for remotely monitoring machines

Also Published As

Publication number Publication date
JP2006072980A (ja) 2006-03-16
US20060048048A1 (en) 2006-03-02
EP1630739A1 (en) 2006-03-01
US7634724B2 (en) 2009-12-15
CN1744036A (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
KR20060050040A (ko) 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법
US8316025B2 (en) System and method for providing SPI extensions for content management system
RU2378690C2 (ru) Способ и система для преобразования иерархической структуры данных на основе схемы в плоскую структуру данных
US7624114B2 (en) Automatically generating web forms from database schema
KR101152988B1 (ko) 문맥 액션 게시
KR101086567B1 (ko) 데이터베이스 저장소 내의 한 객체로서 캡슐화된 xml데이터를 저장 및 검색하기 위한 시스템 및 방법
US7409634B2 (en) Method and apparatus for end-to-end content publishing system using XML with an object dependency graph
US7076728B2 (en) Method and apparatus for end-to-end content publishing system using XML with an object dependency graph
KR101224670B1 (ko) 데이터 관리를 용이하게 해주는 시스템 및 방법
US20070073663A1 (en) System and method for providing full-text searching of managed content
JP4406609B2 (ja) 単一のインターフェイスからのデータの多重階層を管理するための手法
US7650335B2 (en) High-level database management system
KR101581980B1 (ko) 계층적 데이터의 페이징
EP1385100A2 (en) Mapping a class hierarchy to a relational database system
CN102378975A (zh) 将协作功能扩展到外部数据
US20140019843A1 (en) Generic annotation framework for annotating documents
US7720885B2 (en) Generating a word-processing document from database content
US7613715B2 (en) Map and data location provider
JP2006012146A (ja) 影響分析のためのシステムおよび方法
US20070073674A1 (en) System and method for providing federated events for content management systems
JP2000099508A (ja) 複合文書管理システム及び複合文書の構造管理方法ならびに複合文書構造管理プログラムを格納した記録媒体
US9864794B2 (en) Method and system for managing faceted data
US8843503B2 (en) Methods and apparatus for automatically creating composite configuration items in configuration management database
US11449469B2 (en) Embedded content object collaboration
JP2004280819A (ja) オブジェクトモデルを次元モデルから生成する方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid