Sql server 以两行作为列标题的Unpivot表

Sql server 以两行作为列标题的Unpivot表,sql-server,ms-access-2010,excel-2010,powerquery,unpivot,Sql Server,Ms Access 2010,Excel 2010,Powerquery,Unpivot,我知道如何使用power query取消打印一个列标题为一行的Excel表。但最近我需要取消PIVOT,将2行作为列标题。例如,如果我们有: b1 b1 b2 b2 b2 c1 c2 c1 c2 c3 a1 1 4 7 3 4 a2 5 8 9 8 6 a3 3 6 9 6 2 a=行标题,b&c=列标题 我们想要这个: a1 b1 c1 1 a1 b1 c2 4 a1 b2 c1 7

我知道如何使用power query取消打印一个列标题为一行的Excel表。但最近我需要取消PIVOT,将2行作为列标题。例如,如果我们有:

    b1  b1  b2  b2  b2
    c1  c2  c1  c2  c3
a1   1   4   7   3   4
a2   5   8   9   8   6
a3   3   6   9   6   2
a=行标题,b&c=列标题

我们想要这个:

a1  b1  c1  1
a1  b1  c2  4
a1  b2  c1  7
a1  b2  c2  3
a1  b2  c3  4
a2  b1  c1  5
a2  b1  c2  8
a2  b2  c1  9
a2  b2  c2  8
a2  b2  c3  6
a3  b1  c1  3
etc.            

在Power Query中,您可以通过

  • 转换表并提升标题以获得:
  • 然后可以取消激活
    a
  • 根据需要重新排列、排序和重命名列

  • 到目前为止你试过什么?为什么不起作用?您希望在SQL、Access、Excel或Power Query中使用什么解决方案?删除其他标签,只需将解决方案保留在您想要的环境中即可。此外,请花时间以可消费格式(而不是图像)发布数据。表格格式的
    文本
    可能会很好地工作,如果您实际上正在寻找SQL Server解决方案,则DDL和DML语句可能会很好地工作。如果我只有一个列标题(b或c),则可以使用power query,并且很容易取消PIVOT。“我不介意从上述内容中选择任何技术。现在我们只需要知道您希望解决方案使用哪种语言。我不介意从上述内容中选择任何技术,尽管这些技术对我们没有帮助,@non”
    _   _1  a1  a2  a3
    b1  c1  1   5   3
    b1  c2  4   8   6
    b2  c1  7   9   9
    b2  c2  3   8   6
    b2  c3  4   6   2
    
        _1  Atr Value
    b1  c1  a1  1
    b1  c1  a2  5
    b1  c1  a3  3
    b1  c2  a1  4
    b1  c2  a2  8
    b1  c2  a3  6
    b2  c1  a1  7
    b2  c1  a2  9
    b2  c1  a3  9
    b2  c2  a1  3
    b2  c2  a2  8
    b2  c2  a3  6
    b2  c3  a1  4
    b2  c3  a2  6
    b2  c3  a3  2