go to post Peter Steiwer · Jan 23, 2020 Hi Eduard, Please note that the output is hardcoded, so your output for "Time for ElseIf #2" is actually for your If statement
go to post Peter Steiwer · Jan 21, 2020 Also, it looks like your calculated measure name is the same as your built in measure name. This means you should change to be something like the following:WITH MEMBER [Measures].[CondicionesContCompleta] ->WITH MEMBER [Measures].[CondicionesContCompletaCalc]
go to post Peter Steiwer · Jan 21, 2020 Hi Rodrigo, Instead of using IIF here, you can us ISNULL(). ISNULL takes in a measure as the first parameter and the second parameter is the value to use if the first is null. So it would look like this: ISNULL([Measures].[CondicionesContCompleta],0)
go to post Peter Steiwer · Jan 21, 2020 Yes, I agree that the article you reference is also helpful. I wrote this article as a guide for someone who is receiving the error message without knowing why this is caused. The other article is perhaps better for someone who knows what is wrong but does not know how to fix it.
go to post Peter Steiwer · Jan 12, 2020 Hi @Evgeny Shvarov AnalyzeThis.Utils.cls has a method called RefreshCube. At one point, this was briefly in then UI. We took out the UI reference since we weren't (and still aren't) sure how this should fit into AnalyzeThis. Historically the goal was to be able to quickly get a personalized preview of DeepSee. It was not intended to be an automatic cube generator. The goal was to let people see the benefit of DeepSee, but then allow them to create their own cube and no longer rely on the generated cube from AnalyzeThis. However, I do know of multiple cases where people are using it as you explain in this case and would like to refresh the data once a new CSV has been produced with updated data. Please let me know your thoughts on the Pros vs Cons of using the AnalyzeThis generated cube VS using your own cube once you have a model you like and would like to continue using.
go to post Peter Steiwer · Jan 6, 2020 It is worth noting that with Atelier, APIs were created to automatically store the classes on the file system. I believe these APIs are used by VSCode's ObjectScript integration also
go to post Peter Steiwer · Jan 3, 2020 Hi Mike, As you have seen, Class files are stored within Caché and not on the file system. We have Studio hooks available as documented here. These allow you to write code to perform the export and import automatically as you interact with your classes in Studio. After files have been automatically exported, you will be able to run Git commands to commit and push your changes as desired. Instead of doing all of this yourself, there does seem to be an Open Exchange app available that does something like this. I have not used this before, but @Alexander.Koblov may be able to add more details of how complete it is Peter
go to post Peter Steiwer · Jan 2, 2020 How can I browse files on the server? My ObjectScript explorer is empty when I open VSCode. I configured my settings properly and it says I am connected
go to post Peter Steiwer · Jan 1, 2020 You can just check $$$ISERR(sc) directly here, you do not need to run it through $system.Status.GetErrorText(sc) first. $$$ISERR(status) will compile into ('status). In the case where sc=1, status will become = "". This means that 'status will evaluate to true when sc=1, which means it will think there is an error when there is not. USER>set sc=1 USER>set status=$system.Status.GetErrorText(sc) USER>zw sc sc=1 USER>zw status status="" USER>w ('status) 1 USER>w ('sc) 0
go to post Peter Steiwer · Jan 1, 2020 Hi Vivek, Does something like this work: Set file=##class(%Stream.FileBinary).%New() Set sc=file.LinkToFile("D:/temp/test.png") w $system.Status.GetErrorText(sc) set contents=file.Read() set base64contents=$SYSTEM.Encryption.Base64Encode(contents)
go to post Peter Steiwer · Dec 31, 2019 Also, I am not sure what the rest of the code looks like, but it will also need to be saved: set sc=file.%Save()
go to post Peter Steiwer · Dec 31, 2019 Are you testing this through terminal or your web API? If you are testing through your web API you will need to log the status codes instead of writing them
go to post Peter Steiwer · Dec 31, 2019 Have you checked the error codes? Is the file being created? Set file=##class(%Stream.FileBinary).%New() Set sc=file.LinkToFile(path) w $system.Status.GetErrorText(sc) set sc=file.Write(decode) w $system.Status.GetErrorText(sc)
go to post Peter Steiwer · Dec 31, 2019 Hi Vivek, I would suggest using %Stream.FileBinary and then using the LinkToFile method: Set file=##class(%Stream.FileBinary).%New() Set sc=file.LinkToFile("c:\myfile.txt") Do file.Write(decode)
go to post Peter Steiwer · Dec 30, 2019 @Kejia Lin This appears to be a reward on Global Masters. You can also find a quick link at the light blue bar on the top of this page. Once you join Global Masters you can get points for interacting with the community and ultimately use these points to claim rewards, such as the one mentioned here.
go to post Peter Steiwer · Dec 30, 2019 Hi @Evgeny Shvarov In Step "2. Install Package Manager client", it says to run the following code: Do $System.OBJ.Load("/yourpath/zpm.xml") It also needs to be compiled and should probably be: Do $System.OBJ.Load("/yourpath/zpm.xml","ck")