cubewise-code / optimus-py Goto Github PK
View Code? Open in Web Editor NEWFind the best cube dimension order with TM1py
License: MIT License
Find the best cube dimension order with TM1py
License: MIT License
Hi when running optimus.py (on macOS) I get following error for the first cube reordered:
Traceback (most recent call last):
File "optimuspy.py", line 183, in
success = main(
File "optimuspy.py", line 150, in main
optimus_result.to_csv(view_name, RESULT_CSV.format(cube_name, view_name, TIME_STAMP))
File "/Users/tomasfelcman/Documents/Projects/TM1Py/optimus-py-master/results.py", line 91, in to_csv
os.makedirs(os.path.dirname(file_name), exist_ok=True)
File "/Applications/anaconda3/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
Is there any prerequisite or limitation of optimus.py to the OS?
Thank you,
Tomas
Hi
I am trying to test the TM1Optipyzer, but I am now getting this error. I am not sure how to troubleshoot this?
I am just using the UX_Samples to test.
Please help me.
The output format must be configurable. The user must be able to choose between CSV and XLSX.
Unfavorable dimension orders can cause the TM1 server to run out of memory or crash.
Currently, Optimus aborts in those cases.
Optimus must save the results, that is has gathered so far, into CSV and PNG before aborting the execution.
Hello, trying to run this with a small view but see this error:
2020-08-26 13:56:59,417 - optimuspy - INFO - Starting. Arguments retrieved from cmd: Namespace(cube_name='TestCube', executions='5', instance_name='tm1srv01', max_permutations='5', measure_dimension_only_numeric=1, mode='Best', view_names='view1')
2020-08-26 13:57:01,726 - optimuspy - ERROR - Fatal error
Traceback (most recent call last):
File "optimuspy.py", line 76, in main
permutation_results += original_order.execute()
File "C:\Cubewise\optimus-py-master\executors.py", line 90, in execute
return [self._evaluate_permutation(self.original_dimension_order, retrieve_ram=True)]
File "C:\Cubewise\optimus-py-master\executors.py", line 53, in _evaluate_permutation
ram_usage = self._retrieve_ram_usage()
File "C:\Cubewise\optimus-py-master\executors.py", line 68, in _retrieve_ram_usage
value = self.tm1.cubes.cells.execute_mdx_values(mdx=mdx)[0]
TypeError: 'generator' object is not subscriptable
Introduce a new execution mode that finds and activates the best dimension order (based on best
execution mode) for every cube in the instance.
Implement the SmartMode
Approach:
Hi Marius,
Great work on Optimus, I just tried it and it is working well.
I just tried it on a small cube and it took 5 min to run, I could see that after the 10th iteration, the Query time and Ram haven't changed much but Optimus still did 30 more iterations. It would be handy sometimes if you are short in time to have a parameter to enable a "fast" mode.
Something like python optimuspy.py -i=tm1srv01 -v=Optimus -e=15 -fast=true
If fast = true then Optimus will stop if the RAM Change < 1% and Query Time Change < 1% (or 5%)
Cheers,
Vincent
Hi Marius,
In the optimus result csv file, there is a column RAM change % that is very handy to see the impact on the RAM:
It would be convenient to have a new column for the query time, like Query Time Change %.
If you have this column/calculation, for ticket #9 , you could check if RAM Change % < 0.01 and Query Time Change % < 0.01 then stop Optimus!
Cheers,
Vincent
Hi,
Would it be possible not to skip cubes that have a dims with string elements? The expected behaviour is:
If the dim with strings is not the latest -> no string value is stored and thus any permutation can be run.
If the dim with strings is the latest, keep it latest (possible related ER) and run permutations of all the other dims.
Thank you
Unfortunately, to optimize for query speed, there is no silver bullet.
The query speed depends on the composition of the view.
Currently, Optimus is optimizing for one view only. It would be better if Optimus would take multiple views into account.
The new Query Time Compared To Orignal Order
would be a weighted average over multiple views.
Hi Marius,
It's great that optimus supports multi cubes. I can see that for the first cube Employee Reporting, Optimus did 30 iterations (ID 1-> 29) but then for the next cube General Ledger did also 30 iterations (ID 30 -> 58).
I think when doing iteration for a new cube the ID number should start back to 1, as you can see in the screenshot, it might be confusing as you would expect to find the first iteration as 1 in the chart for General Ledger but actually, it is 30.
If you have 5 or 10 cubes you want to optimize, the ID will quickly grow to 3 digits and it will be harder to read the chart.
Cheers,
Vincent
Set VMT to a high value before starting the analysis
Reset VMT to the original value when done.
I'm using the optimus-py in my system, and I have a cube with 6 dimension, when I use the optimus-py it tests 19 interations, but with 6 dimension we have a possible number of 6 factorial (720) interations, So Why it only tests 19, and how we know that the best is one of this 19 and not one of the other 701 the we do not have tested.
After a few "Evaluated order" messages, the script aborts with the following error message:
Fatal error
Traceback (most recent call last):
File "C:/Users/qlikadm/IdeaProjects/optimus-py/optimus-py-master/optimuspy.py", line 167, in main
optimus_result = OptimusResult(cube_name, permutation_results)
File "C:\Users\qlikadm\IdeaProjects\optimus-py\optimus-py-master\results.py", line 127, in init
self.best_result = self.determine_best_result()
File "C:\Users\qlikadm\IdeaProjects\optimus-py\optimus-py-master\results.py", line 227, in determine_best_result
process_speed_range = [result.median_process_time(result.process_name) for result in self.permutation_results]
File "C:\Users\qlikadm\IdeaProjects\optimus-py\optimus-py-master\results.py", line 227, in
process_speed_range = [result.median_process_time(result.process_name) for result in self.permutation_results]
File "C:\Users\qlikadm\IdeaProjects\optimus-py\optimus-py-master\results.py", line 73, in median_process_time
median = statistics.median(self.process_times_by_process[process_name])
TypeError: 'NoneType' object is not subscriptable
Hi,
I have done some testing of the optimus py and there have been strange results for on of the cubes:
1,Original Order,False,0.09010518,4195328,MetrikaPL,Perioda,Verze,Rok
2,Iterations,False,0.08690834,4195328,Verze,Perioda,Rok,MetrikaPL
3,Iterations,False,0.08564043,4195328,MetrikaPL,Verze,Rok,Perioda
4,Iterations,True,0.08697665,2098688,MetrikaPL,Perioda,Verze,Rok
5,Iterations,False,0.08890033,4195328,MetrikaPL,Perioda,Rok,Verze
6,Iterations,False,0.08666933,2098688,MetrikaPL,Perioda,Verze,Rok
7,Iterations,False,0.08690453,2098688,Perioda,MetrikaPL,Verze,Rok
8,Iterations,False,0.15419602,2098688,Verze,Perioda,MetrikaPL,Rok
It looks like the optimal order is the original order - which should be correct as I run optimus againts the same view for multiple times. But the weird thing is the measures between the lines 1 and 4 differ highly in RAM.
It that because of the low overall RAM (2 MB - I have changed the scale in code)?
Thank you for any ideas...
T.
There should be way to configure Optimus to leave certain positions in a dimension order of a cube untouched. E.g. dimension 1 must always be time.
OptimusPy reads from the }StatsByCube cube to report on memory usage as it evaluates each permutation.
Where a permutation is tested and completes in less than a minute, there is a risk that the statistics are incorrect as "LATEST" is only updated each minute. Any tests completed before "LATEST" is updated will show the same memory usage.
To mitigate this, the run time of each test should be calculated and a if it took less than a minute wait until at least a minute has passed before reading the statistics from "LATEST".
There is a TM1s.cfg parameter called StatisticalSamplingPeriodMS but this does not seem to be effective when setting to something like 5000 with the expectation that "LATEST" may be updated every 5 seconds rather than every 60.
Hi,
Would it be possible to enable password saving to the config.ini file? It is purely for safety reasons.
e.g. Add parameter to prompt for password...?
Thank you
Hi Marius,
Currently if Performance monitor is not on, OptimusPy will try to get the RAM 4 times before generating the python error below:
Failed to retrieve RAM consumption. Waiting 15s before retry
Failed to retrieve RAM consumption. Waiting 15s before retry
Failed to retrieve RAM consumption. Waiting 15s before retry
Failed to retrieve RAM consumption. Waiting 15s before retry
Fatal error
Traceback (most recent call last):
File "optimuspy.py", line 120, in main
permutation_results += original_order.execute(reset_counter=True)
File "C:\TM1py\optimus\executors.py", line 106, in execute
return [self._evaluate_permutation(
File "C:\TM1py\optimus\executors.py", line 69, in _evaluate_permutation
ram_usage = self._retrieve_ram_usage()
File "C:\TM1py\optimus\executors.py", line 92, in _retrieve_ram_usage
raise RuntimeError("Performance Monitor must be activated")
RuntimeError: Performance Monitor must be activated
Instead of waiting for 4*15sec and generating an error, it would be great if OptimusPy could check first if the parameter PerformanceMonitor = True:
If it is not True, OptimusPy should not even start and just ends with a message like. OptimusPy requires PerformanceMonitor = True, please update the tm1s.cfg file before running OptimysPy again*
Cheers,
Vincent
Hi,
Here is the report that shows the wrong row as the optimal solution. Meanwhile I can see the better iteration in the report file:
ID | Mode | Is Best | Mean Query Time | Query Ratio | Mean Process Time | Process Ratio | RAM | RAM in GB | Dimension1 | Dimension2 | Dimension3 | Dimension4 | Dimension5 | Dimension6 | Dimension7 | Dimension8 | Dimension9 | Dimension10 | Dimension11 | Dimension12 | Dimension13 | Dimension14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Original Order | FALSE | 1.498994 | 0 | 0 | 0 | 1233114112 | 1.14842701 | Currency | Region | CELegalEntity | CEGroupAccount | Account Yardi | CEDepartmentProject | CEBusinessUnit | CECostType | CERelatedParty | CEStatAccount | CEMeasures | Period | Year | Version |
2 | Iterations | FALSE | 3220.113 | 2147.183 | 0 | 0 | 1577046754 | 1.468739244 | CEMeasures | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
3 | Iterations | FALSE | 3953.821 | 2636.65 | 0 | 0 | 5393860225 | 5.023423792 | Version | CEMeasures | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Year |
4 | Iterations | FALSE | 255.9697 | 169.761 | 0 | 0 | 6148834318 | 5.726548208 | Version | Year | CEMeasures | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Period |
5 | Iterations | FALSE | 288.112 | 191.2036 | 0 | 0 | 4932487168 | 4.593736649 | Version | Year | Period | CEMeasures | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Currency |
6 | Iterations | FALSE | 193.5955 | 128.1503 | 0 | 0 | 5477746235 | 5.101548727 | Version | Year | Period | Currency | CEMeasures | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Region |
7 | Iterations | FALSE | 91.88144 | 60.29541 | 0 | 0 | 5335140018 | 4.968736337 | Version | Year | Period | Currency | Region | CEMeasures | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | CELegalEntity |
8 | Iterations | FALSE | 70.37135 | 45.94572 | 0 | 0 | 4689217738 | 4.367174337 | Version | Year | Period | Currency | Region | CELegalEntity | CEMeasures | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | CEBusinessUnit |
9 | Iterations | FALSE | 30.93562 | 19.63759 | 0 | 0 | 5544855043 | 5.164048675 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CEMeasures | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | CECostType |
10 | Iterations | FALSE | 24.79314 | 15.53986 | 0 | 0 | 4999595976 | 4.656236597 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEMeasures | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | CEDepartmentProject |
11 | Iterations | FALSE | 11.98843 | 6.997649 | 0 | 0 | 4563388722 | 4.249986934 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CEMeasures | CEStatAccount | CEGroupAccount | Account Yardi | CERelatedParty |
12 | Iterations | FALSE | 2.638944 | 0.760477 | 0 | 0 | 4840212557 | 4.50779922 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEMeasures | CEGroupAccount | Account Yardi | CEStatAccount |
13 | Iterations | FALSE | 2.472142 | 0.649201 | 0 | 0 | 4068461261 | 3.789049817 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEMeasures | Account Yardi | CEGroupAccount |
14 | Iterations | FALSE | 2.636186 | 0.758637 | 0 | 0 | 3800026028 | 3.539050024 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Account Yardi |
15 | Iterations | FALSE | 2.374834 | 0.584285 | 0 | 0 | 3732917220 | 3.476550076 | Version | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | CEMeasures |
16 | Iterations | FALSE | 1192.329 | 794.4195 | 0 | 0 | 1711264371 | 1.59373914 | Year | CEMeasures | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
17 | Iterations | FALSE | 675.5533 | 449.6712 | 0 | 0 | 1560269552 | 1.453114257 | Period | Year | CEMeasures | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
18 | Iterations | FALSE | 560.6443 | 373.0137 | 0 | 0 | 1178160819 | 1.097247768 | Currency | Year | Period | CEMeasures | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
19 | Iterations | FALSE | 141.3596 | 93.30299 | 0 | 0 | 1159055383 | 1.079454443 | Region | Year | Period | Currency | CEMeasures | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
20 | Iterations | FALSE | 72.4534 | 47.33469 | 0 | 0 | 1139949946 | 1.061661119 | CELegalEntity | Year | Period | Currency | Region | CEMeasures | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
21 | Iterations | FALSE | 43.43371 | 27.97524 | 0 | 0 | 1114476031 | 1.037936686 | CEBusinessUnit | Year | Period | Currency | Region | CELegalEntity | CEMeasures | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
22 | Iterations | FALSE | 31.45915 | 19.98685 | 0 | 0 | 1069896678 | 0.996418929 | CECostType | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CEMeasures | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
23 | Iterations | FALSE | 15.95616 | 9.644583 | 0 | 0 | 1057159721 | 0.984556713 | CEDepartmentProject | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEMeasures | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
24 | Iterations | FALSE | 14.155 | 8.443001 | 0 | 0 | 1133581467 | 1.055730011 | CERelatedParty | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CEMeasures | CEStatAccount | CEGroupAccount | Account Yardi | Version |
25 | Iterations | FALSE | 15.55773 | 9.378782 | 0 | 0 | 1069896678 | 0.996418929 | CEStatAccount | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEMeasures | CEGroupAccount | Account Yardi | Version |
26 | Iterations | FALSE | 8.82861 | 4.88969 | 0 | 0 | 999843410.6 | 0.931176739 | CEGroupAccount | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEMeasures | Account Yardi | Version |
27 | Iterations | FALSE | 2.829703 | 0.887735 | 0 | 0 | 917053185.1 | 0.854072333 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
28 | Iterations | FALSE | 2857.692 | 1905.406 | 0 | 0 | 1197266256 | 1.115041092 | CEMeasures | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Account Yardi | Version |
29 | Iterations | FALSE | 1071.164 | 713.5887 | 0 | 0 | 931742190.6 | 0.867752536 | Account Yardi | CEMeasures | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Year | Version |
30 | Iterations | FALSE | 97.9054 | 64.31408 | 0 | 0 | 1124850602 | 1.047598759 | Account Yardi | Year | CEMeasures | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Period | Version |
31 | Iterations | FALSE | 81.90021 | 53.63679 | 0 | 0 | 984847003.7 | 0.917210247 | Account Yardi | Year | Period | CEMeasures | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Currency | Version |
32 | Iterations | FALSE | 63.39202 | 41.28971 | 0 | 0 | 1076573499 | 1.002637203 | Account Yardi | Year | Period | Currency | CEMeasures | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | Region | Version |
33 | Iterations | FALSE | 20.17192 | 12.45697 | 0 | 0 | 970363872.9 | 0.90372178 | Account Yardi | Year | Period | Currency | Region | CEMeasures | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CELegalEntity | Version |
34 | Iterations | FALSE | 15.69058 | 9.467405 | 0 | 0 | 970363872.9 | 0.90372178 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEMeasures | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEBusinessUnit | Version |
35 | Iterations | FALSE | 7.373231 | 3.918786 | 0 | 0 | 926914480.4 | 0.86325638 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CEMeasures | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CECostType | Version |
36 | Iterations | FALSE | 6.860962 | 3.577045 | 0 | 0 | 830360274.8 | 0.773333269 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEMeasures | CERelatedParty | CEStatAccount | CEGroupAccount | CEDepartmentProject | Version |
37 | Iterations | FALSE | 4.534425 | 2.024979 | 0 | 0 | 728978358.9 | 0.678914002 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CEMeasures | CEStatAccount | CEGroupAccount | CERelatedParty | Version |
38 | Iterations | FALSE | 2.828187 | 0.886723 | 0 | 0 | 786910882.3 | 0.732867869 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEMeasures | CEGroupAccount | CEStatAccount | Version |
39 | Iterations | FALSE | 2.822367 | 0.882841 | 0 | 0 | 743461489.8 | 0.692402469 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEMeasures | CEGroupAccount | Version |
40 | Iterations | FALSE | 2.886691 | 0.925752 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
41 | Iterations | FALSE | 2.715984 | 0.811871 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | Year | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
42 | Iterations | FALSE | 4.050731 | 1.7023 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | Period | Year | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
43 | Iterations | FALSE | 4.144146 | 1.764619 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | Currency | Period | Year | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
44 | Iterations | FALSE | 2.535424 | 0.691417 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | Region | Period | Currency | Year | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
45 | Iterations | FALSE | 1.033421 | -0.31059 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
46 | Iterations | FALSE | 1.658071 | 0.106122 | 0 | 0 | 680701256.1 | 0.633952446 | Account Yardi | CEBusinessUnit | Period | Currency | Region | CELegalEntity | Year | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
47 | Iterations | FALSE | 8.413411 | 4.612706 | 0 | 0 | 671045835.6 | 0.624960135 | Account Yardi | CECostType | Period | Currency | Region | CELegalEntity | CEBusinessUnit | Year | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
48 | Iterations | FALSE | 12.66806 | 7.451041 | 0 | 0 | 666218125.3 | 0.62046398 | Account Yardi | CEDepartmentProject | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | Year | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
49 | Iterations | FALSE | 20.98609 | 13.00012 | 0 | 0 | 656562704.7 | 0.611471669 | Account Yardi | CERelatedParty | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | Year | CEStatAccount | CEGroupAccount | CEMeasures | Version |
50 | Iterations | FALSE | 10.72231 | 6.153007 | 0 | 0 | 555180788.9 | 0.517052402 | Account Yardi | CEStatAccount | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Year | CEGroupAccount | CEMeasures | Version |
51 | Result | TRUE | 5.49528 | 2.665979 | 0 | 0 | 487592845 | 0.454106224 | Account Yardi | CEGroupAccount | Period | Currency | Region | CELegalEntity | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
52 | Iterations | FALSE | 1.753364 | 0.169694 | 0 | 0 | 492420555.3 | 0.458602379 | Account Yardi | CELegalEntity | Period | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
53 | Iterations | FALSE | 0.738751 | -0.50717 | 0 | 0 | 608285602 | 0.566510113 | Account Yardi | CELegalEntity | CEGroupAccount | Currency | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Period | CEMeasures | Version |
54 | Iterations | FALSE | 1.207218 | -0.19465 | 0 | 0 | 680701256.1 | 0.633952446 | Account Yardi | CELegalEntity | Period | CEGroupAccount | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Currency | CEMeasures | Version |
55 | Iterations | FALSE | 1.113444 | -0.25721 | 0 | 0 | 719322938.4 | 0.669921691 | Account Yardi | CELegalEntity | Period | Currency | CEGroupAccount | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Region | CEMeasures | Version |
56 | Iterations | FALSE | 1.652393 | 0.102335 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEGroupAccount | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEBusinessUnit | CEMeasures | Version |
57 | Iterations | FALSE | 1.078679 | -0.2804 | 0 | 0 | 690356676.7 | 0.642944758 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CEGroupAccount | CEDepartmentProject | CERelatedParty | CEStatAccount | CECostType | CEMeasures | Version |
58 | Iterations | FALSE | 1.005241 | -0.32939 | 0 | 0 | 656562704.7 | 0.611471669 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CECostType | CEGroupAccount | CERelatedParty | CEStatAccount | CEDepartmentProject | CEMeasures | Version |
59 | Iterations | FALSE | 0.880587 | -0.41255 | 0 | 0 | 617941022.5 | 0.575502424 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CEGroupAccount | CEStatAccount | CERelatedParty | CEMeasures | Version |
60 | Iterations | FALSE | 0.998623 | -0.3338 | 0 | 0 | 690356676.7 | 0.642944758 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEGroupAccount | CEStatAccount | CEMeasures | Version |
61 | Iterations | FALSE | 1.032358 | -0.3113 | 0 | 0 | 695184387 | 0.647440913 | Account Yardi | CELegalEntity | Period | Currency | Region | Year | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | CEGroupAccount | CEMeasures | Version |
62 | Iterations | FALSE | 1.705081 | 0.137483 | 0 | 0 | 492420555.3 | 0.458602379 | Account Yardi | CELegalEntity | Period | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
63 | Iterations | FALSE | 1.604216 | 0.070195 | 0 | 0 | 492420555.3 | 0.458602379 | Account Yardi | CELegalEntity | Currency | Period | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
64 | Iterations | FALSE | 1.603975 | 0.070034 | 0 | 0 | 487592845 | 0.454106224 | Account Yardi | CELegalEntity | Region | Currency | Period | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
65 | Iterations | FALSE | 1.450314 | -0.03247 | 0 | 0 | 482765134.7 | 0.449610068 | Account Yardi | CELegalEntity | CEBusinessUnit | Currency | Region | CEGroupAccount | Period | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
66 | Iterations | FALSE | 1.593652 | 0.063148 | 0 | 0 | 477937424.4 | 0.445113913 | Account Yardi | CELegalEntity | CECostType | Currency | Region | CEGroupAccount | CEBusinessUnit | Period | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
67 | Iterations | FALSE | 1.446314 | -0.03514 | 0 | 0 | 477937424.4 | 0.445113913 | Account Yardi | CELegalEntity | CEDepartmentProject | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | Period | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
68 | Iterations | FALSE | 1.789643 | 0.193896 | 0 | 0 | 477937424.4 | 0.445113913 | Account Yardi | CELegalEntity | CERelatedParty | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | Period | CEStatAccount | Year | CEMeasures | Version |
69 | Iterations | FALSE | 0.969522 | -0.35322 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
70 | Iterations | FALSE | 1.629875 | 0.087313 | 0 | 0 | 487592845 | 0.454106224 | Account Yardi | CELegalEntity | CEGroupAccount | Currency | Region | Period | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEStatAccount | Year | CEMeasures | Version |
71 | Iterations | FALSE | 0.980738 | -0.34574 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
72 | Iterations | FALSE | 1.711593 | 0.141828 | 0 | 0 | 482765134.7 | 0.449610068 | Account Yardi | CELegalEntity | CEStatAccount | Period | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Currency | Year | CEMeasures | Version |
73 | Iterations | FALSE | 1.58166 | 0.055148 | 0 | 0 | 492420555.3 | 0.458602379 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Period | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Region | Year | CEMeasures | Version |
74 | Iterations | FALSE | 3.855788 | 1.572251 | 0 | 0 | 482765134.7 | 0.449610068 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | Period | CECostType | CEDepartmentProject | CERelatedParty | CEBusinessUnit | Year | CEMeasures | Version |
75 | Iterations | FALSE | 1.324645 | -0.11631 | 0 | 0 | 473109714.1 | 0.440617757 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | Period | CEDepartmentProject | CERelatedParty | CECostType | Year | CEMeasures | Version |
76 | Iterations | FALSE | 1.306356 | -0.12851 | 0 | 0 | 468282003.9 | 0.436121601 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | Period | CERelatedParty | CEDepartmentProject | Year | CEMeasures | Version |
77 | Iterations | FALSE | 1.051874 | -0.29828 | 0 | 0 | 453798873 | 0.422633135 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | Period | CERelatedParty | Year | CEMeasures | Version |
78 | Iterations | FALSE | 1.753401 | 0.169719 | 0 | 0 | 487592845 | 0.454106224 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | Period | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | CEGroupAccount | Year | CEMeasures | Version |
79 | Iterations | FALSE | 1.144532 | -0.23647 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | Currency | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
80 | Iterations | FALSE | 0.983464 | -0.34392 | 0 | 0 | 444143452.5 | 0.413640824 | Account Yardi | CELegalEntity | CEStatAccount | Region | Currency | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
81 | Iterations | FALSE | 0.983457 | -0.34392 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | Currency | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
82 | Iterations | FALSE | 1.189918 | -0.20619 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CECostType | Region | CEGroupAccount | CEBusinessUnit | Currency | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
83 | Iterations | FALSE | 1.179821 | -0.21292 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEDepartmentProject | Region | CEGroupAccount | CEBusinessUnit | CECostType | Currency | CERelatedParty | Period | Year | CEMeasures | Version |
84 | Iterations | FALSE | 1.564018 | 0.043379 | 0 | 0 | 458626583.3 | 0.42712929 | Account Yardi | CELegalEntity | CEStatAccount | CERelatedParty | Region | CEGroupAccount | CEBusinessUnit | CECostType | CEDepartmentProject | Currency | Period | Year | CEMeasures | Version |
85 | Iterations | FALSE | 1.031682 | -0.31175 | 0 | 0 | 444143452.5 | 0.413640824 | Account Yardi | CELegalEntity | CEStatAccount | CEGroupAccount | Region | Currency | CEBusinessUnit | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
86 | Iterations | FALSE | 1.150001 | -0.23282 | 0 | 0 | 453798873 | 0.422633135 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | CERelatedParty | CECostType | CEDepartmentProject | Currency | Period | Year | CEMeasures | Version |
87 | Iterations | FALSE | 1.119727 | -0.25301 | 0 | 0 | 463454293.6 | 0.431625446 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CERelatedParty | CEGroupAccount | Currency | CECostType | CEDepartmentProject | Region | Period | Year | CEMeasures | Version |
88 | Iterations | FALSE | 1.084779 | -0.27633 | 0 | 0 | 453798873 | 0.422633135 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | Currency | CERelatedParty | CEDepartmentProject | CECostType | Period | Year | CEMeasures | Version |
89 | Iterations | FALSE | 1.063359 | -0.29062 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | Currency | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
90 | Iterations | FALSE | 1.053226 | -0.29738 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | Currency | CECostType | CEDepartmentProject | CERelatedParty | Period | Year | CEMeasures | Version |
91 | Iterations | FALSE | 1.128245 | -0.24733 | 0 | 0 | 458626583.3 | 0.42712929 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CERelatedParty | Currency | CECostType | CEDepartmentProject | CEGroupAccount | Period | Year | CEMeasures | Version |
92 | Iterations | FALSE | 1.007682 | -0.32776 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Currency | CEGroupAccount | Region | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
93 | Iterations | FALSE | 1.079408 | -0.27991 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | Region | CEGroupAccount | Currency | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
94 | Iterations | FALSE | 1.119714 | -0.25302 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CECostType | CEGroupAccount | Currency | Region | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
95 | Iterations | FALSE | 1.120627 | -0.25241 | 0 | 0 | 458626583.3 | 0.42712929 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CERelatedParty | CEGroupAccount | Currency | CECostType | Region | CEDepartmentProject | Period | Year | CEMeasures | Version |
96 | Iterations | FALSE | 0.977651 | -0.3478 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Region | Currency | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
97 | Iterations | FALSE | 1.043255 | -0.30403 | 0 | 0 | 453798873 | 0.422633135 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Region | CERelatedParty | CECostType | Currency | CEDepartmentProject | Period | Year | CEMeasures | Version |
98 | Iterations | FALSE | 1.115838 | -0.25561 | 0 | 0 | 458626583.3 | 0.42712929 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | CERelatedParty | Currency | CECostType | Region | CEDepartmentProject | Period | Year | CEMeasures | Version |
99 | Iterations | FALSE | 1.077947 | -0.28089 | 0 | 0 | 453798873 | 0.422633135 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Region | Currency | CERelatedParty | CECostType | CEDepartmentProject | Period | Year | CEMeasures | Version |
100 | Iterations | FALSE | 1.002818 | -0.33101 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Region | Currency | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
101 | Iterations | FALSE | 1.020745 | -0.31905 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Currency | Region | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
102 | Iterations | FALSE | 1.124706 | -0.24969 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | Region | Currency | CECostType | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
103 | Iterations | FALSE | 1.057986 | -0.2942 | 0 | 0 | 448971162.7 | 0.418136979 | Account Yardi | CELegalEntity | CEStatAccount | CEBusinessUnit | CEGroupAccount | CECostType | Currency | Region | CERelatedParty | CEDepartmentProject | Period | Year | CEMeasures | Version |
I installed TM1py and MatPlotLib, tested the Check.py script to ensure that I can connect to my environment. I also updated the CONFIG.ini file to match my environment and ran the code and received the following error code:
c:\Users\User\AppData\Local\Programs\Python\Python310\Scripts\optimus-py-master>python optimuspy.py -i="tm1" -v="Global_Balance Sheet Trend - ACT" -e="10" -f="False" -o="csv" -u=True
Starting. Arguments retrieved from cmd: Namespace(instance_name='tm1', view_name='Global_Balance Sheet Trend - ACT', executions='10', fast='False', output='csv', update='True', password=None, process_name=None)
Traceback (most recent call last):
File "c:\Users\User\AppData\Local\Programs\Python\Python310\Scripts\optimus-py-master\optimuspy.py", line 276, in <module>
success = main(
File "c:\Users\User\AppData\Local\Programs\Python\Python310\Scripts\optimus-py-master\optimuspy.py", line 134, in main
with TM1Service(**tm1_args) as tm1:
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\TM1py\Services\TM1Service.py", line 15, in __init__
self._tm1_rest = RestService(**kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\TM1py\Services\RestService.py", line 200, in __init__
self._start_session(
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\TM1py\Services\RestService.py", line 354, in _start_session
self.b64_decode_password(password) if decode_b64 else password,
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\TM1py\Services\RestService.py", line 442, in b64_decode_password
return b64decode(encrypted_password).decode("UTF-8")
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
I tested the code against other views and received the same issue. Is this related to a cloud implementation of TM1/PA?
Thank you in advance!
Hi, I have been playing around with optimus-py and I was getting an error in some intermittent case:
Traceback (most recent call last):
File "/_install_pathPython/optimus-py-master/optimuspy.py", line 300, in <module>
success = main(
File "/_install_pathPython/optimus-py-master/optimuspy.py", line 221, in main
optimus_result.to_png(
File "/_install_pathPython/optimus-py-master/results.py", line 187, in to_png
df = self.to_dataframe(view_name, process_name)
File "/_install_pathPython/optimus-py-master/results.py", line 146, in to_dataframe
rows.append(result.to_row(view_name, process_name, self.original_order_result))
File "/_install_pathPython/optimus-py-master/results.py", line 96, in to_row
original_median_query_time = float(original_order_result.median_query_time(view_name))
AttributeError: 'NoneType' object has no attribute 'median_query_time'
I traced it back to the case when optimal order is the original orded. IMHO it is due to replacement of permutation_result.mode:
results.py: line 140: permutation_result.mode = executors.ExecutionMode.RESULT
I think sufficient would be to add condition for result not being ORIGINAL_ORDER:
if permutation_result.permutation_id == self.best_result.permutation_id **and permutation_result.mode != executors.ExecutionMode.ORIGINAL_ORDER**: permutation_result.is_best = True permutation_result.mode = executors.ExecutionMode.RESULT
I will create Pull request for that...
Thanks,
Tomas
Just making a note for a new feature that I plan on implementing when I have a moment.
Cheers
Hello Marius,
I am trying to run the tool on a model on my own laptop. However, the connection to TM1 cannot be establised. Would you happen to have an idea what it could be ? See the picture please (if that works). It's the one in Notepad++, the one in Notepad is the example file. Login in my TM1 model is also admin-apple
For certain large views, the process seems to roll back:
2021-03-05 12:56:51,872 - optimuspy - INFO - Skipping cube 'group_le_planning' since view '____long_opening_view' does not exist
2021-03-05 12:56:52,047 - optimuspy - INFO - Starting analysis for cube 'group_planning'
2021-03-05 12:56:52,074 - optimuspy - INFO - Original dimension order for cube 'group_planning' is: '['scaling', 'group_view', 'group_layer', 'group_account', 'group_function', 'group_performance_segment', 'group_region', 'gs_gaap_code', 'group_scenario', 'projection_type', 'submission_version', 'currency', 'period', 'value']'
stuck here
I believe that the code that is retriggered is
self.tm1.cells.create_cellset_from_view(cube_name=self.cube_name, view_name=view_name, private=False)
Is there a time limit to this function?
There is no mention of xlsxwriter being utilized in the Readme, nor in the prerequisites.
It would be nice to have it mentioned as optional in case of Excel exports.
Thank you!
T.
Hello Marius,
I am currently trying to test optimus-py, however I get an error as soon as a cube is found that contains the view referenced in the command line call an error message occurs:
Skipping cube 'FCST Seasonality' since view 'z_Optimise' does not exist
Traceback (most recent call last):
File "optimuspy.py", line 184, in
success = main(
File "optimuspy.py", line 105, in main
original_vmm, original_vmt = retrieve_vmm_vmt(tm1, cube_name)
File "optimuspy.py", line 88, in retrieve_vmm_vmt
return tm1.cells.execute_mdx_values(mdx)
AttributeError: 'TM1Service' object has no attribute 'cells'
Hi Marius,
As you can see in the screenshot below, all logs in the command prompt are duplicated, for example:
Do you know why all outputs appear twice? For example:
Skipping cube 'Product' since view 'Optimus' does not exist
Skipping cube 'Product' since view 'Optimus' does not exist
Cheers,
Vincent
I gave OptimusPy a try today, but I run into errors at the end.
Any idea what could be wrong? Am I missing a package or something (I did check requirements.txt)?
Completed analysis for cube '011_PnL'
Updated dimension order for cube '011_PnL' to ['Function_PL', 'Cost_element', 'Data_source', 'Reporting_entity', 'Currency', 'Product_group', 'Period', 'Version_Master', 'PnL_measure']
Traceback (most recent call last):
File "C:/TM1py/tm1py-samples-master/optimus-py-master/optimuspy.py", line 253, in
output=cmd_args.output)
File "C:/TM1py/tm1py-samples-master/optimus-py-master/optimuspy.py", line 197, in main
RESULT_PATH / RESULT_PNG.format(cube_name, view_name, TIME_STAMP))
File "C:\TM1py\tm1py-samples-master\optimus-py-master\results.py", line 166, in to_png
plt.savefig(file_name, dpi=400)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 689, in savefig
res = fig.savefig(*args, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\figure.py", line 2094, in savefig
self.canvas.print_figure(fname, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 88, in print_figure
super().print_figure(*args, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backend_bases.py", line 2075, in print_figure
**kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py", line 521, in print_png
cbook.open_file_cm(filename_or_obj, "wb") as fh:
File "C:\ProgramData\Anaconda3\lib\contextlib.py", line 112, in enter
return next(self.gen)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\cbook_init_.py", line 407, in open_file_cm
fh, opened = to_filehandle(path_or_file, mode, True, encoding)
File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\cbook_init_.py", line 392, in to_filehandle
fh = open(fname, flag, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'results\011_PnL_Optimus_2020-12-02_19-09-39.png'
For medium/ bigger size cubes, no logging is done between
Starting analysis for cube '***'
Original dimension order for cube '***' is
and
Completed analysis for cube '***'
Updated dimension order for cube '***' to [
Once they are hooked up for analysis it would be nicer to have logs written for every update_storage_dimension_order
with the result.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.