Hi, Community!

You know, that when we build hierarchies in DeepSee dimension all the members of lower level should be the part of one member of the higher level.

If not you'll get some empty results in MDX queries with this hierarchy.

With Time dimensions the obvious valid hierarchy is Year->Month->Day, cause every Month consists of one Year and every day consists of one month.

2 3
0 420

Hi, Community!

We want to introduce tag Tips & tricks.

It's not a snippet sometimes, but some small piece of best practice and useful experience.

Please vote if you think it makes sense and we need this tag and we'll introduce it as the first level tag in taxonomy.

4 1
0 170
Article
· Jul 14, 2016 1m read
Caché Haiku

Alex Koblov posted today a #CachéHaiku:

Full command names

Make your code more readable

Than compact versions

My haiku:

Caché Globals

Shows you keys to the value

If you $order it

Your variant? ;)

8 19
1 1.1K
Announcement
· Jun 30, 2016
June 30th DC release

Hi, Community!

I'm pleased to announce the new Developer Community release today. Meet the changes!

New voting system

Now you can vote for the post or comment with like or dislike buttons to change the post/comment rating.

Previous ratings converted to the new rating with the following rule:

4,5 stars = +1

1,2,3 stars=0.

Improved email notifications

You should receive HTML notifications now on new posts and comments on DC.

Please share your feedback with the recent release.

4 4
0 221

Hi!

Here is the question in Russian Forum regarding roots extracting.

In Caché ObjectScript we use exponentiation operator (**) to raise an exponent to power. F.e. let's raise 3 to power of 3:

USER> write 3**3 

27

And we use the same operator to extract the root.

USER> write 27**(1/3) 

2.999999999999999963

And 2.999999999999999963 is not 3, obviously.

How to extract roots properly in Caché ObjectScript?

0 5
0 411
Article
· Jun 13, 2016 1m read
Debug: using locks for breakpoints

Hi, Community!

Want to share with you one debugging approach from the Russian forum.

Suppose I want to debug the application and I want it to stop the execution on a particular line.

I add in code this line:

l +d,-d

When I want to start debugging in this line I block d in terminal

USER> l +d

And execute the app.

The app stops on this line and lets me connect to it with Studio debugger.

0 8
1 661

Hi, Community!

If you prepare your longread for DC in Microsoft Word or Google Docs there is one very easy way how to add your formatted text and images in DC post at once.

To make it do the following:

1.Click Create Post on Developer Community.

2. Copy all the text in Word o GDocs to the buffer.

3. Click the button Paste from word (see the shot):

4. Paste the text to the opened window an press OK.

0 7
0 543

Hi!

I believe the simplest is (to work with csv delimited by ";"):


set file = ##class(%File).%New( "data.csv" )
    set sc = file.Open( "R" ) 
    if $$$ISERR(sc) quit    ; or do smth

    while 'file.AtEnd {
        set str=file.ReadLine() 
        for i=1:1:$length( str, ";" ) {
            set id=$piece( str, ";" ,i ) 
            write !, id  // or do smth
        }
    }
    do file.Close()

Possible options:

different variants of error handling with sc code.

Embrace while loop into try/catch block.

And what's yours?

3 16
0 7K

Hi!

Want to share with you code snippet of try catch block I usually use in methods which should return %Status.


{ 
 try {
  	$$$TOE(sc,StatusMethod())
 }
 catch e {
 	set sc=e.AsStatus()
 	do e.Log()
 }

Quit sc 
}

Here $$$TOE is a short form of $$$TROWONERROR macro.

Inside macro StatusMethod is any method you call which will return %Status value. This value will be placed into sc variable.

5 21
2 3.3K

Hi!

In every Atelier project you can find following hidden files:

.buildpath

.version

.connection

.project.

Should I include all of them into commit?

I understand that .project is mandatory. But what about the rest? Is there any general rule?

F.e. if we work in team and everybody has their own connection on locale machine .connection should not be included. Yes?

1 1
0 386