KR20040073343A - 선언 시퀀스화된 리포트 파라미터화 - Google Patents

선언 시퀀스화된 리포트 파라미터화 Download PDF

Info

Publication number
KR20040073343A
KR20040073343A KR1020040008888A KR20040008888A KR20040073343A KR 20040073343 A KR20040073343 A KR 20040073343A KR 1020040008888 A KR1020040008888 A KR 1020040008888A KR 20040008888 A KR20040008888 A KR 20040008888A KR 20040073343 A KR20040073343 A KR 20040073343A
Authority
KR
South Korea
Prior art keywords
parameter
values
value
report
receiving
Prior art date
Application number
KR1020040008888A
Other languages
English (en)
Other versions
KR101201019B1 (ko
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 KR20040073343A publication Critical patent/KR20040073343A/ko
Application granted granted Critical
Publication of KR101201019B1 publication Critical patent/KR101201019B1/ko

Links

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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

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

Abstract

사용자 값 및 선택이 수집되고 리포트 서버에 제공되어 사용자 값 및 선택에 따라 일반적으로 정의된 리포트를 커스토마이즈한다. 정렬된 리포트 파라미터 세트는 리포트 정의에서 선언된 후 이 파라미터 정의는 사용자 프롬프트 및 리포트의 실행을 드라이브하는 데 사용된다. 파라미터 값이 시퀀스 순서로 수집되므로, 하나의 파라미터에 대하여 사용자에 의해 검색되거나 지정되는 값은 시퀀스 내의 후반의 파라미터의 허용 값 세트 또는 디폴트 값을 발생시키는 데 사용될 수 있다. 파라미터가 사용자에게 동적으로 부여된다. 모든 파라미터에 대한 값이 검색되거나 지정된 후, 리포트는 리포트 서버에 의해 발생된다.

Description

선언 시퀀스화된 리포트 파라미터화 {DECLARATIVE SEQUENCED REPORT PARAMETERIZATION}
본 발명은 일반적으로 정보 시스템 분야에 관한 것이다. 특히, 본 발명은 데이터의 파라미터화에 관한 것이다.
정보 시스템은 종종 적절한 정보가 정확한 시간에 사용자에게 전달되도록 사용자로부터 값을 검색할 필요가 있다. 이것은 질의-기초(query-based) 리포트 시스템에서 리포트 파라미터화를 통해 달성될 수 있다. 파라미터는 리포트가 사용자 선택에 기초하여 커스토마이즈(customize)되도록 허용한다. 그러나, 종래의 리포트 제품은 정적 파라미터 선택만을 제공한다. 이 방법에서, 데이터 종속성은 리포트 발생기에 의해 이용되지 않고, 데이터와 리포트의 비효율적인 프로세싱 및 프리젠테이션 (presentation)을 유도한다. 또한, 종래의 리포트 제품은 후속의 데이터와 선택가능한 파라미터의 비효율적이고 적절하지 않은 프리젠테이션을 사용자에게 제공한다.
예를 들어, 도 2는 종래의 리포트 프로세싱 및 발생 방법의 플로우챠트이다. 단계(200)에서, 파라미터의 리스트 및, 지정되었다면, 각각의 파라미터에 대한 가능한 값을 포함하는 리포트 정의가 검색된다. 그후, 단계(230)에서, 리스트로부터 파라미터가 검색되고, 단계(240)에서, 드롭다운(dropdown)을 위한 파라미터가 마크(mark)되었는지를 결정한다(이것은 다수의 가능한 값을 갖는다). 그러면, 필드의 모든 가능한 값이 단계(250)에서 선택되고, 사용자에게 제공된다. 이것은 길고 번거로운 값의 리스트일 수 있다. 그후, 단계(260)에서 드롭다운 리스트(들)로부터 값에 대하여 사용자에게 프롬프트(prompt)한다. 단계(240)에서 드롭다운을 위한 파라미터가 마크되지 않으면, 프로세싱은 값에 대하여 사용자에게 프롬프트(드롭다운 리스트로부터 프롬프트하는 것이 아님)하는 단계(260)로 직접 진행한다. 단계(270)에서, 단계(220)로부터 임의의 파라미터가 리스트에 잔존하는지를 판정한다. 그러면, 프로세싱은 단계(230)로 진행한다. 모든 파라미터가 검색되고 값(들)에 대하여 사용자에게 프롬프트하는데 사용된 후, 단계(280)에서 리포트가 실행된다. 이 종래의 방법에서, 데이터 종속성은 리포트 발생기에 의해 이용되지 않고, 사용자에게 부여된 선택은 동적으로 결정되거나 그 이전의 선택에 기초하여 서브세트로 제한되지 않는다.
따라서, 종래기술의 문제점을 극복하고 정보 전달을 사용자의 요구에 더 효율적으로 맞추는 시스템 및 방법을 포함하는 동적 리포트 제품을 제공할 필요가 있다. 사용자 선택가능 파라미터가 더 용이한 사용자 선택에 종속하도록 캐스캐이드된 파라미터를 제공하는 것이 바람직하다.
본 발명은 사용자 값과 선택이 수집되고 리포트 서버에 제공되어 사용자 값 및 선택에 따라 일반적으로 정의된 리포트를 커스토마이즈하는 향상된 리포트 파라미터화 시스템에 관한 것이다.
정렬된 리포트 파라미터 세트는 리포트 정의에서 선언(declare)된 후, 이 파라미터 정의가 사용자 프롬프트 및 리포트의 실행을 드라이브하는데 사용된다. 파라미터 값이 시퀀스 순서로 수집되므로, 하나의 파라미터에 대하여 사용자에 의해 검색되거나 지정된 값은 시퀀스내의 후반의 파라미터의 허용 값 세트 또는 디폴트 값을 발생시키는데 사용될 수 있다. 파라미터는 사용자에게 동적으로 부여된다. 모든 파라미터에 대한 값이 검색되거나 지정된 후, 리포트가 리포트 서버에 의해 발생된다.
본 발명의 다른 특징과 이점은 첨부된 도면을 참조하여 진행되는 예시적인 실시예의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 발명의 형태가 구현될 수 있는 예시적인 컴퓨팅 환경을 나타내는 블록도.
도 2는 종래의 리포트 프로세싱 및 발생 방법의 플로우챠트.
도 3은 본 발명에 따른 예시적인 시스템의 고레벨 블록도.
도 4는 본 발명에 따른 예시적인 리포트 프로세싱 및 발생 방법의 플로우챠트.
도 5는 본 발명에 따른 예시적인 리포트 정의(report definition)의 다이어그램.
도 6은 리포트와 관련된 각각의 리포트 파라미터에 대하여 예시적인 제어(들)이 사용자에게 부여되는 방법을 설명하기에 유용한 트리 다이어그램.
도 7은 예시적인 제어가 초기화되는 방법 및 리포트와 관련된 각각의 리포트 파라미터에 대한 그 디폴트 값을 설명하기에 유용한 트리 다이어그램.
도 8은 조건에 기초하여 리포트와 관련된 각각의 리포트 파라미터에 대하여 예시적인 제어(들)이 사용자에게 부여되는 방법을 설명하기에 유용한 트리 다이어그램.
*도면의 주요부분에 대한 부호의 설명*
300: 리포트 서버
310: 리포트 프로세서
315: 데이터 프로세서
320: 요구 컴퓨터
325: 리포트 작성/설계 툴
330: 외부 데이터 소스
바람직한 실시예의 이하의 상세한 설명 뿐만 아니라 전술한 요약은 첨부된 도면과 결합하여 읽을때 더 잘 이해된다. 본 발명을 설명하기 위하여, 본 발명의 예시적인 구성이 도면에 도시되었지만, 본 발명은 개시된 특정 발명과 수단에 한정되는 것은 아니다.
개요
파라미터화된 리포트는 리포트 설계자가 리포트 실행동안 사용자에 의해 제공될 수 있는 값 세트를 지정하도록 함으로써 유연성을 제공한다. 데이터는 데이터베이스로부터 다른 데이터가 아닌 사용자가 보기를 원하는 정보를 판독가능 형태로 변환된다. 파라미터는 예를 들어 데이터 또는 하이라이트 데이터를 억제하는 데 사용된다. 파라미터는 사용자에게 동적으로 부여된다. 예를 들어, 사용자에게 거주하는 주(state)를 선택하기 위해 프롬프트되고 사용자가 "워싱턴"을 선택하면, 사용자에게 부여되는 다음 선택은 워싱턴의 도시로 제한된다.
예시적인 컴퓨팅 환경
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 예를 나타낸다. 컴퓨팅 시스템 환경(100)은 단지 적절한 컴퓨팅 환경의 일예이며 본 발명의 사용 또는 기능의 범위를 제한하기 위하여 의도된 것이 아니다. 컴퓨팅 환경(100)은 예시적인 오퍼레이팅 환경(100)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관한 임의의 종속성 또는 필요조건을 갖는 것으로 해석되어서는 않된다.
본 발명은 많은 다른 범용 또는 특수목적 컴퓨팅 시스템 환경 또는 구성과 함께 동작된다. 본 발명과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-베이스드 시스템, 셋 탑 박스(set top box), 프로그래머블 고객 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산 컴퓨팅 환경을 포함할 수 있지만, 이에 한정되는 것은 아니다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터 실행가능 명령의 일반적인 컨텍스트에서 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크 또는 다른 데이터 전송 매체를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈과 다른 데이터는 메모리 저장 장치를 포함하는 국부 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 결합하는 시스템 버스(121)을 포함할 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 주변 컴포넌트 상호접속(PCI) 버스(또한 메자닌(Mezzanine bus)로 공지됨)를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터(110)는 일반적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터 등의 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 전송 메카니즘 등의 변조 데이터 신호의 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. 용어 "변조 데이터 신호"는 정보를 신호로 인코딩하는 것과 같은 방법으로 설정되고 변경된 그 특성 중의 하나 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 네트워크 등의 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의의 임의의 조합이 컴퓨터 판독가능 매체의 범위내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동시 등의 컴퓨터(110)내의 소자들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(120)에 의해 즉시 동작하는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, 한정하지 않지만, 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1은 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체로 기입하는 하드 디스크 드라이브(140), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크로 기입하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 다른 광학 매체 등의 분리형 비휘발성 광학 디스크(156)로부터 판독하거나 그 광학 디스크로 기입하는 광학 디스크 드라이브(155)를 도시한다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140) 등의 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150) 등의 분리형 인터페이스에 의해 시스템 버스(121)에 접속된다.
상술하고 도 1에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 다른 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 다른 동등물임을 나타내기 위하여 다른 번호를 부여하였다. 사용자는 키보드(162) 및 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리우는 포인팅 장치(161) 등의 입력 장치를 통해 컴퓨터(20)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시하지 않음)은 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 패럴렐 포트, 게임 포트 또는 유니버설 시리얼 포트(USB) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터에 더하여, 컴퓨터는 또한 출력 주변 인터페이스(190)를 통해 접속될수 있는 스피커(197) 및 프린터(196) 등의 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 등의 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 다른 공통 네트워크 노드일 수 있으며, 도 1 에는 메모리 저장 장치(181)만이 도시되어 있지만, 일반적으로 컴퓨터(110)에 관하여 상술한 많은 또는 모든 소자를 포함할 수 있다. 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 공통적이다.
LAN 네트워크 환경에서 사용될때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용될때, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하는 모뎀(172) 또는 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 다른 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관하여 도시된 프로그램 모듈 또는 그 부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 한정되지 않지만, 도 1은 메모리 장치(181)에 상주하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 다른 수단이 사용될 수 있다.
예시적인 분산 컴퓨팅 프레임워크 또는 아키텍처
다양한 분산 컴퓨팅 네트워크는 퍼스널 컴퓨팅 및 인터넷을 중심으로 개발되어 왔으며 개발중에 있다. 개인 및 비즈니스 사용자에게는 웹 브라우저 또는 네트워크 오리엔티드의 컴퓨팅 활동을 수행하는 애플리케이션 및 컴퓨팅 장치에 대한 한결같이 상호 동작가능하고 웹 사용가능 인터페이스가 제공된다.
예를 들어, MICROSOFT의 .NET 플랫폼은 서버, 웹-베이스드 데이터 스토리지 등의 빌딩-블록 서비스, 및 다운로드가능한 장치 소프트웨어를 포함한다. 일반적으로 말하면, .NET 플랫폼은 (1) 전체 범위의 컴퓨팅 장치 작업을 함께 수행하고 그들 모두에 자동적으로 업데이트되고 동기화된 사용자 정보를 갖는 능력, (2) HTML보다는 오히려 XML의 더 많은 사용에 의해 가능한 웹 사이트에 대한 증가된 상호작용 능력, (3) 예를 들어, Office.NET 등의 소프트웨어 또는 이메일 등의 다양한 애플리케이션의 관리를 위한 중심 시작점으로부터 사용자에게 제품 및 서비스의 커스토마이즈된 액세스 및 전달의 특징을 갖는 온라인 서비스, (4) 사용자와 장치간의 정보의 동기화 뿐만 아니라 정보 액세스의 효율성과 용이성을 증가시킬 집중된 데이터 스토리지, (5) 이메일, 팩스, 및 전화 등의 다양한 통신 매체를 통합하는 능력, (6) 개발자에 대하여, 재사용가능한 모듈을 생성하여 프로그래밍 에러의 수를 감소시키고 생산성을 증가시키는 능력, 및 (7) 많은 다른 크로스-플랫폼 통합 특징을 제공한다.
예시된 실시예는 컴퓨팅 장치상에 상주하는 소프트웨어와 연결하여 기재되지만, 본 발명의 하나 이상의 부분은, 또한 서비스가 .NET의 언어 및 서비스를 통해 그리고 다른 분산 컴퓨팅 프레임워크에서 지원되고 액세스됨으로써 수행되도록, 오퍼레이팅 시스템, 애플리케이션 프로그래밍 인터페이스(API) 또는 코프로세서 (coprocessor)와 요구 오브젝트간의 "미들 맨(middle man)" 오브젝트를 통해 구현될 수 있다.
예시적인 실시예
정렬된 리포트 파라미터 세트는 리포트 정의에서 선언된 후 이 파라미터의 정의는 사용자 프롬프트 및 리포트의 실행을 드라이브하는 데 사용된다(리포트 정의는 또한 도 5를 참조하여 이하에서 더 설명된다). 파라미터의 예시적인 정의는 파라미터의 이름, 데이터 유형(스트링, 개수, 날짜 등), 허용 값 세트 또는 허용 값 세트를 검색하는 데 사용되는 선택적 질의, 디폴트 값을 검색하고 값에 대하여 사용자에게 프롬프트하는지의 여부에 사용되는 선택적 질의를 포함한다. 허용 값과 디폴트 값 질의는 독단적으로 복잡할 수 있고 리포트의 설계자에 의해 정의되는 것이 바람직하다.
또한, 허용 값과 디폴트 값 질의는 이전에 지정된 파라미터 값에 의해 파라미터화될 수 있다.
이것은 하나의 파라미터에 대하여 사용자에 의해 검색되거나 지정된 값이 시퀀스내의 후반의 파라미터의 디폴트 값 또는 허용 값 세트를 발생시키는 데 사용되도록 한다. 모든 파라미터에 대한 값이 검색되거나 지정된 후, 리포트가 리포트 서버에 의해 발생된다.
예로서, 리포트 정의를 2개의 파라미터 "제품 카테고리" 및 "제품 이름"으로 가정한다. 제품 카테고리의 리스트는 데이터베이스로부터 검색되고 사용자에게 리스트 내의 하나의 항목을 선택하도록 프롬프트된다. 사용자가 일단 선택하면, 선택된 카테고리내의 제품 이름의 리스트가 데이터베이스로부터 검색된다. 그후, 사용자는 리스트로부터 하나의 제품 이름을 선택하고 선택된 제품을 사용하여 리포트가 실행된다.
본 발명의 동적 파라미터 리스트 및 디폴트를 포함하는 또다른 예시적인 시나리오에서, 리포트에 대해 정의된 3개의 파라미터, 즉, "지역(Region)", "주(State)" 및 "도시(City)"가 있는 것으로 가정한다. 사용자 인터페이스는 각각의 파라미터를 위한 입력용으로 사용되는 3개의 드롭다운 리스트로 디스플레이된다. "지역" 드롭다운은 미국 내의 지역으로 되어 있다. 지역이 선택되면(예를 들어 노스웨스트(northwest)), 주 파라미터와 관련된 데이터 소스는 질의 파라미터로서 "지역" 드롭다운 리스트 내에서 선택된 지역을 사용하여 질의한다. "주" 드롭다운 리스트는 파라미터 질의로부터 설정된 결과로 되어 있다. "주" 드롭다운 리스트에서 선택되면 (예를 들어, 워싱톤), "도시" 파라미터와 관련된 데이터 소스는 질의 파라미터로서 "주" 드롭다운 리스트 내에서 선택된 주를 사용하여 질의한다.
도 3은 본 발명에 따른 예시적인 시스템의 고레벨 블록도이다. 리포트 프로세서(310)와 데이터 프로세서(315)를 포함하는 리포트 서버(300)는 상술한 바와 같이 요구 컴퓨터(320)와 상호작용한다. 리포트 서버(300)는 다양한 값과 데이터를 위한 외부 데이터 소스(330) 등의 스토리지 장치를 액세스한다. 리포트를 위한 요구에 응답하여, 예를 들어, 요구 컴퓨터(320)를 통해, 리포트 서버(300)는 후술하는 바와 같이 리포트를 발생한다. 여기에 기재된 바와 같이, 리포트 정의를 생성하기 위하여 사용된 리포트 작성/설계 툴(325)이 도시된다.
도 4는 본 발명에 따른 리포트 프로세싱 및 발생의 예시적인 방법의 플로우챠트이다. 종속성은 프리프로세싱 단계로서 결정되는 것으로 간주된다. 특히, 개별 리포트 파라미터의 디폴트 값 및/또는 허용 값이 즉시 평가될 수 없으면, 그 종속성의 리스트가 결정된다. 이것은 파라미터 입력에 대한 종속성을 표시하는 트리 구조를 발생시킨다. 예를 들어, 리포트에 대해 정의된 3개의 파라미터, 즉, 파라미터 1, 파라미터 2, 파라미터 3가 있는 것으로 가정한다. 파라미터 2의 유효 값 세트는 파라미터 1의 값을 사용하는 질의에 기초한다. 파라미터 3의 디폴트 값은 파라미터 1의 값을 이용하는 질의에 기초한다. 따라서, 파라미터 메타데이터가 리포트를 위해 검색될 때, 파라미터 2와 파라미터 3는 파라미터 1에 종속하는 것을 나타낼 수 있다.
리포트 서버는 단계(400)에서 프로세싱을 시작한다. 단계(400)에서, 파라미터, 데이터 세트 및 데이터 소스를 포함하는 적절한 리포트 정의(예를 들어, 도 5를 참조하여 후술함)는 스토리지로부터 검색되거나 그렇지 않으면 발생된다. 파라미터 메타데이터는 그후 단계(410)에서 평가된다. 이 메타데이터는 후술하는 바와 같이 사용자가 공급한 임의의 값에 따라 파라미터의 디폴트 값과 허용 값과 같은 정보를 포함한다.
단계(415)에서 모든 파라미터가 값을 가지면, 단계(495)에서 리포트가 실행된다. 그렇지 않으면, 또다른 프로세싱을 위하여 단계(420)에서 다른 파라미터에 대한 미해결 종속성을 갖지 않는 파라미터가 선택된다. 임의의 미해결 종속성이없는 파라미터는 프롬프팅을 위해 사용자에게 표시하기 위한 그들의 허용 값과 디폴트 값을 검색하기 위하여 프로세싱된다. 이 방법에서, 파라미터에 대하여 사용자에 의해 검색되거나 지정된 값은 그 시퀀스 내의 후반의 파라미터의 디폴트 값 또는 허용 값 세트를 발생시키는 데 사용될 수 있다. 따라서, 파라미터를 위한 디폴트 값과 허용 값의 세트는 사용자에게 동적으로 제공되고, 더 효율적이고 정밀한 프로세스를 허용한다.
단계(425)에서, 임의의 미해결 종속성을 갖지 않는 파라미터가 선택된다. 단계(430)에서, 파라미터를 위한 허용 값에 대한 질의가 있는지를 결정한다. 질의가 있으며, 단계(435)에서 허용 값은 외부 데이터 소스(450)를 이용하여 검색된다. 따라서, 상술한 예와 관련하여, 파라미터 "주"가 사용자가 이미 "노스웨스트"를 선택한 파라미터"지역"에 종속하면, 단계(435)에서 검색된 허용 값은 미국내의 노스웨스트 지역내에 있는 주이다. 이들 주는 예를 들어 리포트 발생동안 사용되는 값을 선택하기 위한 프롬프트로서 드롭다운 리스트 내에서 사용자에게 바람직하게 제공될 것이다.
단계(430)에서 허용 값에 대하여 지정된 질의가 없거나 허용 값이 검색된 후, 단계(440)에서, 디폴트 값에 대한 질의가 있는지를 결정한다. 질의가 있으면, 단계(445)에서 디폴트가 외부 데이터 소스(450)로부터 검색된다. 그렇지 않으면 또는 디폴트 값이 검색된 후, 단계(460)에서, 단계(420)로부터, 미해결 종속성이 없는 추가의 파라미터가 잔존하는지를 결정한다. 추가의 파라미터가 잔존하면, 프로세싱은 단계(425)로 되돌아가서, 다음의 파라미터가 프로세싱된다.
임의의 미해결 종속성을 갖지 않는 모든 파라미터가 프로세싱된 후, 단계(470)에서 사용자들에게 값(들)에 대하여 프롬프트되고(예를 들어, 사용자는 상기의 예에서 검색된 허용 값 및/또는 디폴트 값에 응답하여 제공된 드롭다운 리스트로부터 선택하고, 노스웨스트 지역내의 주의 드롭다운 리스트에 나타나는 주로부터 주를 선택한다), 프로세싱은 상술한 바와 같이 추가의 파라미터가 검색되고 후속으로 프로세싱되는 단계(410)에서 계속된다. 이 방법에서, 사용자에게는 사용자가 후속의 리포트 발생에서 사용되는 값을 선택하는 일련의 드롭다운(또는 다른 유형의) 리스트가 부여된다. 드롭다운 리스트는 모든 선택의 타겟 서브세트를 부여하고, 서브세트는 예상되는 사용자 응답을 포함한다(예를 들어, 사용자가 미국의 노스웨스트 지역내의 주를 지정했으면, 사용자에게 노스웨스트 지역의 주의 드롭다운 리스트만이 부여되고, 미국내의 모든 주의 리스트가 부여되지 않는다; 노스웨스트 지역내의 주는 모든 선택의 타겟 서브세트로 간주된다).
도 5는 본 발명에 따른 예시적인 리포트 정의의 다이어그램이다. 리포트(500)는 이름, 설명, 저자 및 페이지 폭과 높이 등의 메타데이터를 궁극적으로 포함한다. 리포트는 후술하는 바와 같이 질의 파라미터(570)에 기초하여 리포트 파라미터(505) 및 데이터 세트(540)에 따라 발생된다. 각각의 리포트 파라미터는 디폴트 값(510)과 유효 값(520) 세트를 선택적으로 지정할 수 있다. 디폴트 값(510)은 저장된 상수 값(515)를 통해 특정되거나 데이터 세트 참조(530)를 통해 도출될 수 있다. 마찬가지로, 유효 값(520)은 저장된 상수 파라미터 값(525)의 세트일 수 있거나 또는 데이터 세트 참조(530)를 통해 도출될 수 있다.
데이터 세트(540)는 질의(550) 및 데이터 모델(560)에 따라 발생된다. 질의(550)는 질의 파라미터(570)를 포함하고, 데이터 모델(560)은 다양한 필드를 포함한다. 데이터 세트 참조(530)는 데이터 세트내의 필드에 대한 참조를 포함한다. 이들 필드의 값은 디폴트 값(데이터 세트 참조를 갖는 디폴트 값의 경우)으로서 사용되거나 값/레이블 쌍(데이터 세트 참조를 갖는 유효 값의 경우)으로서 사용된다.
파라미터는 리포트 정의에서 지정된다. 파라미터 유형은 리포트 파라미터(505) 및 질의 파라미터(570)를 포함한다. 리포트 파라미터(505)는 리포트가 상이한 형태의 데이터를 나타내도록 하는 리포트(500)에 공급된(또는 리포트 정의내에 포함된) 값이다. 리포트 파라미터는 일반적으로 값을 질의 파라미터에 제공하는 데 사용된다. 리포트 파라미터의 추가 사용은 리포트에 사용되는 표현에 종속하여 리포트 외관의 포스트-질의 필터링(post-query filtering) 및 변경을 포함한다.
질의 파라미터(570)는 그 결과를 리턴하는 데 사용되는 데이터 프로세서에서 질의(550) 또는 저장된 절차에 공급되는 값이다. 질의 파라미터의 능력은 일반적으로 데이터 프로세서(예를 들어, 데이터 프로세서(315))에 의해 정의된다. 질의 파라미터는 리포트 파라미터(505)에 기초한 고정 값 또는 표현을 포함하는 임의의 허용가능한 표현으로 설정될 수 있다.
질의 파라미터는 데이터 프로세서가 지원하는 API를 통해 데이터 프로세서에 전달되는 것이 바람직하다. 질의 파라미터 표현이 평가된 후, 그 결과는 적절한데이터 유형으로 변환된 후 데이터 프로세서로 전달된다. 질의 파라미터 신택스(query parameter syntax)는 바람직하게 사용된 데이터 프로세서에 종속한다. 예를 들어, SQL 서버는 "SELECT * FROM EMPLOYEES WHERE LEVEL = ?"등의 SELECT 문장의 질문 마크 문자를 사용할 수 있다. 또한, 저장된 절차에서 직접 정의된 파라미터를 사용할 수 있다(예를 들어, "EXECUTE GetEmployeeIDParm").
표 1은 파라미터를 위한 예시적인 메타 데이터를 나타낸다.
이름 유형 설명
Name 스트링 파라미터의 이름
Type 스트링 파라미터의 데이터 유형불린|날짜시간|더블|정수|스트링
Nullable 불린(boolean) 파라미터의 값이 널(null)이면 표시. 참이면 파라미터의 값이 널일 수 있다.
AllowBlank 불린 빈 스트링이 유효 값이면 표시. 참이면 빈 스트링이 유효 값임. 유형이 스트링이 아니면 무시함.
UsedInQuery 불린 파라미터가 질의에서 사용되면 표시. 참이면 파라미터가 질의에서 사용됨.
Prompt 스트링 파라미터 값에 대하여 질문하면 사용자에게 디스플레이할 것을 프롬프트함. 디폴트는 이름 뒤에 ":" 문자가 뒤따름.
PromptUser 불린 사용자에게 이 파라미터의 값에 대하여 프롬프트하였는지의 여부
Dependencies (XML) 값(들)이 유효값 및/또는 값을 검색하는 데 사용되는 질의에 파라미터로서 사용되는 리포트 파라미터 이름의 리스트. 유효값 및/또는 값이 파라미터를 갖는 질의에 기초하면 리턴됨. 상부 레벨 엘리먼트가 종속성임.
ValidValues (XML) 사용자 인터페이스의 디스플레이를 위하여 사용되는 파라미터를 위한 가능한 값. 0내지 n개의 값 서브-엘리먼트를 가짐.
DefaultValues (XML) 파라미터의 디폴트 값. 0 내지 n개의 값 서브-엘리먼트를 가짐.
도 6은 리포트와 관련된 각각의 리포트 파라미터에 대하여 사용자에게 예시적인 제어가 제공되는 방법을 설명하는 데 유용한 트리 다이어그램이다. 질의에 기초한 값은 파라미터 엘리먼트의 값 서브-엘리먼트의 부재와 결합된 서브-엘리먼트의 종속성의 존재에 의해 결정된다. 값 서브-엘리먼트에 대하여, 단계(600)에서, 그 값이 질의에 기초한 것인지, 하드 코드(hard-coded)된 것인지 또는 비지정되었는지를 결정한다. 값이 질의에 기초하면, 단계(605)에서 예를 들어 제어는 질의 기초이고 적절한 메시지가 디스플레이된다. 값이 하드 코드되거나 비지정되면, 단계(610)에서 유형 서브-엘리먼트가 결정된다. 유형이 불린이면, 단계(615)에서 "참" 및 "거짓" 표시기(예를 들어, 라디오 버튼)이 제공되거나 그렇지 않으면 디스플레이된다. 그렇지 않으면, 유형이 예를 들어 데이트타임(DateTime), 더블, 정수 또는 스트링이면, 단계(620)에서 유효 값이 제공되는지를 결정한다.
유효 값이 제공되지 않으면, 단계(625)에서 종속성 서브-엘리먼트가 제공되는지를 판정한다. 그렇지 않으면, 단계(640)에서 다수 값이 있는지를 결정하고, 단계(655)에서 다수 라인 편집 제어가 제공된다. 단계(640)에서 다수 값이 부여되지 않으면, 단계(650)에서 단일 라인 편집 제어가 제공된다. 단계(625)에서 종속성 서브-엘리먼트가 부여되면, 단계(635)에서 드롭다운 리스트 제어가 제공된다. 드롭 다운 리스트 제어와 관련하여, 제공된 다수 값이 있으면, 드롭다운 리스트가 바람직하게 다수 선택이고, 그렇지 않으면, 드롭다운 리스트가 바람직하게 단일 선택이다.
도 7은 예시적인 제어가 초기화되는 방법 및 리포트와 관련된 각각의 리포트 파라미터에 대한 그 디폴트 값을 설명하기에 유용한 트리 다이어그램이다. 다수의 조건에 기초하여 제어가 초기화된다. 조건은 유효 값 리스트 및 값이 존재하는 경우, 유효 값이 존재하는 경우 등을 포함한다. 이 초기화 트리는 질의 또는 사용자 기초로부터 도출되지 않는 파라미터에 일반적으로 적용된다. 단계(700)에서, 유효값 서브-엘리먼트가 부여되는지를 결정한다. 그렇지 않으면, 단계(740)에서 값 서브-엘리먼트가 결정된다. 값 서브-엘리먼트의 값이 하드 코드되면, 단계(745)에서 그 값이 디스플레이된다. 값 서브-엘리먼트의 값이 지정되지 않으면, 단계(750)에서 유형 서브-엘리먼트가 데이트타임(DateTime)인지를 결정한다. 그러면, 단계(755)에서 현재의 날짜와 시간이 디스플레이되고, 그렇지 않으면, 단계(760)에서 블랭크가 제공된다.
단계(700)에서 유효 값 서브-엘리먼트가 제공되면, 단계(705)에서 제어가 유효 값으로 된다. 단계(710)에서, 값 서브-엘리먼트 값이 검색되고, 값이 지정되지 않으면, 단계(715)에서 블랭크가 제공된다. 단계(710)로부터의 값이 하드 코드되면, 단계(720)에서 값이 이미 정의되거나 발생된 제어 리스트 내에 있는지를 결정한다. 그러면, 단계(730)에서 값 또는 값들이 선택되고, 그렇지 않으면, 단계(725)에서 블랭크가 디스플레이된다.
리포트 파라미터에 대한 값이 프롬프트되면, 값을 설정하는 데 사용되는 제어(HTML 제어 일 수 있다)는 다수의 조건에 기초한다. 조건은 디폴트 값이 입력되는 경우, 파라미터 데이터 유형, 널(NULL)이 수용가능한 값인 경우, 유효 값의 미리 정의된 리스트가 존재하는 경우 등을 포함한다. 이들 조건에 기초한 리포트와 관련된 각각의 리포트 파라미터에 대하여 사용자에게 부여된 제어(들)는 여기에 기재된 바와 같이 단계(610)에서 시작하는 도 6과 같이 발생되는 것이 바람직하다.
도 8은 조건에 기초한 리포트와 관련된 각각의 파라미터에 대하여 사용자에게 예시적인 제어(들)가 부여되는 방법을 설명하는 데 유용한 트리 다이어그램이다. 제어는 다수의 조건에 기초하여 초기화된다. 조건은 유효 값 리스트 및 값이 존재하는 경우, 유효 값이 존재하는 경우 등을 포함한다. 도 8은 제어가 초기화되는 방법과 이들 조건에 기초한 리포트와 관련된 각각의 리포트 파라미터에 대한 그 디폴트 값을 정의한다. 임의의 경우, 값 서브-엘리먼트의 값이 널(NULL)일 수 있음이 예상된다.
단계(800)에서, 유효 값 서브-엘리먼트가 부여되는지의 여부에 대하여 결정한다. 유효 값 서브-엘리먼트가 부여되지 않으면, 단계(850)에서 값 서브-엘리먼트가 부여되는지를 결정한다. 값 서브-엘리먼트가 부여되지 않으면, 단계(855)에서 블랭크가 부여된다. 값 서브-엘리먼트가 부여되면, 단계(860)에서 값 서브-엘리먼트의 값이 하드 코드되는지를 결정한다. 그러면, 단계(865)에서 그 값이 디스플레이된다. 값 서브-엘리먼트의 값이 지정되지 않으면, 단계(870)에서 유형 서브-엘리먼트가 데이트타임인지를 결정한다. 그러면, 단계(875)에서 현재의 날짜와 시간을 디스플레이하고, 그렇지 않으면, 단계(880)에서 블랭크가 제공된다.
단계(800)에서 유효 값 서브-엘리먼트가 부여되면, 단계(805)에서 제어가 유효 값으로 된다. 단계(810)에서, 값 서브-엘리먼트 값이 검색되고, 값이 부여되지 않으면, 단계(815)에서 블랭크가 제공된다. 단계(810)로부터 값이 부여되면, 단계(820)에서 값 서브-엘리먼트의 값이 하드 코드 또는 비지정되는지를 결정한다. 값이 지정되지 않으면, 단계(825)에서 블랭크가 제공된다. 값 서브-엘리먼트의 값이 하드코드되면, 단계(830)에서 값이 미리 정의되거나 발생된 제어 리스트 내에 있는지를 결정한다. 그러면, 단계(840)에서 값 또는 값들이 선택되고, 그렇지 않으면 단계(835)에서 블랭크가 디스플레이된다.
상술한 바와 같이, 본 발명의 예시적인 실시예가 다양한 컴퓨팅 시스템과 네트워크 아키텍처와 결합하여 설명되었지만, 그 기본 개념은 임의의 컴퓨팅 장치 또는 시스템에 적용될 수 있다.
여기에 기재된 다양한 기술이 하드웨어 또는 소프트웨어 또는 그들의 적절한 조합과 결합하여 구현될 수 있다. 따라서, 본 발명의 방법 및 장치 또는 소정의 형태 또는 그 일부가 플로피 디스켓, CD-ROM, 하드 드라이브 또는 임의의 다른 머신-판독가능 스토리지 매체 등의 실체적인 매체에서 구현되는 프로그램 코드(즉, 명령)의 형태를 취할 수 있고, 프로그램 코드가 컴퓨터 등의 머신로 로딩되고 그 머신에 의해 실행될 때, 머신은 본 발명을 실행하는 장치가 될 것이다. 프로그램가능 컴퓨터상의 프로그램 코드 실행의 경우, 컴퓨팅 장치는 일반적으로 프로세서, 프로세서에 의해 판독가능한 스토리지 매체(휘발성 및 비휘발성 메모리 및/또는 스토리지 엘리먼트를 포함), 하나 이상의 입력 장치 및 하나 이상의 출력 장치를 포함할 것이다. 예를 들어, 데이터 프로세싱 API 등의 사용을 통해 본 발명의 도메인 특정 프로그래밍 모델 형태의 생성 및/또는 구현을 이용할 수 있는 하나 이상의 프로그램이 바람직하게 고레벨 절차 또는 객체 지향 프로그래밍 언어로 구현되어 컴퓨터 시스템과 통신한다. 그러나, 프로그램(들)은 소망한다면 어셈블리 또는 기계어로 구현될 수 있다. 임의의 경우, 언어는 컴파일 또는 인터프리트 언어일 수 있고 하드웨어 구현과 결합될 수 있다.
본 발명의 방법 및 장치는 파이버 옵틱스 또는 임의의 다른 형태의 송신을통해 전기 배선 또는 케이블링 등의 임의의 송신 매체를 통해 송신된 프로그램 코드의 형태로 구현되는 통신을 통해 실행될 수 있고, 프로그램 코드가 EPROM, 게이트 어레이, 프로그래머블 논리 장치(PLD), 클라이언트 컴퓨터 등의 머신에 수신되고 로딩되며 그 머신에 의해 실행될 때, 머신은 본 발명을 실행하는 장치가 된다. 범용 프로세서 상에서 구현될 때, 프로그램 코드는 프로세서와 결합하여 본 발명의 기능을 처리하기 위하여 동작하는 단일 장치를 제공한다. 또한, 본 발명과 결합하여 사용되는 임의의 스토리지 기술은 하드웨어 및 소프트웨어의 조합일 수 있다.
본 발명은 다양한 도면의 바람직한 실시예와 결합하여 설명하였지만, 범위를 벗어나지 않고 다른 유사한 실시예가 사용되거나 본 발명의 동일한 기능을 수행하는 기재된 실시예에 대한 변경 및 부가가 가능하다. 따라서, 본 발명은 임의의 단일 실시예에 한정되지 않으며 첨부된 청구항에 따른 범위내에서 해석되어야 한다.
상술한 바와 같이, 본 발명에 따르면, 사용자 값과 선택이 수집되고 리포트 서버에 제공되어 사용자 값 및 선택에 따라 일반적으로 정의된 리포트를 커스토마이즈하는 향상된 리포트 파라미터화 시스템을 제공할 수 있는 효과가 있다.

Claims (36)

  1. (a) 정렬된 파라미터 세트들을 갖는 리포트 정의를 수신하는 단계;
    (b) 상기 정렬된 세트들 중 한 세트 내의 제1 파라미터 세트에 대한 복수의 값을 수신하는 단계;
    (c) 제1 파라미터 세트에 대하여 수신된 값에 응답하여 후속의 파라미터 세트에 대한 값을 요구하기 위하여 복수의 프롬프트를 발생시키는 단계 - 상기 프롬프트는 후속 파라미터에 대한 허용 값 세트를 포함함 -;
    (d) 각각의 파라미터 세트에 대하여 모든 파라미터 값이 지정될 때까지 단계(a) 내지 (c)를 반복하는 단계; 및
    (e) 리포트 정의 및 상기 수신된 값에 기초하여 리포트를 실행하는 단계
    를 포함하는 리포트 프로세싱 방법.
  2. 제1항에 있어서, 상기 복수의 프롬프트를 발생시키는 단계는 제1 파라미터 세트에 대하여 수신된 값에 기초하여 후속의 파라미터 세트에 대한 포텐셜 값 세트와 디폴트 값을 수신하는 단계를 포함하는 리포트 프로세싱 방법.
  3. 제1항에 있어서, 후속 파라미터에 대한 포텐셜 값 세트를 수신하고 상기 제1파라미터 세트에 대하여 수신된 값에 기초하여 상기 포텐셜 값 세트를 상기 허용 값 세트에 대응하는 서브세트로 억제하는 단계를 더 포함하는 리포트 프로세싱 방법.
  4. 제1항에 있어서, 상기 복수의 프롬프트를 발생시키는 단계는 각각의 후속 파라미터에 대한 허용 값 세트를 포함하는 드롭다운 리스트를 발생시키는 단계를 포함하는 리포트 프로세싱 방법.
  5. 제4항에 있어서, 상기 드롭다운 리스트를 디스플레이하고 입력 선택을 수신하는 단계를 더 포함하고, 상기 입력 선택은 각각의 후속 파라미터에 대하여 수신된 값에 대응하는 리포트 프로세싱 방법.
  6. 제1항에 있어서, 상기 값을 수신하는 단계는 스토리지 장치로부터 디폴트 값을 수신하는 단계를 포함하는 리포트 프로세싱 방법.
  7. 제1항에 있어서, 상기 값을 수신하는 단계는 사용자 입력 값에 대응하는 값을 수신하는 단계를 포함하는 리포트 프로세싱 방법.
  8. 제1항에 있어서, 상기 정렬된 파라미터 세트들의 추가 파라미터에 대한 값의 요구를 위한 추가의 프롬프트를 발생시키는 단계를 더 포함하고, 각각의 추가 프롬프트는 관련된 파라미터에 대한 허용 값 세트를 포함하고, 상기 허용 값 세트는 하나 이상의 미리 수신된 값에 응답하여 결정되는 리포트 프로세싱 방법.
  9. 제8항에 있어서, 상기 추가의 프롬프트를 발생시키는 단계는 파라미터들간의 종속성에 기초하는 시퀀스 순서로 추가의 프롬프트를 발생시키는 단계를 포함하는 리포트 프로세싱 방법.
  10. 제8항에 있어서, 상기 추가의 파라미터의 각각은 미해결 종속성이 없는 리포트 프로세싱 방법.
  11. 제1항에 있어서, 상기 후속 파라미터는 미해결 종속성이 없는 리포트 프로세싱 방법.
  12. 제1항에 있어서, 상기 값을 수신하기 전에 상기 정렬된 파라미터 세트들의 파라미터의 각각에 관련된 메타데이터를 검색하는 단계를 더 포함하는 리포트 프로세싱 방법.
  13. (a) 정렬된 파라미터 세트들을 갖는 리포트 정의를 수신하는 단계;
    (b) 상기 정렬된 세트들 중 제1 파라미터 세트에 대한 복수의 값을 수신하는 단계;
    (c) 제1 파라미터 세트에 대하여 수신된 값에 응답하여 후속의 파라미터 세트에 대한 값을 요구하기 위하여 복수의 프롬프트를 발생시키는 단계 - 상기 프롬프트는 후속 파라미터에 대한 허용 값 세트를 포함함 -;
    (d) 각각의 파라미터 세트에 대하여 모든 파라미터 값이 지정될 때까지 단계(a) 내지 (c)를 반복하는 단계; 및
    (e) 리포트 정의 및 상기 수신된 값에 기초하여 리포트를 실행하는 단계
    를 포함하는 리포트 프로세싱 방법을 수행하는 컴퓨터 실행가능 명령을 저장한 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 복수의 프롬프트를 발생시키는 단계는 제1 파라미터 세트에 대하여 수신된 값에 기초하여 후속의 파라미터 세트에 대한 포텐셜 값 세트와 디폴트 값을 수신하는 단계를 포함하는 컴퓨터 판독가능 매체.
  15. 제13항에 있어서, 후속 파라미터에 대한 포텐셜 값 세트를 수신하고 상기 제1 파라미터 세트에 대하여 수신된 값에 기초하여 상기 포텐셜 값 세트를 서브세트로 억제하는 컴퓨터 실행가능 명령을 더 포함하고, 상기 서브세트는 상기 허용 값 세트에 대응하는 컴퓨터 판독가능 매체.
  16. 제13항에 있어서, 상기 복수의 프롬프트를 발생시키는 단계는 각각의 후속 파라미터에 대한 허용 값 세트를 포함하는 드롭다운 리스트를 발생시키는 단계를 포함하는 컴퓨터 판독가능 매체.
  17. 제16항에 있어서, 상기 드롭다운 리스트를 디스플레이하고 입력 선택을 수신하는 컴퓨터 실행가능 명령을 더 포함하고, 상기 입력 선택은 각각의 후속 파라미터에 대하여 수신된 값에 대응하는 컴퓨터 판독가능 매체.
  18. 제13항에 있어서, 상기 값을 수신하는 단계는 스토리지 장치로부터 디폴트 값을 수신하는 단계를 포함하는 컴퓨터 판독가능 매체.
  19. 제13항에 있어서, 상기 값을 수신하는 단계는 사용자 입력 값에 대응하는 값을 수신하는 단계를 포함하는 컴퓨터 판독가능 매체.
  20. 제13항에 있어서, 상기 정렬된 파라미터 세트들의 추가 파라미터에 대한 값의 요구를 위한 추가의 프롬프트를 발생시키는 단계를 더 포함하고, 각각의 추가 프롬프트는 관련된 파라미터에 대한 허용 값 세트를 포함하고, 상기 허용 값 세트는 하나 이상의 미리 수신된 값에 응답하여 결정되는 컴퓨터 판독가능 매체.
  21. 제20항에 있어서, 상기 추가의 프롬프트를 발생시키는 단계는 파라미터들간의 종속성에 기초하여 시퀀스 순서로 추가의 프롬프트를 발생시키는 단계를 포함하는 컴퓨터 판독가능 매체.
  22. 제20항에 있어서, 상기 추가의 파라미터의 각각은 미해결 종속성이 없는 컴퓨터 판독가능 매체.
  23. 제13항에 있어서, 상기 후속 파라미터는 미해결 종속성이 없는 컴퓨터 판독가능 매체.
  24. 제13항에 있어서, 상기 값을 수신하기 전에 상기 정렬된 파라미터 세트들의 파라미터의 각각에 관련된 메타데이터를 검색하는 컴퓨터 실행가능 명령을 더 포함하는 컴퓨터 판독가능 매체.
  25. 복수의 파라미터에 관련된 데이터를 저장하는 스토리지 장치; 및
    상기 스토리지 장치에 결합되고 리포트 프로세서 및 데이터 프로세서를 포함하는 리포트 서버 - 상기 리포트 서버는, (a) 정렬된 파라미터 세트들을 갖는 리포트 정의를 수신하고; (b) 상기 정렬된 세트들 중 제1 파라미터 세트에 대한 복수의 값을 수신하고; (c) 제1 파라미터 세트에 대하여 수신된 값에 응답하여 후속의 파라미터 세트에 대한 값을 요구하기 위하여 복수의 프롬프트를 발생시키고 - 상기 프롬프트는 후속 파라미터에 대한 허용 값 세트를 포함함 -; (d) 각각의 파라미터 세트에 대하여 모든 파라미터 값이 지정될 때까지 단계(a) 내지 (c)를 반복하고; (e) 리포트 정의 및 상기 수신된 값에 기초하여 리포트를 실행함 -;
    를 포함하는 리포트 프로세싱 시스템.
  26. 제25항에 있어서, 상기 리포트 서버는, 상기 복수의 프롬프트를 발생시키는 데 있어서, 제1 파라미터 세트에 대하여 수신된 값에 기초하여 후속의 파라미터 세트에 대한 포텐셜 값 세트와 디폴트 값을 수신하는 리포트 프로세싱 시스템.
  27. 제25항에 있어서, 상기 리포트 서버는 후속 파라미터에 대한 포텐셜 값 세트를 수신하고 상기 제1 파라미터 세트에 대하여 수신된 값에 기초하여 상기 포텐셜 값 세트를 서브세트로 억제하며, 상기 서브세트는 상기 허용 값 세트에 대응하는 리포트 프로세싱 시스템.
  28. 제25항에 있어서, 상기 리포트 프로세서는 각각의 후속 파라미터에 대한 허용 값 세트를 포함하는 드롭다운 리스트를 발생시키는 리포트 프로세싱 시스템.
  29. 제28항에 있어서, 상기 리포트 서버는 상기 드롭다운 리스트를 디스플레이하고 입력 선택을 수신하며, 상기 입력 선택은 각각의 후속 파라미터에 대하여 수신된 값에 대응하는 리포트 프로세싱 시스템.
  30. 제25항에 있어서, 상기 값 중 하나 이상은 스토리지 장치로부터의 디폴트 값을 포함하는 리포트 프로세싱 시스템.
  31. 제25항에 있어서, 상기 값 중 하나 이상은 사용자 입력 값에 대응하는 값을포함하는 리포트 프로세싱 시스템.
  32. 제25항에 있어서, 상기 리포트 프로세서는 상기 정렬된 파라미터 세트들의 추가 파라미터에 대한 값의 요구를 위한 추가의 프롬프트를 발생시키고, 각각의 추가 프롬프트는 관련된 파라미터에 대한 허용 값 세트를 포함하고, 상기 허용 값 세트는 하나 이상의 미리 수신된 값에 응답하여 결정되는 리포트 프로세싱 시스템.
  33. 제32항에 있어서, 상기 리포트 프로세서는 파라미터들간의 종속성에 기초하여 시퀀스 순서로 추가의 프롬프트를 발생시키는 리포트 프로세싱 시스템.
  34. 제32항에 있어서, 상기 추가의 파라미터의 각각은 미해결 종속성이 없는 리포트 프로세싱 시스템.
  35. 제25항에 있어서, 상기 후속 파라미터는 미해결 종속성이 없는 리포트 프로세싱 시스템.
  36. 제25항에 있어서, 상기 리포트 서버는 상기 스토리지 장치로부터 상기 정렬된 파라미터 세트 내의 파라미너의 각각에 관련된 메타데이터를 검색하는 리포트 프로세싱 시스템.
KR1020040008888A 2003-02-12 2004-02-11 보고서 프로세싱 방법, 보고서 프로세싱 시스템 및 이를 수행하는 컴퓨터 판독가능 기록 매체 KR101201019B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/365,304 2003-02-12
US10/365,304 US7657552B2 (en) 2003-02-12 2003-02-12 Declarative sequenced report parameterization

Publications (2)

Publication Number Publication Date
KR20040073343A true KR20040073343A (ko) 2004-08-19
KR101201019B1 KR101201019B1 (ko) 2012-11-14

Family

ID=32681708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040008888A KR101201019B1 (ko) 2003-02-12 2004-02-11 보고서 프로세싱 방법, 보고서 프로세싱 시스템 및 이를 수행하는 컴퓨터 판독가능 기록 매체

Country Status (10)

Country Link
US (1) US7657552B2 (ko)
EP (1) EP1447757A3 (ko)
JP (1) JP5192634B2 (ko)
KR (1) KR101201019B1 (ko)
CN (1) CN1525359A (ko)
AU (1) AU2004200472B2 (ko)
BR (1) BRPI0400182A (ko)
CA (1) CA2456339C (ko)
MX (1) MXPA04001295A (ko)
RU (1) RU2340937C2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697155B1 (ko) * 2004-12-03 2007-03-21 (주)엠투소프트 웹 서비스를 이용한 보고서 작성 시스템 및 그 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657552B2 (en) * 2003-02-12 2010-02-02 Microsoft Corporation Declarative sequenced report parameterization
US7979841B2 (en) * 2003-07-28 2011-07-12 National Instruments Corporation Programmatically determining calling information of a graphical program
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US8601383B2 (en) 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US7627812B2 (en) 2005-10-27 2009-12-01 Microsoft Corporation Variable formatting of cells
US7770100B2 (en) * 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US8712965B2 (en) 2006-06-29 2014-04-29 International Business Machines Corporation Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse
US9251222B2 (en) 2006-06-29 2016-02-02 International Business Machines Corporation Abstracted dynamic report definition generation for use within information technology infrastructure
US20080086400A1 (en) * 2006-09-15 2008-04-10 Carrie Ardelean Computerized credit services information management system
US8447771B2 (en) * 2006-11-20 2013-05-21 Oracle International Corporation Query generation
EP2235654A1 (en) * 2007-12-21 2010-10-06 Koninklijke Philips Electronics N.V. Detection of errors in the inference engine of a clinical decision support system
US8572510B2 (en) * 2008-09-30 2013-10-29 Sap Ag Handling multiple dynamically-linked dropdowns in online applications
US9047338B2 (en) 2008-12-17 2015-06-02 International Business Machines Corporation Managing drill-through targets
CA2706741C (en) 2010-06-29 2011-12-13 Ibm Canada Limited - Ibm Canada Limitee Managing parameters in filter expressions
FR2989808B1 (fr) * 2012-04-24 2014-06-06 Thales Sa Systeme de gestion d'alertes et de procedures electroniques entierement parametrable destine a un aeronef
JP2014204316A (ja) * 2013-04-05 2014-10-27 日本放送協会 音響信号再生装置、音響信号作成装置
US9384236B2 (en) * 2013-06-14 2016-07-05 Sap Se Method and system for operating on database queries
US9208200B1 (en) * 2014-11-01 2015-12-08 Veeva Systems Inc. System and method for reporting multiple objects in enterprise content management
WO2017165914A1 (en) * 2016-03-31 2017-10-05 Wisetech Global Limited "methods and systems for database optimisation"
CN109002427A (zh) 2017-06-06 2018-12-14 珠海金山办公软件有限公司 在电子表格中提示函数参数的方法、装置及电子设备
US11475008B2 (en) * 2020-04-28 2022-10-18 Capital One Services, Llc Systems and methods for monitoring user-defined metrics
US11836444B2 (en) 2020-06-26 2023-12-05 Adaptam Inc. Methods and systems for constructing a complex formula in a spreadsheet cell
US11977835B2 (en) 2021-05-24 2024-05-07 Adaptam Inc. Method and system for spreadsheet error identification and avoidance

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261093A (en) * 1990-11-05 1993-11-09 David Saroff Research Center, Inc. Interactive relational database analysis with successive refinement steps in selection of ouput data from underlying database
RU2006647C1 (ru) 1991-01-28 1994-01-30 Алтайский политехнический институт им.И.И.Ползунова Система питания карбюраторного двигателя внутреннего сгорания
US5787417A (en) * 1993-01-28 1998-07-28 Microsoft Corporation Method and system for selection of hierarchically related information using a content-variable list
GB9303873D0 (en) * 1993-02-25 1993-04-14 Massachusetts Inst Technology A computerized handbook of and tool for inventing organizational processes
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
JP3670318B2 (ja) * 1994-08-30 2005-07-13 富士通株式会社 データ入力装置及びデータ入力方法
US5715444A (en) 1994-10-14 1998-02-03 Danish; Mohamed Sherif Method and system for executing a guided parametric search
DK0762304T3 (da) 1995-09-14 1997-09-01 Citibank Ag Computersystem til administrationen af data samt fremgangsmåde til at drive systemet
US6625617B2 (en) * 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
EP0847019A1 (en) 1996-12-04 1998-06-10 Koninklijke Philips Electronics N.V. Method and system for selecting an information item in an information processing system, and local station in such a system
US5852818A (en) * 1996-12-23 1998-12-22 Oracle Corporation Non-recursive method for parameter evaluation within an information management system
US5978787A (en) * 1997-02-28 1999-11-02 Oracle Corporation Report server caching
US6131098A (en) * 1997-03-04 2000-10-10 Zellweger; Paul Method and apparatus for a database management system content menu
US6236987B1 (en) * 1998-04-03 2001-05-22 Damon Horowitz Dynamic content organization in information retrieval systems
US6233583B1 (en) * 1998-09-10 2001-05-15 International Business Machines Corporation Report generator for use within a lotus notes database system
RU2186423C2 (ru) 1998-12-15 2002-07-27 Закрытое акционерное общество "Агентство "Гуманитарные технологии" Система тестирования "телетестинг"
US6460031B1 (en) * 1999-06-28 2002-10-01 Sap Aktiengesellschaft System and method for creating and titling reports using an integrated title bar and navigator
US7185279B2 (en) * 2000-01-07 2007-02-27 Master Mine Software, Inc. Data mining and reporting
JP2002041948A (ja) 2000-07-25 2002-02-08 Nec Corp 緊急情報配信システム
JP4752099B2 (ja) * 2000-09-29 2011-08-17 ソニー株式会社 情報提供装置及び情報提供方法並びにデータ記録媒体
US20040073573A1 (en) 2000-12-01 2004-04-15 Mark Hopkins Product selection apparatus and method
JP2003016085A (ja) 2001-06-29 2003-01-17 Nippon Telegraph & Telephone West Corp コンテンツ検索システム、コンテンツ検索方法、コンテンツ検索プログラムおよび記録媒体
US7584425B2 (en) * 2001-07-31 2009-09-01 Verizon Business Global Llc Systems and methods for generating reports
US7657552B2 (en) * 2003-02-12 2010-02-02 Microsoft Corporation Declarative sequenced report parameterization
US20040193644A1 (en) * 2003-03-31 2004-09-30 Baker William P. Exposing a report as a schematized queryable data source
EP1683049A1 (en) * 2003-10-29 2006-07-26 Sap Ag Sytems and methods for searching and displaying reports

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697155B1 (ko) * 2004-12-03 2007-03-21 (주)엠투소프트 웹 서비스를 이용한 보고서 작성 시스템 및 그 방법

Also Published As

Publication number Publication date
AU2004200472B2 (en) 2009-08-06
CA2456339C (en) 2012-02-14
EP1447757A3 (en) 2006-04-19
CN1525359A (zh) 2004-09-01
AU2004200472A1 (en) 2004-09-02
JP2004246897A (ja) 2004-09-02
MXPA04001295A (es) 2005-06-17
US20040158557A1 (en) 2004-08-12
RU2004104017A (ru) 2005-07-27
JP5192634B2 (ja) 2013-05-08
US7657552B2 (en) 2010-02-02
EP1447757A2 (en) 2004-08-18
RU2340937C2 (ru) 2008-12-10
CA2456339A1 (en) 2004-08-12
BRPI0400182A (pt) 2004-12-28
KR101201019B1 (ko) 2012-11-14

Similar Documents

Publication Publication Date Title
KR101201019B1 (ko) 보고서 프로세싱 방법, 보고서 프로세싱 시스템 및 이를 수행하는 컴퓨터 판독가능 기록 매체
CN111177231B (zh) 报表生成方法和报表生成装置
US7054877B2 (en) Dealing with composite data through data model entities
US8751558B2 (en) Mashup infrastructure with learning mechanism
KR100856806B1 (ko) 수수료-기반 액세스의 제공 방법, 추상적 질의의 형성방법, 물리적 데이터의 수정 방법, 로직 프레임워크 제공방법, 컴퓨터 판독 가능 매체, 컴퓨터 및 수수료 정보의디스플레이 방법
US7013306B1 (en) XML input definition table for transforming XML data to internal format
US8108366B2 (en) Sequenced modification of multiple entities based on an abstract data representation
US10845962B2 (en) Specifying user interface elements
Nguyen et al. Accessing relational databases from the World Wide Web
US6507833B1 (en) Method and apparatus for dynamically rendering components at run time
US7058655B2 (en) Determining object graph and object graph projection
JP2006012173A (ja) データ抽象化モデルにおける関係管理
US20090157639A1 (en) Framework for dynamic analysis of varying structured data using multiple analysis techniques
US10114617B2 (en) Rapid visualization rendering package for statistical programming language
US6493704B1 (en) Method and apparatus for using metadata to dynamically generate a display page to solicit input from a user
US7124135B1 (en) Step to access native script in a legacy database management system using XML message
Alshraiedeh et al. An approach to extend WSDL-based data types specification to enhance web services understandability
US7143104B1 (en) Converter for XML document type definition to internal XML element mapping tree
US7315868B1 (en) XML element to source mapping tree
US7191167B1 (en) Step to save current table for later use
US7506045B1 (en) Method and mechanism for the development and implementation of a web-based user interface
US7099877B1 (en) Step to define inputs for a service

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 7