Coder Social home page Coder Social logo

kapiya / cubedata Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jasonwjones/cubedata

0.0 1.0 0.0 117 KB

cubedata is a simple utility for easily generating data that can be used to test the performance characteristics of an OLAP cube

Home Page: http://www.jasonwjones.com

License: Apache License 2.0

Java 100.00%

cubedata's Introduction

/*  Copyright 2012 Jason Jones
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

 
BACKGROUND & ABOUT
================== 

cubedata (Cube Data generator) is a small, simple, and free utility for 
use in testing Essbase cubes. Although there is nothing specific to 
Essbase in the files, it is primarily intended to be used with Essbase.

cubedata generates a text file with all of the permutations of members that you
specify. This is intended to test the performance characteristics of a BSO cube.
It can also be used, of course, with an ASO cube. Using a simple configuration
file, a data file can be generated with massive amounts of data suitable for
testing in a cube. You'll need to create a simple load rule in order to load the
data as presently the format that is output is not a "natural load" format that
can be used without a load rule. For example, a simple configuration file with
the following contents:

	dimensions=Time,Scenario,Location,Departments
	
	members.Time=P01,P02
	members.Scenario=Actual,Budget
	members.Location=Lo.806,Lo.808,Lo.822
	members.Departments=Dt.01,Dt.02,Dt.03,Dt.04

Will generate all of the following data:

	P01,Actual,Lo.806,Dt.01,911.85
	P01,Actual,Lo.806,Dt.02,887.100
	P01,Actual,Lo.806,Dt.03,251.49
	P01,Actual,Lo.806,Dt.04,115.64
	P01,Actual,Lo.808,Dt.01,197.60
	P01,Actual,Lo.808,Dt.02,704.71
	P01,Actual,Lo.808,Dt.03,512.76
	P01,Actual,Lo.808,Dt.04,531.50
	P01,Actual,Lo.822,Dt.01,982.92
	P01,Actual,Lo.822,Dt.02,939.89
	P01,Actual,Lo.822,Dt.03,228.89
	P01,Actual,Lo.822,Dt.04,607.65
	P01,Budget,Lo.806,Dt.01,765.63
	P01,Budget,Lo.806,Dt.02,901.76
	P01,Budget,Lo.806,Dt.03,214.02
	P01,Budget,Lo.806,Dt.04,827.80
	P01,Budget,Lo.808,Dt.01,898.76
	P01,Budget,Lo.808,Dt.02,243.34
	P01,Budget,Lo.808,Dt.03,542.69
	P01,Budget,Lo.808,Dt.04,655.40
	P01,Budget,Lo.822,Dt.01,689.74
	P01,Budget,Lo.822,Dt.02,417.76
	P01,Budget,Lo.822,Dt.03,967.11
	P01,Budget,Lo.822,Dt.04,260.65
	P02,Actual,Lo.806,Dt.01,265.39
	P02,Actual,Lo.806,Dt.02,33.59
	P02,Actual,Lo.806,Dt.03,412.62
	P02,Actual,Lo.806,Dt.04,606.48
	P02,Actual,Lo.808,Dt.01,192.98
	P02,Actual,Lo.808,Dt.02,829.82
	P02,Actual,Lo.808,Dt.03,931.96
	P02,Actual,Lo.808,Dt.04,800.80
	P02,Actual,Lo.822,Dt.01,706.85
	P02,Actual,Lo.822,Dt.02,969.74
	P02,Actual,Lo.822,Dt.03,96.66
	P02,Actual,Lo.822,Dt.04,543.98
	P02,Budget,Lo.806,Dt.01,965.96
	P02,Budget,Lo.806,Dt.02,464.94
	P02,Budget,Lo.806,Dt.03,620.88
	P02,Budget,Lo.806,Dt.04,883.96
	P02,Budget,Lo.808,Dt.01,26.41
	P02,Budget,Lo.808,Dt.02,473.03
	P02,Budget,Lo.808,Dt.03,1.92
	P02,Budget,Lo.808,Dt.04,337.79
	P02,Budget,Lo.822,Dt.01,270.68
	P02,Budget,Lo.822,Dt.02,217.62
	P02,Budget,Lo.822,Dt.03,245.25
	P02,Budget,Lo.822,Dt.04,789.81

This may be more convenient than generating data by hand or using Excel to lock
and send. cubedata comes with a runnable Java JAR file that can be used as is, 
assuming that a recent JRE is installed (currently just tested with 1.6). It 
looks for a file called data.properties that contains the specification. A 
different file can be specified on the command-line and it will be used instead.

HOW TO USE
==========

Assuming the java executable is on your path, you can run cubedata simply by
writing:

	java -jar cubedata.jar
	
(Note that the filename cubedata.jar may be different such as
cubedata-1.0.0.jar, in which case you will have to specify that instead). You
may pass a properties file to use like the following:

	java -jar cubedata.jar salesdata.properties

If none is specified then cubedata will look for data.properties in the current
folder. Note that there are several other options you can specify that will 
affect how the text file is generated. Please see the example file for these
options, which include things like the following:

	- Name of output file
	- Column delimiter
	- Load factor

BUILDING
========
cubedata comes ready to run as-is but if you are so inclined to make changes
you may pull down the source code, edit it, and use Maven to build it. 

cubedata is a Maven project designed for easy builds and updates. Simply run a 
Maven package command from the root project folder, and all files will be 
generated. The runtime JAR file has no dependencies that you need to worry about.

THANKS
======
Thank you for checking out this software. It is simple, but useful, and it might
come in handy during your development and testing efforts.

Jason Jones

cubedata's People

Contributors

jasonwjones avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.