首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DaxStudio -用表变量实现数据沿袭

DaxStudio -用表变量实现数据沿袭
EN

Stack Overflow用户
提问于 2022-08-29 10:11:45
回答 1查看 24关注 0票数 1

我有两个问题:

在使用tbl_SALES[AMOUNT]运行下面的代码时,我会得到一个类似于"TREATAS函数期望完整的列引用“的错误;如何使用数据模型的表变量实现数据沿袭?

  • 是否有一种简单的方法将tbl_ITEMS_REFS的合并和添加到DaxStudio中?

守则:

代码语言:javascript
复制
EVALUATE

VAR tbl_SALES   =
    DATATABLE(
        "SALES_NBR" ,   INTEGER
    ,   "ITEM_CODE" ,   STRING
    ,   "AMOUNT"    ,   INTEGER
    ,   {
            {   1   ,   "X" ,   10  }
        ,   {   2   ,   "Y" ,   10  }
        ,   {   3   ,   "Z" ,   10  }
        ,   {   4   ,   "X" ,   20  }
        ,   {   5   ,   "Z" ,   20  }
        ,   {   6   ,   "Z" ,   10  }
        ,   {   7   ,   "Z" ,   20  }
        ,   {   8   ,   "X" ,   30  }
        ,   {   9   ,   "X" ,   30  }
        ,   {   10  ,   "Y" ,   30  }
        }
    )


VAR tbl_ITEMS_REFS =
    DATATABLE(
        "Origin"    ,   STRING
    ,   "Code"      ,   STRING
    ,   {
            {"  Department 1    "       ,   "X"}
        ,   {"  Department 1    "       ,   "Y"}
        ,   {"  Department 2    "       ,   "Z"}
        }
    )
    

VAR tbl_ITEMS_DATA_LINEAGE  =
        TREATAS (
            SELECTCOLUMNS ( tbl_ITEMS_REFS , [Code] )
        ,   SELECTCOLUMNS ( tbl_SALES , [ITEM_CODE] )
        )


RETURN
    ADDCOLUMNS (
        tbl_ITEMS_DATA_LINEAGE
    ,   "Total_Sales"
    ,       CALCULATE (
                SUM ( [AMOUNT] )
            )
    )

谢谢你的帮助。

附录

对于第二个问题,通过“添加到tbl_ITEMS_REFS",我想到了一种简单的方法来获得以下内容:

代码语言:javascript
复制
Department 1    X   90
Department 1    Y   40
Department 2    Z   60
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 10:25:05

TREATAS不能使用虚拟表。如果将tbl_SALES添加到实际数据模型中,因此它是一个真实的物理表,并将data连接到该模型,那么只要您更改以下内容,代码就能正常工作:

代码语言:javascript
复制
EVALUATE




VAR tbl_ITEMS_REFS =
    DATATABLE(
        "Origin"    ,   STRING
    ,   "Code"      ,   STRING
    ,   {
            {"  Department 1    "       ,   "X"}
        ,   {"  Department 1    "       ,   "Y"}
        ,   {"  Department 2    "       ,   "Z"}
        }
    )
    

VAR tbl_ITEMS_DATA_LINEAGE  =
        TREATAS (
            SELECTCOLUMNS ( tbl_ITEMS_REFS , [Code] )
        ,    tbl_SALES[ITEM_CODE] 
        )


RETURN
    ADDCOLUMNS (
        tbl_ITEMS_DATA_LINEAGE
    ,   "Total_Sales"
    ,       CALCULATE (
                SUM ( tbl_SALES[AMOUNT] )
            )
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73527240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档