代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

如何在dbo.CUSTTRANS中获取行的位置?

  •  1
  • Randy Minder  · 技术社区  · 7 年前

    我正在为使用Dynamics AX(2012)的客户端构建一个小型AR数据集市。来自集市的数据将输入Power BI报告。我对AX几乎一无所知。

    dbo.CUSTTRANS表中有一列名为DEFAULTDIMENSION。客户告诉我,该值可用于使用以下查询检索事务行的位置描述:

    SELECT 
        T.DEFAULTDIMENSION
        ,T3.Name AS Location
    FROM dbo.CUSTTRANS T
        INNER JOIN dbo.DEFAULTDIMENSIONVIEW T2 ON T2.DEFAULTDIMENSION = T.DEFAULTDIMENSION
        INNER JOIN dbo.DIMATTRIBUTEOMBUSINESSUNIT T3 ON T3.RECID = T2.ENTITYINSTANCE
    WHERE T.DEFAULTDIMENSION = 5637168346
    

    但是,对于DEFAULTDIMENSION的某些值,如上面的值,返回多个具有不同描述的行。我的问题不对吗?还是他们的数据不好?顺便说一句,我会问客户,但知道这一点的人要到下周才能找到。

    1 回复  |  直到 7 年前
        1
  •  3
  •   FH-Inway    7 年前

    田野 DefaultDimension 在桌子上 CustTrans (以及其他)用于存储对一组财务维度及其值的引用(这是一个相当复杂的数据结构和逻辑,这就是为什么我不详细介绍,但 Implementing the Account and Financial Dimensions Framework (White paper)

    似乎您的客户将业务单元财务维度解释为“位置”,并希望您报告该财务维度的值。请注意,术语“位置”通常与Dynamics AX中的库存维度相关联,而不是与财务维度相关联。

    通过过滤 T.DEFAULTDIMENSION = 5637168346 ,您正在选择全部 共享完全相同的财务维度和值集的记录。

    加入 dbo.DimAttributeOMBusinessUnit

    对于 默认维度

    如果我先前的假设是正确的,即您的客户机只希望报告业务单元维度的值,那么您需要向查询中添加一个额外的过滤器。它会过滤 dbo.DefaultDimensionView.BackingEntityType 与表的表id对应的值 .