Bonjour,
J'ai monté un schéma en réseau étoilé et j'arrive à l'interroger avec Mondrian. Tant que je met en dur la requête, tout se passe bien, mon report fonctionne.
SELECT
CROSSJOIN
(
{[activity].ALLMEMBERS},
{[Measures].[Quantity]}
)
ON COLUMNS,
{[period].ALLMEMBERS}
ON ROWS
FROM
cli_emit
WHERE
{[client].[client_123]}
Le problème est que j'aimerais utiliser "cli_name", qui est un paramètre saisi par l'utilisateur. Je récupère bien la valeur, mais je n'arrive pas à la transmettre à ma requête MDX.
Dans les forums, ils disent tous : facile, il suffit d'utiliser Param() ; mais cela n'est documenté nulle part. De plus, impossible de trouver un exemple ou tutorial.
J'ai essayé :
SELECT
CROSSJOIN
(
{[activity].ALLMEMBERS},
{[Measures].[Quantity]}
)
ON COLUMNS,
{[period].ALLMEMBERS}
ON ROWS
FROM
cli_emit
WHERE
{[client].[{PREPARE:cli_name}]}
Mais cela ne fonctionne pas.
Après avoir lu les forums, j'ai essayé d'utiliser les paramètres :
SELECT
CROSSJOIN
(
{[activity].ALLMEMBERS},
{[Measures].[Quantity]}
)
ON COLUMNS,
{[period].ALLMEMBERS}
ON ROWS
FROM
cli_emit
WHERE
{Parameter ("cli_name", [client], [client].[client_123])}
Mais alors, il utilise toujours la valeur par défaut.
Dans les documentation Pentaho, ils disent d'utiliser Param() au lieu d Parameter() ; mais quand j'essaie, Report Designer refuse de valider la requête MDX.
J'ai beau chercher, impossible de trouver un exemple de report pentaho utilisant une requête paramètrable !
Si quelqu'un sait où trouver des exemples, merci de me le communiquer.
Cordialement,
Van Hoang