Recent

Author Topic: Palo c Library Bindings for Pascal  (Read 16071 times)

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Palo c Library Bindings for Pascal
« on: May 24, 2011, 02:07:53 am »
Palo c Library Bindings for Pascal
24.05.2011
This package is a Pascal language translation of the Palo library header files (*.h) (Palo version 3.1)

Palo OLAP Server is a multidimensional in-memory OLAP Server.

 8)

http://hotfile.com/dl/118746489/ec8c0bc/PALO_3.1_PAS_SDK.rar.html

Edit:
https://rapidshare.com/files/2752134067/PALO_3.1_PAS_SDK.7z
« Last Edit: December 14, 2012, 06:26:04 pm by HIGH-Zen »

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Update
« Reply #1 on: September 15, 2011, 10:10:43 am »
2 units:

1. palocomm.pas
PaloConnection class
(main class to use for communication with the Palo server)
procedures:
-GetData
-SetData
-Ping
-DimensionAddOrUpdateDimElement
-DimElementDelete
-DimElementMove
-DimensionListElements
-DimElementListConsolidated
-ElementInformation

2. commhelper.pas
CommHelperBasic class
procedure:
- GetDimElementInfoTreeList: TList

http://hotfile.com/dl/129842937/adb846f/PALO_3.1_PAS_SDK_update.zip.html


https://rapidshare.com/files/1577801051/PALO_3.1_PAS_SDK_update.zip
« Last Edit: June 08, 2020, 02:32:12 pm by HIGH-Zen »

xinyiman

  • Hero Member
  • *****
  • Posts: 2256
    • Lazarus and Free Pascal italian community
Re: Palo c Library Bindings for Pascal
« Reply #2 on: September 15, 2011, 01:40:12 pm »
Hello I do not know the potential PALO, describe me a moment? The library is cross-platform?
Win10, Ubuntu and Mac
Lazarus: 2.1.0
FPC: 3.3.1

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #3 on: September 15, 2011, 02:44:13 pm »
Yes, it is cross-platform. Server can run on Win or Linux, so client too can be used on Win or Linux.

Quote
You will avoid the well known spreadsheet hell due to Palo’s central data storage logic..

Palo Client Addin for Excel, Addin for OpenOffice and Java Client are available.

C, .Net or Java library can be used to write own client.
I use C library with Free Pascal/Lazarus and KGrid 1.7.

Quote
Palo

Palo is a memory resident multidimensional (OLAP or MOLAP) database server and typically used as a Business Intelligence tool for Controlling and Budgeting purposes with Spreadsheet software acting as the user interface. Beyond the multidimensional data concept, Palo enables multiple users to share one centralised data storage ("Single version of the truth").

This type of database is suitable to handle complex data models for business management and statistics. Apart from multidimensional queries, data can also be written back and consolidated real-time. In order to give rapid access to all data, Palo stores them in the memory during run time. The server is available as Open Source and Closed Source.

http://www.jedox.com/en/home/overview.html

xinyiman

  • Hero Member
  • *****
  • Posts: 2256
    • Lazarus and Free Pascal italian community
Re: Palo c Library Bindings for Pascal
« Reply #4 on: September 15, 2011, 03:22:57 pm »
So just download and install pole as a server, then download and install the library that you suggested above and in theory we should be able to use OLAP cubes within applications lazarus? it?
Win10, Ubuntu and Mac
Lazarus: 2.1.0
FPC: 3.3.1

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #5 on: September 15, 2011, 03:27:37 pm »
Exactly.

xinyiman

  • Hero Member
  • *****
  • Posts: 2256
    • Lazarus and Free Pascal italian community
Re: Palo c Library Bindings for Pascal
« Reply #6 on: September 15, 2011, 03:30:50 pm »
Beautifull. Is possible see a little example code?!  :)
Win10, Ubuntu and Mac
Lazarus: 2.1.0
FPC: 3.3.1

xinyiman

  • Hero Member
  • *****
  • Posts: 2256
    • Lazarus and Free Pascal italian community
Re: Palo c Library Bindings for Pascal
« Reply #7 on: September 15, 2011, 03:36:28 pm »
palo from where you download the server?
Win10, Ubuntu and Mac
Lazarus: 2.1.0
FPC: 3.3.1

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #8 on: September 15, 2011, 04:06:18 pm »
Sensitive data scrambled in example. See attachment.

Archive Palo 3.1 Community Edition download
http://www.jedox.com/en/downloads/archive/download.html

EDIT:

A better approach is to use Palo Web API in the similar way as Python Palo Interface
http://www.jedox.com/community/palo-forum/index.php?page=Thread&threadID=1420.

e.g.
Code: [Select]
function TPaloDimension.GetAttributeCubeName: string;
var
  CMD: string;
  Url: string;
  HTML: string;
begin
  if Length(AttrCubeID) <= 0 then
  begin
    GetAttributeCubeName := '';
    Exit;
  end;

  CMD := 'cube/info';
  HTML := '';

  Params.Values['database'] := Database.ID;
  Params.Values['cube'] := AttrCubeID;
  Params.Values['sid'] := Database.server.Sid;

  Url := Database.server.ServerRoot + CMD;
  HTML := Database.server.IdHTTP1.Post(Url, Params, Enc, Enc, Enc);
  strfns.ExplodeStr(HTML, ';', Res);

  GetAttributeCubeName := StripFirstNLastChar(Res.Strings[1]);

  Params.Clear;
  Res.Clear;
end;

function TPaloCube.GetValue(Coordinates: TStringList): string;
var
  CMD: string;
  Url: string;
  HTML: string;

  i, j: integer;
begin
  CMD := 'cell/value';
  HTML := '';

  Params.Values['database'] := Database.ID;
  Params.Values['cube'] := ID;
  Params.Values['path'] := JoinStr(GetElementsID(Coordinates), ',', False);
  Params.Values['sid'] := Database.server.Sid;

  Url := Database.server.ServerRoot + CMD;
  HTML := Database.server.IdHTTP1.Post(Url, Params, Enc, Enc, Enc);
  strfns.ExplodeStr(HTML, ';', Res);

  // check for ';' in Value field of cell/value result
  if Res.Count > 4 then
  begin
    i := Res.Count - 4;
    for j := 0 to i - 1 do
    begin
      Res.Strings[2] := Res.Strings[2] + ';' + Res.Strings[j + 3];
    end;
  end;

  // if it is string
  if (Length(Res.Strings[2]) > 2) and (Res.Strings[2][1] = '"') then
  begin
    Res.Strings[2] := StripFirstNLastChar(Res.Strings[2]);
    Res.Strings[2] := StringReplace(Res.Strings[2], '""', '"', [rfReplaceAll]);
  end;

  GetValue := Res.Strings[2];

  Params.Clear;
  Res.Clear;
end;

« Last Edit: December 14, 2012, 06:32:07 pm by HIGH-Zen »

php_Teufel

  • Newbie
  • Posts: 3
Re: Palo c Library Bindings for Pascal
« Reply #9 on: January 10, 2013, 12:11:02 pm »
Is this PALO SDK still available?

I'm very interested in this.

regards

Volker

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #10 on: April 27, 2013, 02:18:20 pm »
PM.

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #11 on: December 29, 2013, 05:50:10 am »
Update 2013/2014
Palo Web API was VERY slow so I soon reverted back to Palo C/Pascal API.
Now it works lightning fast.

Palo 3.1 Pascal SDK 2013
Palo 3.1 Pascal SDK 2013.7z
24.05.2011
Updated 29.12.2013

And take a look at these real-life Palo OLAP apps.
http://youtu.be/W10MT4hVmUI
« Last Edit: January 06, 2014, 12:25:15 pm by HIGH-Zen »

HIGH-Zen

  • New Member
  • *
  • Posts: 17
Re: Palo c Library Bindings for Pascal
« Reply #12 on: April 18, 2023, 09:06:25 am »
Update 18.04.2023!

You can get commercial Palo:
https://www.jedox.com/en/

Palo forum now is gone.  :(

Source available:
https://sourceforge.net/projects/palo/

If you need pascal bindings and/or Palo binaries write private message.

 

TinyPortal © 2005-2018