Because I know for a fact that is possible to have multiple statements within a single query, but Monitor does not like it right know and I need to figure out why, because Cache errors are as uninformative as it gets, so I am forced to ask here.
It's a one-time task and I can't be bothered to create new tables and procedures for it.
Does anyone have an idea what could it mean? I've given the user everything I could imagine related to the issue (except %All of cource) but it still does not work.
We are using MDX2JSON extension (back in the day the company needed to quickly roll out some application and did that without much thinking about the future and now I'm stuck with the issue). I have enabled LDAP authentication for all of it's applications, but still get 'Uknown login and password pair. Please try again' error (note that CSP applications in the same namespace DO work with LDAP authentication). I tried to find the authentication logic in the extension's classes, but did not find anything related to it.
I am trying my luck on the forums in case someone else faced an issue like this before going nuclear and rewriting everything.
Sorry, Northwest indeed was meant to be 2, that was a typo. Count is simply the amount of sales. The code sample you provided is quite interesting, although I am not yet familier with some of the Cache SQL parts
Could you please elaborate more? I have created a cube based on 'Sales' persistent class. Then I created an hierarchy and added a Branch level based on Branch property. Then I compiled the class. After that I used Studio to manually add members to that level and built the cube. I removed the 'NON EMPTY' part of the MDX query. As a result, now it only show facts for branches that are specifically mentioned in 'Members' tag of the cube definition AND have a matching fact in the table.
Assuming a table like this (omitting the ID column and some others)
Branch
Date
Sum
Western branch
2021-03-15
35,000
Eastern branch
2020-12-11
37,000
Eastern branch
2021-01-29
12,000
Northern branch
2021-02-03
14,500
And I need to show the amount of sales in 2021 with the result like this:
Branch
Count
Northwest
1
Oriental
1
Southern
0
Where Northwest matches sales that happened either in a Northern or Western branches, Oriental matches sales that happened in Eastern branches, and Southern matches sales that happened in Southern branches.
The problem I was facing was aking to this: I have a table called 'Sales' with a column called 'Branch' which holds the data of where the sale occured. I need to show all sales that occured in a specific time period for all branches, even if a branch had zero sales. The catch is there is no separate table that holds Branches so there's nothing I can join with AND I need to modify the values of the column 'Branch' a bit (e.i. some branches should be considered as one, some branches should have their name changed, etc.).
So the best possible solution I could find was to use Table Value Constructor to create the list of needed branches in the query and join it with a partially filtered table to get those Branches with 0 sales.
Well, a Data Connector seemed like the most logical solution. Just put the query into the data connector class, but the documentation got the best of me and I failed.
Defining a new class seems like much more work, since I'd need to manually repopulate the table or set it as a task.
So far I am getting by by simply rendering the data within a CSP application and might not pursue the use of DeepSee anymore.
How safe is it to give random users access to %SYS? At this point I am thinking about abandoning the whole idea and just use some crutch to get user properties.
Does this method require some additional priviliges for the current user? I am getting a CSP error that does not get logged when I attempt to call a function like this with a test user with limited rights. When I call this function from my own account in terminal, it works.
I tried following your advice, but it still behaves... weirdly. Today I've opened and changed a CSP file that is in a physical folder. When I tried to access it through the CSP application, I've got an error saying no such page was found on the server. After that, I also compiled this same file, but in the virual folder (the one created for the application). And it loaded normally.
Since CSP does not actually write errors, is it possible to catch them somehow? I.E. there are custom error pages (for individual pages and whole applications) - would I be able to display the error on a page?
My concern here is how adding LDAP authentication will affect our daily routine, since we have no intention of moving employee authentication to LDAP. If I could explicitly set authentication method for various parts of our instance (management portal, monitor, apps, etc.) it would not be a problem, but apparently cascading authentication is the only option, hence I am worried.
go to post
Does 'GO' have to be on a new line? Because I tried to place it on the same line as the query and recieved an error
go to post
Because I know for a fact that is possible to have multiple statements within a single query, but Monitor does not like it right know and I need to figure out why, because Cache errors are as uninformative as it gets, so I am forced to ask here.
It's a one-time task and I can't be bothered to create new tables and procedures for it.
go to post
Then there would be 70 000 OR conditions.
go to post
Thank you. It would never occur to me that I need to grant the user WRITE permission to fetch data from DeepSee.
go to post
I managed to bypass authentication with a crutch, but cannot access the data and get the following error:
Does anyone have an idea what could it mean? I've given the user everything I could imagine related to the issue (except %All of cource) but it still does not work.
go to post
We are using MDX2JSON extension (back in the day the company needed to quickly roll out some application and did that without much thinking about the future and now I'm stuck with the issue). I have enabled LDAP authentication for all of it's applications, but still get 'Uknown login and password pair. Please try again' error (note that CSP applications in the same namespace DO work with LDAP authentication). I tried to find the authentication logic in the extension's classes, but did not find anything related to it.
I am trying my luck on the forums in case someone else faced an issue like this before going nuclear and rewriting everything.
go to post
Unfortunately it is not supported for Cache
go to post
Sorry, Northwest indeed was meant to be 2, that was a typo.
Count is simply the amount of sales.
The code sample you provided is quite interesting, although I am not yet familier with some of the Cache SQL parts
go to post
Could you please elaborate more?
I have created a cube based on 'Sales' persistent class. Then I created an hierarchy and added a Branch level based on Branch property. Then I compiled the class. After that I used Studio to manually add members to that level and built the cube. I removed the 'NON EMPTY' part of the MDX query.
As a result, now it only show facts for branches that are specifically mentioned in 'Members' tag of the cube definition AND have a matching fact in the table.
go to post
Assuming a table like this (omitting the ID column and some others)
And I need to show the amount of sales in 2021 with the result like this:
Where Northwest matches sales that happened either in a Northern or Western branches, Oriental matches sales that happened in Eastern branches, and Southern matches sales that happened in Southern branches.
go to post
Union seems to achieve what I want.
I am unsure what did you mean by using IN though.
The problem I was facing was aking to this:
I have a table called 'Sales' with a column called 'Branch' which holds the data of where the sale occured. I need to show all sales that occured in a specific time period for all branches, even if a branch had zero sales. The catch is there is no separate table that holds Branches so there's nothing I can join with AND I need to modify the values of the column 'Branch' a bit (e.i. some branches should be considered as one, some branches should have their name changed, etc.).
So the best possible solution I could find was to use Table Value Constructor to create the list of needed branches in the query and join it with a partially filtered table to get those Branches with 0 sales.
go to post
Well, a Data Connector seemed like the most logical solution. Just put the query into the data connector class, but the documentation got the best of me and I failed.
Defining a new class seems like much more work, since I'd need to manually repopulate the table or set it as a task.
So far I am getting by by simply rendering the data within a CSP application and might not pursue the use of DeepSee anymore.
go to post
But the method will be called from a CSP page, and accessing that page will be the application user.
I don't see a way to decouple the logic.
go to post
How safe is it to give random users access to %SYS? At this point I am thinking about abandoning the whole idea and just use some crutch to get user properties.
go to post
Does this method require some additional priviliges for the current user? I am getting a CSP error that does not get logged when I attempt to call a function like this with a test user with limited rights. When I call this function from my own account in terminal, it works.
go to post
I tried following your advice, but it still behaves... weirdly.
Today I've opened and changed a CSP file that is in a physical folder. When I tried to access it through the CSP application, I've got an error saying no such page was found on the server. After that, I also compiled this same file, but in the virual folder (the one created for the application). And it loaded normally.
go to post
Since CSP does not actually write errors, is it possible to catch them somehow?
I.E. there are custom error pages (for individual pages and whole applications) - would I be able to display the error on a page?
go to post
There are no subfolders, so it has nothing to do with recursion.
Disabling automatic compilation did not change anything.
go to post
Indeed, I can't find much about this, yet it works. Why would such thing exist then?
go to post
My concern here is how adding LDAP authentication will affect our daily routine, since we have no intention of moving employee authentication to LDAP.
If I could explicitly set authentication method for various parts of our instance (management portal, monitor, apps, etc.) it would not be a problem, but apparently cascading authentication is the only option, hence I am worried.