import pandas as pd
# Sample DataFrame
data = {
'Region': ['East', 'East', 'West', 'West', 'East', 'West'],
'Product': ['A', 'B', 'A', 'B', 'A', 'A'],
'Quarter': ['Q1', 'Q1', 'Q1', 'Q1', 'Q2', 'Q2'],
'Sales': [200, 150, 180, 170, 210, 190]
}
df = pd.DataFrame(data)
# Roll-up (Region -> Total Sales)
rollup = df.groupby('Region')['Sales'].sum()
# Drill-down (Region -> Product)
drilldown = df.groupby(['Region', 'Product'])['Sales'].sum()
# Slice (filter by Quarter = Q1)
slice_df = df[df['Quarter'] == 'Q1']
# Dice (filter multiple conditions)
dice_df = df[(df['Region'] == 'East') & (df['Product'] == 'A')]
# Pivot
pivot_table = df.pivot_table(values='Sales', index='Region', columns='Product', aggfunc='sum')
aW1wb3J0IHBhbmRhcyBhcyBwZAoKIyBTYW1wbGUgRGF0YUZyYW1lCmRhdGEgPSB7CiAgICAnUmVnaW9uJzogWydFYXN0JywgJ0Vhc3QnLCAnV2VzdCcsICdXZXN0JywgJ0Vhc3QnLCAnV2VzdCddLAogICAgJ1Byb2R1Y3QnOiBbJ0EnLCAnQicsICdBJywgJ0InLCAnQScsICdBJ10sCiAgICAnUXVhcnRlcic6IFsnUTEnLCAnUTEnLCAnUTEnLCAnUTEnLCAnUTInLCAnUTInXSwKICAgICdTYWxlcyc6IFsyMDAsIDE1MCwgMTgwLCAxNzAsIDIxMCwgMTkwXQp9CmRmID0gcGQuRGF0YUZyYW1lKGRhdGEpCgojIFJvbGwtdXAgKFJlZ2lvbiAtPiBUb3RhbCBTYWxlcykKcm9sbHVwID0gZGYuZ3JvdXBieSgnUmVnaW9uJylbJ1NhbGVzJ10uc3VtKCkKCiMgRHJpbGwtZG93biAoUmVnaW9uIC0+IFByb2R1Y3QpCmRyaWxsZG93biA9IGRmLmdyb3VwYnkoWydSZWdpb24nLCAnUHJvZHVjdCddKVsnU2FsZXMnXS5zdW0oKQoKIyBTbGljZSAoZmlsdGVyIGJ5IFF1YXJ0ZXIgPSBRMSkKc2xpY2VfZGYgPSBkZltkZlsnUXVhcnRlciddID09ICdRMSddCgojIERpY2UgKGZpbHRlciBtdWx0aXBsZSBjb25kaXRpb25zKQpkaWNlX2RmID0gZGZbKGRmWydSZWdpb24nXSA9PSAnRWFzdCcpICYgKGRmWydQcm9kdWN0J10gPT0gJ0EnKV0KCiMgUGl2b3QKcGl2b3RfdGFibGUgPSBkZi5waXZvdF90YWJsZSh2YWx1ZXM9J1NhbGVzJywgaW5kZXg9J1JlZ2lvbicsIGNvbHVtbnM9J1Byb2R1Y3QnLCBhZ2dmdW5jPSdzdW0nKQ==