AddColumns说我将一个数字与表进行比较

发布于 2025-01-24 06:53:58 字数 2956 浏览 2 评论 0原文

我对PowerApps有些陌生,我坚持使用addColumns函数和lookup函数来重现加入,如我在此链接上所见: syntax用于连接表。此联接将进入数据表。

我有两个SQL表,我正在尝试使用该方法加入

mt_salesattribedb_familymaterialgroupmaterials:([id],[pertialGroupId],[motitalId],[commentId],[compriond],[创建],[更新],[更新],[更新])

mt_salesattributedb_materials:([id],[材料名称],[描述],[shortdesc],[abbr],[取代],[hasnodrawing],[创建],[更新],[更新]

)完成是这样的:

SELECT
    *
FROM
    mT_SalesAttributeDB_FamilyMaterialGroupMaterials AS Grps
    INNER JOIN
    mT_SalesAttributeDB_Materials AS Mats ON Grps.MaterialID = Mats.ID
WHERE
    Grps.MaterialGroupID = tblMaterialGroups_Families.Selected.ID

我认为这就是应该的样子:

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        Text(tblMaterialGroups_Families.Selected.ID) = MaterialGroupID
    ), 
    "MaterialName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        ID = mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID], 
        MaterialName
    )
)        

但是,查找内的平等,id = mt_salesattributtedb_familymaterialgroupmaterials [@materialid]在平等的符号上给出一个错误 作为参考的一个数字

,我已经尝试过,并且正常使用的

Filter(
    mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
    Text(tblMaterialGroups_Families.Selected.ID) = MaterialGroupID
)

是我试图使用未完全发布的预览对象的问题?还是我是错误地加入他们的?

编辑

我也尝试过此操作,并且仍然有同样的错误,因为无法将数字与表进行比较

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialGroupID] = Text(tblMaterialGroups_Families.Selected.ID)
    ), 
    "SpecName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        mT_SalesAttributeDB_Materials[@ID] = mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID],
        mT_SalesAttributeDB_Materials[@MaterialName]
    )
)

注意:我还想提到我尝试了确切的同样的AddColumns带有一个列表框,以确保与预览中的数据表无关,而且我仍然会收到我无法将数字与表比较的错误

编辑2

i似乎越来越近。我可能会出现错误来停止,但是它填充“ specname”,但是,它只是从mt_salesattributedb_materials中获取了第一个材料名称,而不是做适当的查找,而是

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        MaterialGroupID = Text(tblMaterialGroups_Families.Selected.ID)
    ), 
    "MaterialName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        ID in mT_SalesAttributeDB_FamilyMaterialGroupMaterials.MaterialID,
        MaterialName
    )
)

将“ =”更改为“ in”,并且看来mt_salesattributedb_familymymymermaterialgroupmatialgroupmetialssss .materialidMT_SaleSattributedB_FamilyMaterialGroupMaterials [@materialId]

I'm somewhat new to PowerApps and I'm stuck at trying to reproduce a JOIN using the AddColumns function and a LookUp function as I saw on this link: Syntax for joining tables. This JOIN will go inside of a Data Table.

I have two SQL tables I'm trying to JOIN using that method

mT_SalesAttributeDB_FamilyMaterialGroupMaterials: ([ID], [MaterialGroupID], [MaterialID], [Comment], [Created], [Updated])

mT_SalesAttributeDB_Materials: ([ID], [MaterialName], [Description], [ShortDesc], [Abbr], [Superseded], [HasNoDrawing], [Created], [Updated])

What I'm wanting to accomplish is this:

SELECT
    *
FROM
    mT_SalesAttributeDB_FamilyMaterialGroupMaterials AS Grps
    INNER JOIN
    mT_SalesAttributeDB_Materials AS Mats ON Grps.MaterialID = Mats.ID
WHERE
    Grps.MaterialGroupID = tblMaterialGroups_Families.Selected.ID

I think this is what that should look like:

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        Text(tblMaterialGroups_Families.Selected.ID) = MaterialGroupID
    ), 
    "MaterialName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        ID = mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID], 
        MaterialName
    )
)        

However, the equality inside of the LookUp, ID = mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID] gives an error on the equal sign saying I can't compare a number to a table

As a reference, I've tried this and it works fine

Filter(
    mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
    Text(tblMaterialGroups_Families.Selected.ID) = MaterialGroupID
)

Is the problem that I'm trying to use a preview object that isn't fully released? Or am I joining them incorrectly?

EDIT

I've also tried this and still get the same error about not being able to compare a number to a Table

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialGroupID] = Text(tblMaterialGroups_Families.Selected.ID)
    ), 
    "SpecName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        mT_SalesAttributeDB_Materials[@ID] = mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID],
        mT_SalesAttributeDB_Materials[@MaterialName]
    )
)

NOTE: I also wanted to mention that I attempted the exact same AddColumns with a List Box to make sure it wasn't something to do with Data Tables being in preview, and I still get the error that I can't compare a Number to a Table

EDIT 2

I seem to be getting close. I can get the error to stop and it to populate "SpecName", however, it just grabs the first MaterialName from mT_SalesAttributeDB_Materials instead of doing a proper LookUp

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        MaterialGroupID = Text(tblMaterialGroups_Families.Selected.ID)
    ), 
    "MaterialName", 
    LookUp(
        mT_SalesAttributeDB_Materials, 
        ID in mT_SalesAttributeDB_FamilyMaterialGroupMaterials.MaterialID,
        MaterialName
    )
)

I changed the "=" to an "in" and it seems that mT_SalesAttributeDB_FamilyMaterialGroupMaterials.MaterialID is the same as mT_SalesAttributeDB_FamilyMaterialGroupMaterials[@MaterialID]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海的爱人是光 2025-01-31 06:53:58

好吧,所以我终于在Google的帮助下得到了它。我有几件事可能会使我的桌子有问题。

  1. _materials.materialid已更改为.materialname,因此我不会有两个具有相同名称的字段,而是不同的含义。我认为当PowerApps使用上下文时,这有帮助。
  2. _materials.ID被存储为INT,但由于某些原因,我决定将_familyMaterialGroupMaterials存储为VARCHAR。因此,我将其更改为int so MitalidId,并且ID在每个表中完全相同。 (我认为这有助于加入),

一旦我进行了更新,这是可以加入两个表的正确语法。您可以看到,一旦我努力工作,我什至在第二列中添加了我

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        MaterialGroupID = tblMaterialGroups_Families.Selected.ID
    ),
    "MaterialName",
    LookUp(
        mT_SalesAttributeDB_Materials,
        ID = MaterialID
    ).MaterialName,
    "ShortDesc",
    LookUp(
        mT_SalesAttributeDB_Materials,
        ID = MaterialID
    ).ShortDesc
)

的一整天,试图弄清楚这将对其他人有所帮助。

Okay, so I finally got it with some help from Google. I had a few things that were likely causing me problems with my tables.

  1. _Materials.MaterialID was changed to .MaterialName so I wouldn't have two fields with the same name but different meanings. I think that helped when PowerApps was using context.
  2. _Materials.ID is stored as an INT however, for some reason I decided to store _FamilyMaterialGroupMaterials as a VARCHAR. So I changed that to an INT so MaterialID and ID would be exactly the same thing in each table. (I assume this helps with the JOIN)

Once I had that updated, this is the correct syntax to JOIN two tables. You can see I even added in a second Column once I got it working

AddColumns(
    Filter(
        mT_SalesAttributeDB_FamilyMaterialGroupMaterials, 
        MaterialGroupID = tblMaterialGroups_Families.Selected.ID
    ),
    "MaterialName",
    LookUp(
        mT_SalesAttributeDB_Materials,
        ID = MaterialID
    ).MaterialName,
    "ShortDesc",
    LookUp(
        mT_SalesAttributeDB_Materials,
        ID = MaterialID
    ).ShortDesc
)

Hopefully my full day wasted trying to figure that out will help someone else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文