Hi Team,
maybe this is an easy one, but I can't find a solution or at least an answer, so I would be happy to get some hints.
A customer in Germany has a person doing lots of analysis and dashboards, nothing scripted though. Her language setting is English, because she is not a native German speaker. The consumers are management and technical colleagues, native German speaking and therefore with German as language setting in JMP.
When the consumers run the table script for the dashboard, they find some of the formatting "resetted". E.g. she is plotting bar charts with mean values, but has eliminated the word "mean" and the brackets in the legend. When the consumers run this plot, they will get the legend with "Mittelwert(name)" in the legend.
Is there a way to avoid this?
Impossible to tell what's happening without seeing the code. My first hunch would be that the table columns are being referenced in a way to cause this issue. If the column names are hard coded in the platform(s) used to build the dashboard, a solution would be to replace the hard coded reference with a variable. Depending on the circumstances, this may be a bit tricky and require Substitute and/or Eval.
Hi Don,
thanks for your reply. I added a picture to make more clear what I tried to explain. The goal is on the one hand side to understand why it happens, and on the other side to prevent it. But that being said, she aims for a solution without scripting...
So, thanks for any advice:)
Best
Florian
There was a previous discussion in the community on how to use the "Get Language Code" option in JSL as a way to manage this issue. Manage the display language with JSL (or freezing english language for distribution platform...)
I'm also interested in understanding if there are other methods we could use to avoid this issue.
Florian, this looks like a bug. Here is a test case using Big Class:
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ), Y( :height ) ),
Elements( Position( 1, 1 ), Bar( X, Y, Legend( 6 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Level Name( 0, "aaa", Item ID( "Mean(weight)", 1 ) )
), Legend Model(
7,
Level Name( 0, "bbb", Item ID( "Mean(height)", 1 ) )
)}
)
)
);
Note the Item ID() clauses that are hard-coded in English. As a workaround, the user can use System Service(Get Language Code) as Nick suggests like so.
aaa id = Match(System Service(Get Language Code),
"de", "Mittelwert(weight)",
"Mean(weight)"
);
bbb id = Match(System Service(Get Language Code),
"de", "Mittelwert(height)",
"Mean(height)"
);
...
{Legend Model(
6,
Level Name( 0, "aaa", Item ID( aaa id, 1 ) )
), Legend Model(
7,
Level Name( 0, "bbb", Item ID( bbb id, 1 ) )
)}
But this is not optimal as it requires the user to find the translations for each language they need to support. JMP needs to do this automatically.
Thanks, @hecht_jmp, for reporting this as Defect S1579495.
Thank you all for the contribution! @hecht_jmp this has solved it for now, but would be great if fixed of course - so thanks also putting it on the list!
Best regards,
Florian