4

这似乎是一个简单的问题,但出于某种原因,我很烦恼。

我有一个包含 3 个数据源的表单 - InventTable, InventSum, InventDim.

因此,例如,我的网格显示;

项目、名称、站点、仓库、实物库存

我在InventDim表单 DataSource 上放置了一个显示方法,但我需要访问ItemIdfrominventTransInventSum. (显然是在寻找“当前”的 itemId)。

我只能访问作为标准inventDim传递的参数_inventDim

访问“当前” itemId 的最佳方式是什么?

4

1 回答 1

8

好的,我找到了答案,非常感谢 Joris de Gruyter 的引用;

http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html

关键是将显示方法放在InventSum数据源上。

然后您可以使用_inventSum.joinChild()来检索链接的inventDim,这是 Joris 的示例;

display Qty AvailPhysical(InventSum _inventSum)
{
    InventDim       joinDim, dimValues;
    InventDimParm   dimParm;
    InventSum       localSum;

    //THE IMPORTANT LINE...
    dimValues.data(_inventSum.joinChild());

    dimParm.initFromInventDim(dimValues);

    select sum(AvailPhysical) from localSum where localSum.ItemId == _inventSum.ItemId
        #InventDimExistsJoin(localSum.InventDimId, joinDim, dimValues, dimParm);

    return localSum.AvailPhysical;
}

我相信这将在未来帮助某人!

于 2012-07-12T14:40:14.080 回答