2015-10-07 1 views
1

J'ai deux tables dans deux bases de données différentes comme indiqué ci-dessous. Je souhaite implémenter ce scénario en utilisantImplémentation d'un cube Python OLAP avec stockage multiple

Cube Python OLAP pour obtenir la sortie mentionnée ci-dessous.

DB1 

Table name: Customer_details  

id name 

1 abc 

2 xyz 

DB 2 

Table Name : Bills 

id Customer_id amount 

1 1    500 

2 1    600 

3 2    300 

Output 

Name  Amount 

abc  1100 

xyz  300 

Ci-dessous est un code que je utilise pour le résoudre:

{ 
    "dimensions": [ 
     { 
      "name":"customer_details", 
      "levels":[ 
       { 
        "name":"customer", 
        "label":"Customer", 
        "attributes": ["id","name"]  
       } 

      ] 

     } 
    ], 
    "cubes": [ 
     { 
      "name": "bills", 
      "dimensions": ["customer_details"], 
      "measures": [ 
       {"name":"amount", "label":"Total"} 
      ], 
      "aggregates": [ 
        { 
         "name": "total", 
         "function": "sum", 
         "measure": "amount" 
        } 
       ], 
      "joins":[ 
       {"master":"bills.customer_id", "detail":"customer_details.id"}     
      ], 
      "mappings": { 
       "name": "customer_details.name"     
      } 
     } 
    ] 
} 




workspace = Workspace() 
workspace.register_store("store1", "sql", url="postgresql://...") 
workspace.register_store("store2", "sql", url="postgresql://...") 

workspace.import_model("model.json"), store="store1", namespace="default") 
workspace.import_model("model.json"), store="store2", namespace="default") 

browser = workspace.browser("bills") 
cubeData = browser.aggregate(drilldown=["customer_details"]) 

Je reçois l'erreur pas de tableau customer_details

Répondre

0

En fait, vous avez écrit là-bas que le nom de la table est

Table name: Customer_details 

Et pour les dimensions que vous avez écrites dans votre model.json

.."name":"customer_details", ... 

Grand et minuscules pourrait résoudre votre problème ..