Mdx 问题出在哪里:函数要求2参数使用元组表达式。使用了元组集表达式。错误

Mdx 问题出在哪里:函数要求2参数使用元组表达式。使用了元组集表达式。错误,mdx,Mdx,我试图在报告的参数中设置两个值,如果我在参数@Hakemuksen tyyppi(未知+其他一些值)中设置值,它会给出错误- 报表处理过程中发生错误。(rsProcessingAborted) 数据集“表1”的查询执行失败。 (rsErrorExecutingCommand)函数需要一个元组表达式 第二个论点。使用了元组集表达式 仍在进行以下工作-我正在写它,看看这是否有助于发现问题: WITH MEMBER [Measures].KeskimaarainenKasittely

我试图在报告的参数中设置两个值,如果我在参数@Hakemuksen tyyppi(未知+其他一些值)中设置值,它会给出错误-

报表处理过程中发生错误。(rsProcessingAborted) 数据集“表1”的查询执行失败。 (rsErrorExecutingCommand)函数需要一个元组表达式 第二个论点。使用了元组集表达式


仍在进行以下工作-我正在写它,看看这是否有助于发现问题:

WITH
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
             [Aika].[Päivämäärä].CURRENTMEMBER
           , [Aika - Päätöksen tekohetki].[Päivämäärä]
          )
          ,IIF(
             [Measures].[Automaattisten prosessien m] = 1
           , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
           , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
              [Aika].[Päivämäärä].CURRENTMEMBER
            , [Aika - Päätöksen tekohetki].[Päivämäärä]
          ),
          IIF(
            [Measures].[Automaattisten prosessien m] = 0 
              OR ISNULL( [Measures].[Automaattisten prosessien m] )
          , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
          , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )

SELECT 
    {
       [Measures].[Automaattinen hakemuksen tarkistus m]
      ,[Measures].[Automaattinen hakemuksen tarkistus r]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma m]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma r]
      ,[Measures].[Automaattinen ansiotietopyynto m]
      ,[Measures].[Automaattinen ansiotietopyynto r]
      ,[Measures].[Automaattisten lähetteiden m]
      ,[Measures].[Lähetteiden m]
      ,[Measures].[Automaattinen laakarin kasittely m]
      ,[Measures].[Automaattinen laakarin kasittely r]
      ,[Measures].[Automaattisten eläkeratkaisujen m]
      ,[Measures].[Ratkaistujen hakemusten m]
      ,[Measures].[Automaattisten päätösten m]
      ,[Measures].[Päätösten m]
      ,[Measures].[Automaattisten maksatus m]
      ,[Measures].[Automaattisten maksatus r]
      ,[Measures].[Muu tehtava noussut m]
      ,[Measures].[Saapuneiden hakemusten m]
      ,[Measures].[Automaattisten prosessien m]
      ,[Measures].[Automaatioaste m]
      ,[Measures].[Hakemusten määrä]
      ,[Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille
      ,[Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille
    } ON COLUMNS,
    {
    EXISTS(
       [Hakemuslaji].[Hakemuslaji].[Alintaso].MEMBERS
     - {    //<<<< THINK I'LL USE EXCEPT HERE <<<<<<<<<<<<<<<<<<<<<<<<<<<<
         [Hakemuslaji].[Hakemuslaji].[Alintaso].[osa-aikaeläke], 
         [Hakemuslaji].[Hakemuslaji].[Alintaso].[varhennettu vanhuuseläke]
       }
      ,
       {
          [Hakemuslaji].[Hakemuslaji].[työkyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[kuntoutustuki],
          [Hakemuslaji].[Hakemuslaji].[osatyökyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[osakuntoutustuki]
        }
     ) 

   *{ STRTOMEMBER(@TarkastelujaksonAlku) : STRTOMEMBER(@TarkastelujaksonLoppu) } //<<< I'll use STRTOSET here <<<<<<<<<<<<<<<< 
  *
    {
      STRTOMEMBER(
        "[Aika].[Kuukausi].&[" 
        + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 5), 2) 
        + "]&[" + LEFT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 4) + "]" ) 
      :
      STRTOMEMBER(
        "[Aika].[Kuukausi].&[" 
       + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 5), 2) 
       + "]&[" 
       + LEFT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 4) + "]" )}

    } 
    ON ROWS
FROM [Hakemukset ja päätökset]   
WHERE (
    STRTOTUPLE(@KuukaudenLaskenta),
    STRTOTUPLE(@HakemuksenTyyppi),
    STRTOTUPLE(@ElakeratkaisunRatkaisu),
    STRTOTUPLE(@ElakepaatoksenTyyppi)
    );

仍在进行以下工作-我正在写它,看看这是否有助于发现问题:

WITH
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
             [Aika].[Päivämäärä].CURRENTMEMBER
           , [Aika - Päätöksen tekohetki].[Päivämäärä]
          )
          ,IIF(
             [Measures].[Automaattisten prosessien m] = 1
           , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
           , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
              [Aika].[Päivämäärä].CURRENTMEMBER
            , [Aika - Päätöksen tekohetki].[Päivämäärä]
          ),
          IIF(
            [Measures].[Automaattisten prosessien m] = 0 
              OR ISNULL( [Measures].[Automaattisten prosessien m] )
          , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
          , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )

SELECT 
    {
       [Measures].[Automaattinen hakemuksen tarkistus m]
      ,[Measures].[Automaattinen hakemuksen tarkistus r]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma m]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma r]
      ,[Measures].[Automaattinen ansiotietopyynto m]
      ,[Measures].[Automaattinen ansiotietopyynto r]
      ,[Measures].[Automaattisten lähetteiden m]
      ,[Measures].[Lähetteiden m]
      ,[Measures].[Automaattinen laakarin kasittely m]
      ,[Measures].[Automaattinen laakarin kasittely r]
      ,[Measures].[Automaattisten eläkeratkaisujen m]
      ,[Measures].[Ratkaistujen hakemusten m]
      ,[Measures].[Automaattisten päätösten m]
      ,[Measures].[Päätösten m]
      ,[Measures].[Automaattisten maksatus m]
      ,[Measures].[Automaattisten maksatus r]
      ,[Measures].[Muu tehtava noussut m]
      ,[Measures].[Saapuneiden hakemusten m]
      ,[Measures].[Automaattisten prosessien m]
      ,[Measures].[Automaatioaste m]
      ,[Measures].[Hakemusten määrä]
      ,[Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille
      ,[Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille
    } ON COLUMNS,
    {
    EXISTS(
       [Hakemuslaji].[Hakemuslaji].[Alintaso].MEMBERS
     - {    //<<<< THINK I'LL USE EXCEPT HERE <<<<<<<<<<<<<<<<<<<<<<<<<<<<
         [Hakemuslaji].[Hakemuslaji].[Alintaso].[osa-aikaeläke], 
         [Hakemuslaji].[Hakemuslaji].[Alintaso].[varhennettu vanhuuseläke]
       }
      ,
       {
          [Hakemuslaji].[Hakemuslaji].[työkyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[kuntoutustuki],
          [Hakemuslaji].[Hakemuslaji].[osatyökyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[osakuntoutustuki]
        }
     ) 

   *{ STRTOMEMBER(@TarkastelujaksonAlku) : STRTOMEMBER(@TarkastelujaksonLoppu) } //<<< I'll use STRTOSET here <<<<<<<<<<<<<<<< 
  *
    {
      STRTOMEMBER(
        "[Aika].[Kuukausi].&[" 
        + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 5), 2) 
        + "]&[" + LEFT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 4) + "]" ) 
      :
      STRTOMEMBER(
        "[Aika].[Kuukausi].&[" 
       + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 5), 2) 
       + "]&[" 
       + LEFT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 4) + "]" )}

    } 
    ON ROWS
FROM [Hakemukset ja päätökset]   
WHERE (
    STRTOTUPLE(@KuukaudenLaskenta),
    STRTOTUPLE(@HakemuksenTyyppi),
    STRTOTUPLE(@ElakeratkaisunRatkaisu),
    STRTOTUPLE(@ElakepaatoksenTyyppi)
    );
WITH
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
             [Aika].[Päivämäärä].CURRENTMEMBER
           , [Aika - Päätöksen tekohetki].[Päivämäärä]
          )
          ,IIF(
             [Measures].[Automaattisten prosessien m] = 1
           , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
           , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )
    MEMBER 
    [Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille AS 
    (
        SUM(
          LINKMEMBER(
              [Aika].[Päivämäärä].CURRENTMEMBER
            , [Aika - Päätöksen tekohetki].[Päivämäärä]
          ),
          IIF(
            [Measures].[Automaattisten prosessien m] = 0 
              OR ISNULL( [Measures].[Automaattisten prosessien m] )
          , [Measures].[Hakemusten Keskimääräinen Käsittelyaika]
          , 0  //<<<<< DO YOU DEFINITELY WANT 0?: NULL IS A LOT QUICKER IN MDX <<<<
          )
        )
    )

SELECT 
    {
       [Measures].[Automaattinen hakemuksen tarkistus m]
      ,[Measures].[Automaattinen hakemuksen tarkistus r]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma m]
      ,[Measures].[Automaattinen ennakkoilmoitussanoma r]
      ,[Measures].[Automaattinen ansiotietopyynto m]
      ,[Measures].[Automaattinen ansiotietopyynto r]
      ,[Measures].[Automaattisten lähetteiden m]
      ,[Measures].[Lähetteiden m]
      ,[Measures].[Automaattinen laakarin kasittely m]
      ,[Measures].[Automaattinen laakarin kasittely r]
      ,[Measures].[Automaattisten eläkeratkaisujen m]
      ,[Measures].[Ratkaistujen hakemusten m]
      ,[Measures].[Automaattisten päätösten m]
      ,[Measures].[Päätösten m]
      ,[Measures].[Automaattisten maksatus m]
      ,[Measures].[Automaattisten maksatus r]
      ,[Measures].[Muu tehtava noussut m]
      ,[Measures].[Saapuneiden hakemusten m]
      ,[Measures].[Automaattisten prosessien m]
      ,[Measures].[Automaatioaste m]
      ,[Measures].[Hakemusten määrä]
      ,[Measures].KeskimaarainenKasittelyaikaAutomatisoiduilleKokonaisprosesseille
      ,[Measures].KeskimaarainenKasittelyaikaManuaalisilleKokonaisprosesseille
    } ON COLUMNS,
    EXISTS(
       EXCEPT( //<<<< ALTERNATIVE MORE READABLE <<<<<<<<<<<<<<<<<<<<<<<<<<<<
         {[Hakemuslaji].[Hakemuslaji].[Alintaso].MEMBERS}
        ,{    
           [Hakemuslaji].[Hakemuslaji].[Alintaso].[osa-aikaeläke], 
           [Hakemuslaji].[Hakemuslaji].[Alintaso].[varhennettu vanhuuseläke]
         }
      ,{
          [Hakemuslaji].[Hakemuslaji].[työkyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[kuntoutustuki],
          [Hakemuslaji].[Hakemuslaji].[osatyökyvyttömyyseläke],
          [Hakemuslaji].[Hakemuslaji].[osakuntoutustuki]
        }
     ) 

   *{ STRTOSET( 
         @TarkastelujaksonAlku + ":" + @TarkastelujaksonLoppu
       , CONSTRAINED 
      ) } //<<< now using STRTOSET <<<<<<<<<<<<<<<< 
   *{
      STRTOSET(
        "[Aika].[Kuukausi].&[" 
        + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 5), 2) 
        + "]&[" + LEFT(STRTOMEMBER(@TarkastelujaksonAlku).Name, 4) + "]" ) 
        + ":"
        + "[Aika].[Kuukausi].&[" 
        + LEFT(RIGHT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 5), 2) 
        + "]&[" 
        + LEFT(STRTOMEMBER(@TarkastelujaksonLoppu).Name, 4) + "]" 
       ,CONSTRAINED
       ) //<<< now using STRTOSET  <<<<<<<<<<<<<<<< 
     }

    ON ROWS
FROM [Hakemukset ja päätökset]   
WHERE 
   STRTOSET(
    @KuukaudenLaskenta + "," +
    @HakemuksenTyyppi + "," +
    @ElakeratkaisunRatkaisu + "," +
    @ElakepaatoksenTyyppi
    );