148:cube cell write status element is consolidated error - cognos-tm1

While changing the data in TM 1 template ,I am getting below error.
148:cube cell write status element is consolidated error.
I have tried reloading the template again but it is not working.

It looks like you tried to write to a consolidated ("C") element. Depending on your acutal TM1 version (btw: which one are you using) automatic spreading while entering values on C-elements is not possibile.
Be sure you checked all dimension coordinates to only target N (or S) elements.
Hope this works.

Related

Adding a new Entry in a Struct holding a TArray as Member value doesn’t update it’s entries

I am currently working on a Character Customization System where a HUDLayout dynamically create Widgets based on a set of Skins available for the Character Selected. A Skin is represented as a Struct called MaterialInstanceContainer and holds a TArray. Player can mix and match their selection according to the Body Parts they select. In order to achieve the final result, I want to create a TMap<string, MaterialInstanceContainer> so that I can map each BodyParts available for selection with the individual material instance targeting the same BodyPart.
ISSUE: My issue is as follow, when I try to foreach over my collection of Material Instances inside my Container, I do a string comparison and if the output is valid, I can then break my struct to access the Material Instance Array and ADD to it however, at the very end of the process, the length of the array inside Material Container is still at zero.
How can I add a new entry in the array that my Material Container Struct hold?
Thanks!
enter image description here
The issue here is actually pretty straight forward: in Blueprints when you 'Find' a member of Map you are not getting it by-reference, instead you get the copy.
This is exactly what happens at the end of your nested loop: You get a copy, you add item to it, and when another iteration kicks-in the copy gets terminated.
And here on my side it returns exactly the same result as expected:
The fix for that would be easy:
After editing a Copy, you can overwrite the Map member by its copy (via 'Add' node).
But in your case it will be more tricky. You cannot just plug the same BreakStruct/Array node that you just used because it would call whole Find sequence again which creates another copy. Look
If you are confused. This code actually looks like this for Unreal's point of view.
So you have to store the the Struct in local variable first, then perform any operations on it and after everything is done - overwrite the Map member by its locally stored copy. And the result is
Map member gets overwritten every time and everything is as it should be.
Well, almost... For some reason your code is stored in Macro. I think you have to change it to a Function to be able to create local struct variable. But it shouldn't be a problem in this specific case because in your code there is no logic that needs to be done in macro.
Hope, it helps

Indirect and Concatenate #ref error on *open* workbook

I've been trying to find the answer to this, and the only results I'm getting are #ref errors on closed workbooks. I'm getting this error when the workbook I am referencing is open.
So here's what I'm doing - I'm trying to blend numbers daily from different banks from multiple worksheets with multiple tabs each. Since those worksheets have a date followed by a random ID number, we're going to just rename them to a set name (eg, "pmac") and dump each into a folder. Then, we'd open each one we want to blend, and I'll use "ISERROR" to turn any reference errors to blank so only the open workbooks are included in the blend (which I'll try to add as soon as I can get this indirect reference to work).
The team that would be using this is on a shared drive, so I decided to make some dynamic fields "RatesheetFolder" and "PennyMacFileName", so if we ever needed to move or rename stuff, we'd change it in one place instead of updating every formula.
So currently, my formula looks like this:
=INDIRECT(CONCATENATE("='"&RatesheetFolder&"["&PennyMacFileName&"]Conventional'!B"&ROW(B17)))
but it returns a #REF error. Everything I'm reading is saying that it's because the workbook is closed... but it isn't. It's open. If I copy and paste the value from the formula above into a cell, then THAT reference works... so the concatenation wasn't done incorrectly either, but for some reason it won't reference the open workbook.
I also tried doing the same thing, but on a local directory, in case the shared drive was an issue... same problem though. (for reference, here is the pasted value of the above formula)
='C:\Users\username\Documents\Reports\In Progress\[pmac.xlsx]Conventional'!B17
I also tried leaving out the folder path entirely, since I'd be dealing with open workbooks, and that also didn't work (copy/pasting values of the concatenated string still works, so again, it's not that it's written incorrectly). Also tried having both files in the same folder, no luck.
Any idea what's going on? Is it some kind of security thing that my company might be blocking the indirect reference or something? Maybe the way I'm using the row function?
I am using Office 2016.
Additional:
So, boiling things down to their absolute minimum....
=$B$2 returns the value in B2
=CONCATENATE("="&ADDRESS(2,2)) returns the text "=$B$2"
=INDIRECT("=$B$2") returns a #ref error
=INDIRECT("$B$2") returns the value in B2 (so only without the "=")
=INDIRECT(CONCATENATE("="&ADDRESS(2,2))) returns a ref error
=INDIRECT(CONCATENATE(ADDRESS(2,2))) returns the value in B2
Thinking it was the equals sign causing the trouble, I tried this:
=[pmac.xlsx]Conventional!B17 which returned the value from the other workbook
=INDIRECT([pmac.xlsx]Conventional!B17) still returns a ref error...
so I'm lost again.
I tried the last two things again, but with the full directory path (not just filename) and same thing - actually writing the direct reference out worked
='C:\Users\username\Documents\Reports\In Progress\[pmac.xlsx]Conventional'!B17
but the indirect reference didn't
=INDIRECT('C:\Users\username\Documents\Reports\In Progress\[pmac.xlsx]Conventional'!B17
Oddly - when I did the Indirect formula with the full path and hit enter it removed the full path and changed it back to just the filename (since the workbook was open):
=INDIRECT([pmac.xlsx]Conventional!B17)
but it still threw up a reference error. So it recognizes the workbook and that it's open... but it still gives an error trying to reference it. The indirect-concatenate does seem to work when I'm not referencing another workbook, so it does seem that's where the issue is... but I don't know why.
So I guess I found the answer after messing around with quotation marks and stuff in both the indirect formula and the concatenate formula.
To start, I realized that INDIRECT(B2) gave a ref error, while INDIRECT("B2") worked. So I went back through and tested a few things out making sure concatenate returned the exact right thing, and then surrounded that with an indirect formula.
So when I did =INDIRECT([pmac.xlsx]Conventional!B17) this didn't work because it wasn't a string. If I did =INDIRECT("[pmac.xlsx]Conventional!B17"), THEN it worked. Indirect requires it to be a string.
Looks like the problem was that Concatenate returned [pmac.xlsx]Conventional!B17 as text - but when I copy/pasted the VALUE that the concatenate formula returned, that then reverted the string back to a value, and stopped working inside the indirect formula.
What ended up working (and I swear I tried this already....) was:
=INDIRECT(CONCATENATE("'"&RatesheetFolder&"["&PennyMacFileName&"]Conventional'!B"&ROW($A17)))
I must have accidentally removed the single quote mark before RatesheetFolder when I removed the equal sign causing it to fail, and then every attempt after that was me trying to break it down into the individual parts, and unknowingly undoing the "string" property that concatenate applied whenever I pasted the result it into the indirect formula.
TL;DR of what I figured out
The Indirect formula requires it's contents to all be text/string
The results of Concatenate are returned as text/string, making additional quotation marks around those results redundant and cause an error
If you're referencing a cell directly, you need the equal sign
=B2, but if you're doing an indirect reference, you want to leave
the equals sign out of the indirect formula =INDIRECT("B2")
So putting that all together (in this example DynamicVar's value is simply the letter B) :
=INDIRECT("B2") works
=INDIRECT(B2) doesn't work
=CONCATENATE(DynamicVar & 2) returns B2 without quotations, but it's a string, so..
=INDIRECT(CONCATENATE(DynamicVar & 2)) works

macro for automatic refresh function on array

I am creating a dynamic reporting tool that creates reports from data sourced from Wonderware. The data that is sourced is gathered from various pumps/flows/temps around site for operators/management to use. I want to create a dynamic sheet rather than use the wizards available because of limited IT experience of some of the operators.
I have managed to create the report but have one issue that i cannot resolve that would help the sheet become more user friendly.
I have some array formulas that link to cells that have dropdowns. (This is what helps make it user friendly). The drop down cells include, which server to look at, which tagname to look for, the start time, the duration and the number of cells in the array.
When changing the number of cells in the array cell dropdown the array doesnt change until you select a cell in within the array and then select the Refresh Function command. This then changes the array.
I want to write a macro that will select several cells on the sheet that have individual arrays and select Refresh Function command. I will then assign this to a shape that can quickly and easily be selected.
Can anyone help with this macro please?
You just need to add the reference to ActiveFactoryWorkbook in visual basic editor, and then something like this:
Range("B11").Activate
ActiveFactoryWorkbook.wwRefreshFunction
Be sure that in the cell B11 you will have a part of the array the query generates. As you have to refresh more than one array just copy the code again and change the cell reference.
Sub Workbook_RefreshAll()
ActiveWorkbook.RefreshAll
End Sub

Error in google spreadsheet with arrays

In google spreadsheet I receive an error and it says, "Array result was not expanded because it would overwrite data in M261". I looked in M261 and it is a blank cell, but the weird thing is if I hit the delete button on the empty cell, then the error goes away. Sadly it keeps coming back. Is there a fix for this?
Here is my formula:
=ARRAYFORMULA(IF(E2:E>0,IF(D2:D=0,"Need Due Date",""),""))
I did not see "Array result was not expanded because it would overwrite data in M261" but at one point did see "...Add more rows".
One approach that should I think work is to restrict the output range of your formula. So for example if you wish it to apply to 100 rows, use:
=array_constrain(ARRAYFORMULA(IF(E2:E>0,IF(D2:D=0,"Need Due Date",""),"")),100,1)
However the problem you mention and the error message I saw are both because it is an array formula. There seems little need for it to be such and something like:
=if(and(D2=0,E2>0),"Need Due Date",)
is much faster, specially for a large number of rows, though unlike the array version does require copying down.

creating a character array with gff file

Could someone please help me with creating a "character array" with this sort of data:
ftp://ftp.ncbi.nih.gov/genomes/Bacteria/Escherichia_coli_ATCC_8739_uid58783/NC_010468.gff
Instruction from our collaborator:
One can copy and paste a gff file into a character array by typing gff={} and then copy and “paste excel data”
But I can somehow only save it as a cell array and hence the script downstream can't run properly.
additional info
I need to use the .gff file in a .m script (that I got from someone else) to parse my sequences.
Here's the part of my script that I think pertains to my question:
genelist=gff(:,3);
starts=gff(:,4);
ends=gff(:,5);
names=gff(:,9);
genelogical=strncmp('gene',genelist,4);
Therefore I want 9 columns with information like this:
1. seqID;
2. source;
3. type;
4&5. start and end;
6. score;
7. strand;
8. phase
9. attributes
Also when I saved the cell array as "cell", and tried to convert it into a character array by typing
char(cell)
I got this error message:
cell elements must be character arrays
So guess that doesn't work...
edit over
Anyone has any idea?
Thanks,
Joyce
The instructions you were given are referring to the following context menu item accessible from the "Variables" editor:
First, run at the command line gff={}; to make an empty cell array. Then double click the gff variable in the Workspace tab to get the above editor window. Click on the square regino to the top left of the table to select all cells, then right click to get the displayed menu, and paste the data. You should end up with the following if the paste worked correctly (it could actually take a couple of minutes - check CPU usage):
Then the commands you posted work. The strncmp says definitively that as cell array is needed.

Resources